unity3d レベル1 -19ページ目

unity3d レベル1

unity3dでゲーム作りはじめました。
http://knr.ifdef.jp/
twitter: @knorsUni



このシリーズをもう一度。ってわけじゃなく、
何となく更新しただけだったり。
次に行く前に息抜き。
だから多分、これはこれでまた長い休息を。

で、次のゲーム企画考え中。
やりたい事が見えていても、それをどう形にするか、どうしたら面白くなるかって分からない。
だから今月から来月に掛けて小出しにしていくかもしれない。
あわよくば意見を貰いたいという魂胆w

Mesh.combineMeshes

とは何?

Unityはオブジェクトの数でDrawCallが増えてしまう。

厳密にはメッシュの数とマテリアルの種類とか?

そのメッシュを一つにまとめてくれるらしい。

他にやりたい事があって、ダメだと分かっていたけど何となく目に付いたから試してみた。


http://docs.unity3d.com/Documentation/ScriptReference/Mesh.CombineMeshes.html


これ丸コピペ。

恐らく、自分の階層下にあるメッシュを検索して、それらを一つにまとめてくれる。

だから、空のゲームオブジェクトを作って、それに上のスクリプトを適用。

その中に適当にオブジェクトをぶちこむと一つのメッシュにしてくれる。

インスペクターに出来るメッシュフィルターのメッシュがそれ。


http://answers.unity3d.com/questions/155754/combine-mesh-in-parent-on-instantiate-a-code-examp.html


var copy = Instantiate(cube,Vector3(0,0,i*2), Quaternion.identity);
copy.transform.parent = combine1.transform;

Instantiateで生成させたゲームオブジェクトを指定のゲームオブジェクトの下に作ってくれる。

これと併用するといい感じ?




でも、自分がやりたかったのはコレじゃない…。

例えばガンダム。

ガンダムをアニメーションさせたかったら、スキニングする必要ないんだよね。

パーツに沿ってボーンでも何でも良いから作っていって、それに各パーツをペアレント(親子)化すればいいんだから。

3Dのソフトだとその方が遥かに軽い。

ただしオブジェクト(メッシュ)の数が増える。→DrawCallが増える。

そして、上のやり方でメッシュをまとめると動かない。

上手く切り替えるってのも出来るのかな?

でも、常に動いてる状態だと意味がなさそう。

Pro版のDynamic Batchingってのが怪しいなあ。

無料版でも自動でバッチされたりするけど条件がよく分からないや



とりあえずMesh.combineMeshesは便利だ。


unity3d レベル1


コメントで

>次回があるならグリッドとキャラ配置辺りの説明があると助かります

説明とはちょっとずれるけど、

ゲームのグリッド表示をパーティクルで演出するとカッコイイかも って思った。

”グリッド表示”ってボタンをクリックすると「ブワッ」って出てくる感じで。

でも、まどマギシリーズはしばらく更新しない…。

ごめんなさい。