ラベル Shade の投稿を表示しています。 すべての投稿を表示
ラベル Shade の投稿を表示しています。 すべての投稿を表示

2012年12月8日土曜日

[Unity]Shadeからのexportしたときの設定


ShadeからexportしたFBX形式をUnity側で読み込んだときに座標系の設定が保持されていて、
移動・回転・拡大の制御が直感的ではなかったのでメモ。

◆Shadeでの設定

オブジェクトのルートのx軸の回転を「90」に設定する
↓
オブジェクトの中心点の座標を(0,0,0)に合わせる
(おそらくこれが一番重要)
↓

export時の設定で「座標系設定」→「上方向の軸設定」をy軸にする(デフォルトがz軸)
↓
FBX形式のファイルが完成

・Unity側の設定
FBX形式のファイルを読み込む


◆参考

http://iphone3gsapplication.blog129.fc2.com/blog-date-201105.html
http://d.hatena.ne.jp/kakk0u/20120310/1331372889

2012年12月2日日曜日

[Unity]DrawCallを減らす方法


◆DrawCallを減らす方法

Shadeからデータをインポートしてオブジェクトを表示しようと思ったら、DrawCall数がめちゃくちゃ多かった。
元々ゲーム用に作っていたデータではなかったのであたりまえだがポリゴン数がめちゃくちゃ多く、かつテクスチャーもオブジェクト一つ毎に使用されていた。
作り直すのはコストが掛かるので減らすために何か試作をと思い、簡単なオブジェクトをShadeで作成し、それをFBX形式でエクスポートしてUnityで使った。
それでも減らないので、Unity側で色々弄ってみた。
少し改善したのでメモしておく。

 1. FBXデータの中で同じようなオブジェクトがたくさん在る場合
一つだけ生成し、シーン内で複製を行うと描画実行時にDrawCall数が増えなかった。
Shadeでデータを作る時にLinkで複製しても、Unity内にデータをエクスポートした時には同じオブジェクトとして扱われなかった。
だから、同じようなオブジェクトが在る場合はUnity内で複製を行う必要が在る。
高度な複製を行えば、よりオブジェクトが少なくできる。

例:)本、球、などなど。

2.Shade側でのポイント
メッシュ化してオブジェクトを一つにする。
その際、UVの編集も忘れずに行う事。
こうする事で、一つのオブジェクトとして扱えるので、オブジェクトに掛かるDrawCall数は1回になる。

例:)Unity3D 3.5のサンプルとしてAssetStoreにある、『Penelope』などはキャラクターが一つのオブジェクトとして作成されているなどの細かいな作業が行われている。

◆外部サイト
http://hideapp.cocolog-nifty.com/blog/2012/06/drawcall-21d5.html
・マテリアルの数の分DrawCallが増えるのでマテリアルの種類は最低限にする
・極力オブジェクトをまとめる
・UI作成時には、UI毎にテクスチャを持たずに、1枚のテクスチャにまとめて
 1マテリアルにする。(NGUI等のアセットを使うと楽)

50のTips
http://warapuri.tumblr.com/post/28972633000/unity-50-tips