読者です 読者をやめる 読者になる 読者になる

peroon's diary

game programmer

カメラに近い物体は半透明ではなくディザリングする

という方法もある。半透明描画で大変な描画順に悩まされず、物体の向こう側を透かして見ることができる。シェーダはこちら https://ocias.com/blog/unity-stipple-transparency-shader/

Blenderで多くのマテリアルで色を付けて、1枚のテクスチャにベイクして単一マテリアルでUnityに持っていく方法

Blenderでモデリング 複数のマテリアルで色をつける 右記の方法でテクスチャにベイクする https://www.youtube.com/watch?v=YHS0afjnCLE (自分でも操作して動画とってみた) https://www.youtube.com/watch?v=fsay7YO9NwE Unityに持って行く前にマテリアルを…

BlenderとUnityでメッシュ破壊表現

Blender 2.7.6 Mac Cell FractureアドオンをONにする http://mm-tech.co.jp/Blender/CellFracture.html オブジェクトモードでオブジェクトを選択し、ツールシェルフ(左側)に追加されたCell Fractureボタンを押す ノイズが0なので1などにして、OKで実行 第2…

UnityでExcelからScriptableObjectを作る "QuickSheet" を試してみた

http://kimsama.github.io/excel-howto/ 表データはある ScriptableObjectにしたい 管理はExcelでしたい 上に書いてあるようにやればできた シート名はクラス名になるので、デフォルトのSheet 1(スペースを含む)だと生成コードで文法エラーになる MacのPages…

早寝早起きしたらSTAP細胞ができた

21時頃寝たら、3時頃に起きた。UnityでSTAP細胞を作って、QuickTimeで撮影し、iMovieで切り取り、ffmpeg, imagemagickでアニメーションgif化した。最初に480x360のサイズでgif化したら1.7MBもあったので、240x180にすることで458KBにした。それを下に貼る。…

コンクリートをデジカメで撮ってテクスチャにした

家の近くのコンクリートを10枚以上撮影して、それぞれ正方形&グレースケール&512x512pxに整形したあと、Unityのマテリアルとして設定した。ファイルサイズはそれぞれ150KBほど。 正方形切り抜きはGIMP, グレースケール&512x512px化はimagemagickのmogrify…

サブミット後、Appleから早速メール来てた

Unityで作ったアプリ、Push NotificationのAPI入ってるけど 使う申請してないよねという内容 UnityアプリにはそのAPIが入るみたいだが 使ってないならそのままレビューが通るようだ Missing Push Notification Entitlement - Your app appears to include AP…

ゲーム「ワシのなつやすみ」をプレイした

クリアした。すごくよかった。 http://hyogonosuke.com/summer/index.html

NGUI UILabel text 変更

普段、私はUnityのスクリプトをjavascriptで記述しているが NGUIはC#アドオンなので NGUIのコンポネントの値を変更するときはC#で書く必要があるみたい。 (javascriptでGetComponentなどしてもだめだった) "You cant access UILabel from javascript since…

Detonator iOS compile error 出力時 コンパイルエラー

爆発AssetのDetonator. これを全てインポートした状態で Xcodeプロジェクトに出力すると その前にコンパイルエラーになる。 それまでのPC実行は動いていた。 →Test用のフォルダがProjectに入っていたので除去したら通った。 -- Remove Denotator test folder…

ローカル 回転 Quaternion

transform.rotationで指定した角度はワールド座標なので、 ローカルで回転させたい場合はtransform.localRotationを使いましょう。

バスを運転するゲーム

Miiがバス停に待っていて、 安全運転で運ぶゲーム。 ...「東京バス案内」というバスゲーがすでにあった。 また、現実再現系はモデリングが大変そう。 ということでパス。

Mii

地面とBodyを跳ね返り係数1にして落とせば 跳ねてるように見えると思ったけれど 誤差が重なるのかYがどんどん増えていく。 abs(sin())でスクリプト制御した方がいい。

WheelCollider

WheelColliderの動きを確認中。 WheelColliderの半径をタイヤに合わせる。 車体にrigidbodyを付けているので 急ハンドルを切ると物理でひっくり返る。

xcode 4.3 archive codesign error

unityからios向けにプロジェクトを出力して、実機デバッグはできているのに、 リリース用にarchiveするとverifyの時点でcodesign errorになる現象にはまった。 Build SettingsのCode SigningのRelease(画面の赤い部分)を 自動選択されたものから変更したらve…

iAd導入

iAdバナーが読み込まれた場合のみ、ボタンを上にずらす仕組みにした。#pragma strict function Start () { W = Screen.width; H = Screen.height; } function Update () { } //screenSize private var W:int; private var H:int; //iAd private var banner :…

ios出力にかかる時間

unityからプロジェクトに変換するのは数秒だが、 プロジェクトを上書きするので毎回登録とコンパイル処理をしている。 私のMBAでアプリ起動まで1分と5秒ほど。

unity3d icon アイコン ぼやける

ipad向けに出力するとアイコンがぼやけていた。 ダイヤログを見ると警告が出ている。 テクスチャがCompressedだと出ている。使っているのはpng。 unity上でテクスチャを選んでcompressedからtruecolorにするときれいになった。

以前作った射的ゲームを改良中

改良と整理なう。 早く完了させて、レースゲームに取り掛かりたい。

ハイスコアを保存する PlayerPrefs.Save()

var score:int; function Start(){ score = PlayerPrefs.GetInt("Player HighScore"); } function OnGUI () { if (GUI.Button (Rect (10,10,150,100), "high score : " + score)){ Application.LoadLevel("start"); } if (GUI.Button (Rect (210,10,150,100)…

UV展開

1番上のテクスチャをUnity上で半球に貼り付けても UVを指定していないのでまだら模様にならず、 ピンク1色になる。そこで 全選択→U→Smart UV ProjectでほどよくUV展開した後に 半球モデルをFBXで出力してUnityに持っていけばよい。

カニのハサミ

半球2つを昨日のスクリプトで角度を変更してアニメーション。

回転 スクリプト Sinで振動するVER

簡単なアニメーションはスクリプトで済ませてしまいたい!そのために XYZ軸それぞれを指定の範囲でSinの滑らかさで変化させるスクリプト。 Inspectorからパラメータを調整可能。 木の枝の揺れなどに使う予定です。var enableX:boolean = false; var enableY:…

回転 スクリプト コンスタントに回転し続けるVER

var rotSpeedX:float = 0; var rotSpeedY:float = 0; var rotSpeedZ:float = 0; function Update () { transform.Rotate( rotSpeedX, rotSpeedY, rotSpeedZ ); }

平行移動 スクリプト Sin

同様に平行移動バージョンも作成。 水面をY方向にSinで動かすことで潮の満ち引きを表現したりする。var Rx:float = 0; var Ry:float = 0; var Rz:float = 0; var speedX:float = 0; var speedY:float = 0; var speedZ:float = 0; var initPos:Vector3; funct…

椰子の木

葉の部分でテクスチャをリピート。 葉はPlaneで作って、両面表示。 実はSpecularで、てからせた。

川のあるコース

仮に作ったところで振り返り。 ■川 川のテクスチャは最初からあるものを使って、Bumped Diffuseマテリアルで設定。 テクスチャのオフセットをずらすことで水が流れているようにした。 例:renderer.material.SetTextureOffset ("_MainTex", Vector2(offset,0…

トンネル

最初は厚みのないパイプの法線を逆にして配置しようとしたら、 Unity上で見えないので配置しづらかった。 なので画像のように厚みを持たせて内側も外側も表示するようにして 配置しやすくした。

板のスキマが見える橋

blenderで台形を作ってunityでmesh colliderを付ける。これが橋の衝突面。レンダラはOFF. 見た目はplaneを3枚、台形の少し下に配置。上のような板テクスチャをリピートする。 blender, unityの両方ができると今回のように機能を組み合わせて問題解決できるこ…

Unity Road/Path Tool Tutorial

チュートリアル動画 http://www.youtube.com/watch?v=NAxo7g7sTgk 右クリックを押してからPを押す とポイントを置いていく。 道路を敷く以外に、 Terrainテクスチャをパスに沿って塗ることもできる。 (草むらの中の獣道を書きたいときなど) Terrainに貼り付…

jpgを貼り付けるだけの簡単モデリング

安いスクーターのモデルがある($2) と思って内容を見てみたら jpgテクスチャを貼り付けただけのものだった。 粗くモデリングして、 jpgのUVを合わせて作っているはず。 立体感は減るが、 ポリゴン数が抑えられるし、 素早く量産できそう。 背景物に向いてい…

car tutorial

asset storeのcar tutorialのシーンを起動して Terrainを非表示にした画像が2枚目。 道路はTerrainと分離していることがわかる。 また、トンネルの上部分にはTerrainに似せたモデルを かぶせている。どうやって作っているんだろう。

モデリングができれば表現が広がる

そのキラキラした目は、こわいです...

"ニコニコカート製作中 Part.5"を動画投稿しました

■投稿しました! http://www.nicovideo.jp/watch/sm16608055■画像加工 montage -geometry 100x100+5+5 -tile 3x2 -background "#999999" -bordercolor "#ffffff" -border 2 -quality 75 * output.pngいくつか制作中のスクリーンショットを撮っていたので ima…

アニメーテッドフレイム PNG 連番アニメ Free版でもOK

アニメーションしてます。 参考:http://www.unifycommunity.com/wiki/index.php?title=Animating_Tiled_texture またはこっち:http://www.unifycommunity.com/wiki/index.php?title=Animating_Tiled_texture_-_Extended Animated GIFを横長いPNGに変換する…

リピートヒューマン

なぜか色が変になりヒゲが生えた PNGだからかな。TGAなども試してみればよいかも

ビルディングとフェンス

フェンスはPlaneで表現。 透明PNG+透明シェーダ+両面描画。 両面描画は同じ位置に同じPlaneを逆向きに置くだけ。

チェッカーツリー

本当は、葉の部分は多くのCubeにして 上に行くに従って色あせる表現もしてみたい。 しかしそれをやるならば それはBlender+Pythonスクリプトで生成と調整をしたい。 それは大変なので保留。

テクスチャの動く看板

var scrollSpeed : float = -1.0; function Update () { slide(); } function slide(){ var offset : float = Time.time * scrollSpeed; renderer.material.SetTextureOffset ("_MainTex", Vector2(offset,0)); }Materialで、テクスチャのTilingの値を大きく…

オープニング画面

var aTexture : Texture; function OnGUI() { //background if(Event.current.type.Equals(EventType.Repaint)) Graphics.DrawTexture(Rect(0,0,Global.W, Global.H), aTexture); //button var w = 400; var h = 100; var centerX = Global.W/2; var centerY…

11/20 秋葉原UDXでunityセミナーに参加してきました

私の中級者レベルにちょうどよく、行って良かった。 結構年上多い 背景画像にどうぞ マビノギイベント マビノギイベント 3Dパネル 3Dパネル 買おうか悩んだ 一覧 これがアキバ フリマの日だったみたい ガンダムカフェ ちょい並ぶ AKB48カフェ ちょう並ぶ 秋…

fixed joint, hinge joint, dragrigidboty.js

各Jointを動かして生物のように動かしたいと思っています。 fixed jointだと始めの向きに戻ろうとする力が働くようなので 今回は曲がったままであるhinge jointの方が合っていました。 dragrigidbody.jsを付けるとマウスでドラッグできるゲームができます。

Unity3d 跳ね返り係数 Bounciness

衝突するお互いの跳ね返り係数を1にしておかないと、 回転する板がボールを弾き上げる という動作にならないね。 Projectパネル>Create>Physic Material で作ってBounciness=1とし、 お互いのオブジェクトにアタッチする。

参照を保存

var initPos:Transform; function Start(){ initPos = gameObject.transform; } //として位置を更新するとinitPosも更新される。 //この代入だと参照が入るようだ。 //Vector3()を呼んで新しいベクターを作ってあげれば不動のinitPosができる。

find, getcomponent, yourfunc -> ERROR "is not a member of 'UnityEngine.Component'. "

if you want to call other object script, 別のオブジェクトを検索して、そのオブジェクトの関数を呼びたいとき、 you should declare script name explicitly. 取り付けたスクリプト名を明示的に宣言しましょう.another object ... myGUI and attached scr…

unity android licenseを買って動かしてみた

ライセンス購入 help > シリアルナンバー入力 File > BuildSetting > android sdkパス登録 Edit > ProjectSetting > Bundle Identifierを自分用に設定 com.hoge.appnameとか BuildSetting > Build > 通ってapk出力される コマンドプロンプトからadb install …

最近の制作物はゲームと餃子

テクスチャ 上下反転

人を描いたテクスチャをそのままCubeに貼り付けると 自動貼り付けされるけれど、上下逆さまになる。 Tiling y -1にすればよい。

他のオブジェクトをtagで探して、そのobjに関数を呼ばせる

function searchPlayer_suicide(){ var obj = GameObject.FindWithTag("Player"); obj.GetComponent(suicide).suicide(); } //suicide.jsの中でsuicide()関数を定義しておく

disco light ディスコライト

ライトにcookieを付加 http://unity3d.com/support/documentation/Components/class-Light.html ディスコのライトに使えそう! 追記: Build SettingsのPlatformがAndroidなどの携帯端末だと ライト機能が弱くなり、ライトのCookieは使えない。 「なんでCooki…