Unity様のブースで会社で出てる疑問に関して質問した所、
マンツーマンでたくさん回答いただいたのでメモ
(長時間本当にありがとうございました。)
■Unityのバージョンが異なるときにキャッシュサーバーを使用した場合どうなるか?
仕事で共有サーバーだけバージョン5.3.0f4、先行した開発は5.3.4f1だった時
キャッシュサーバーどうなるんだろうと思って聞いてみました
基本的には最後に起動したバージョンでインポートされる。
・・が根本的に使い方がダメ、すべてのバージョンを合わせてキャッシュサーバーを使用するべき
■アセットバンドル名を付けたアセットがアセットバンドル名をつけていないアセットを
依存関係に持っていた場合、出力したマニフェストファイル内の依存関係はどうなるか?
予想通り、アセットバンドル名をつけないものは依存関係には含まれない
■Androidのfpsが低い、どのように最適化したらいいか?
・重いマテリアルは使用しない(スタンダードシェーダーなど・・重いらしい)
・ポイントライトは使わない
(モバイルゲームにポイントライトは必要ない、ポイントライトは置いた数だけドローコールが走る)
・ポリゴン数減らす
・SpritePackerのサイズを小さく(2048*2048は使用しない)
・ライトのDeferredをやめる、Forwardを使用
・描画順を前方からにする(隠れた部分は描かれないので描画負荷が下がる)
・IL2CPPまだ使わない(Android用の最適化がされていないのでまだ使用しないほうがいい)
・CPU周りの最適化は1日目の「モバイル端末向けのUnityアプリケーションの最適化実践テクニック」のPDFをじっくり読んで実践する
(http://japan.unity3d.com/unite/unite2016/schedule)
具体的には、C#RuntimeでのForEachをやめる(これ全員に言われた)、
マテリアル・アニメーターの文字列指定呼び出しをやめてハッシュ値を事前定義して使用。
・GetPixels使ったらダメ
■Guidの作られ方
Unity内でSeed値をもっていて乱数で生成される、Pathから作られているわけではない。
■.exrのアセットバンドルはロード必要??
シーンのライトはこれで反映される
■アセットバンドルの依存関係を解決するには孫側からロードする必要ありますよね?
そのとおり、依存関係の末端からロードする必要がある。