レポート一覧
- ここが変わる!Unity 5のスマホ開発 ~アセットバンドル、ビルド、プラグイン~
- コロプラUnity 5プロジェクト ~白猫プロジェクトにおけるUnity 4からUnity 5への移行事例~
- Unity 5グラフィックス機能使いこなしガイド
- Rederer Massive Amount of Objects in Unity
- 協力・対戦ゲームを支えるPhotonの最新情報、Mecanimにネイティブ対応したPUNの実力協力・対戦ゲームの市場感
- ゲーム開発の始め方、育て方、終わらせ方~「Game Dev Heroes」における生産性チャレンジ~
なぜUnity5なのか
- iOS64bit対応
- 強制アップデートを極力行わない運用スタイルのため
- Unityのバージョンをあげるチャンス
- 次にアップデートが必要になった際にできるだけ新しいバージョンにしておくことが好ましい
Unityのバージョンについて
タイトル | バージョン |
---|---|
魔法使いと黒猫のウィズ | 4.1.5 |
軍勢RPG 蒼の三国志 | 4.1.5 |
スリングショットブレイブズ | 4.5.4 |
ほしの島のにゃんこ | 4.5.4 |
Unityバージョンをあげた経験
-
スリングショットブレイブズ
- 画面の回転周りがiOSのバージョンアップで変更に
- アセットバンドルを複数バージョン管理することに
-
複数バージョンのアセットバンドル管理
- 作成時間の倍増
- チェックコストの倍増
- 古いバージョンのUnityでAssetBundleを作成できるように保守する必要がある
- 4か月ほどユーザーの移行期間として複数バージョンでの更新を行っていた
Unity5移行について
- エラーをとる
- うまく動かないところを直す
- 新しいバージョンが出るのを待つ
エラーをとる
- 小文字でのアクセサがなくなっています
- GetComponent<>と記述する必要がある
- API Updaterがアップデートしてくれるが
ただしコンパイルエラーが発生すると途中で終わってしまう模様 - ひたすら「I Made a Backup. Go Ahead!」を選択していく必要がある
API Updaterにアップデートさせると
エディタで実行できるが端末で実行できないコードが生成されてしまう
↓
System.Typeを使うAddComponentへ変更すること
Interactive Cloth
- 白猫ではバナーに使用
- InteractiveClothはClothへ
- ClothRendererはSkinnedMeshRendererへ
Cloth
- 頂点を固定する方法が変更された
その他の修正
- TextureFormatがいくつかなくなった
- ATF_RGB_DXT1など
- AnimatorStateMachineのGetStateMahineが配列アクセスへ変更
- BB10Playerがなくなった
うまく動かないところを直す
タイトルのアニメーションが動かない
- ApplyRootMotion
- Unity5ではルートモーションの仕組みが変わりました
- 今までと同じ挙動にするにはApplyRootMonitionのチェックを外します
アウトラインが膨らんだ
- Scaleについての仕様変更
- 頂点を返すだけのシェーダ
- Scaleがvertexにかかっている
- Unity5.xの場合
- UNITY_MATRIX_MVP←こっちにScaleが入っている
- 修正後のShader
- float3 norm = COMPUTE_VIEW_NORMAL(v.normal);
- UnityCg.incの中にある組み込みマクロを使用しましょう
CubeMapが反映されない
- TexGenがなくなりました
- Unity5.x:VertexShaderでCubeapのUVを自分で計算する
クエスト選択の背景が黒くなる
- RenderTextureへ描画するカメラの破棄に関する処理が変わっている
- 参照を外してからカメラを削除する必要がある
キャラの顔が崩れる
-
厚みの無い板にモーションがついているキャラの表示が崩れました
-
しばらく放置するとiPhoneが再起動します
-
OpenGL ES 2.0のみにする
- 調査の結果OpenGL ES3.0, Metalでのみ発生
- 原因はわからないですがOpenGLES2.0のみにした
DynamicBatchingで落ちる
- iOSのIL2CPPのみでクラッシュします
- ランブルシティでも発生
- 原因がわからないのでとりあえずiOSのみDynamicBatchingをオフ
CharacterControllerの挙動が変わった
- オブジェクトの当たり判定を変換
- すべてのSphereColliderをCapsulColliderに変換しました
- SphereCastしてチェックする方法もありましたができるだけプレイヤーは修正しないようにしました
LightMapの動的切り替えができない
- LightMapを焼いたシーンでしかLightMapが反映されないため一つのシーン内で
動的にLightMapを差し替えることができない - 白猫では最初のカットシーンでしかライトマップを使っていないためライトマップを使わないようにしました
- 3Dツール上でライトマップをつけてしまいUnityの機能を使わない方向も検討中
新しいバージョンが出るのを待つ
αアニメーションが反映されない
- Animationdマテリアルのアルファを操作する際に値が反映されない
- バグリポート済み。修正を待っています。
IL2CPPでのバイナリサイズ
- 32bitと64bitのユニバーサルでのサイズが大きい
- iOSではストア上でのサイズが100MBを超えるとwifiでしかダウンロードできなくなる
Unity4.6.4でのサイズ削減
- 4.6.4でのパッチではすでにIL2CPPでビルドしたバイナリサイズ対策が2回入っている
現在のステータス
- 3つの問題が解決すればリリース
- カラーアニメーションのバグ
- IL2CPPのバイナリサイズ削減パッチ
- lightmapの方針