Unity4のプロジェクトをUnity5に移行した時の変更点とかをつらつらと纏めてみる。
試してみたのは、
Unity4.6.3f0 → Unity5.0.0p1
へプロジェクトファイルごとの変更(バージョンが変わると別のも出てくるかも・・・)
Unity5への移行時に最初に出てくる、APIのアップデートとかは済の状態。
良くなったこと
あんまり困った困った言っても、
なんなので、最初にちょっと良かったことを。
(自分の弄った範囲以内の事なので、GIとかは割愛)
デフォルトでスカイボックスが設定されている
スカイボックスの設定は
Window>Lightingで開かれるウィンドウ内に移動してた。
ネイティブのコードとの連携がちょっと楽になった
Editor上でネイティブのコードを選択すると、インスペクタ上で、
・どのプラットフォームのプラグインか?
・使用するフレームワークは?
・コンパイル時のフラグは?
などなど
色々設定できるようになった。
(とりあえず、iOSで試していたが、いちいちフレームワークを追加しなくてもよくなったのが便利!)
※でも、ARCになったので、MRCのコードを使う時は、コンパイルフラグの設定が必要になったのね・・・
困った、困っている事
で、ここからが本題の困ったこと
FBXインポート時のScaleFactorが変わってる
今でFBXをインポートした時、ScaleFactorは0.01だったのが1になっている。
(今までのがおかしいと思ってたのが、元に戻ったともいう)
ただ、そこを変えられてしまっては、新しくモデルを追加する時に、スケールが合わなくなっている。
これは、頑張ってスケールを合わせていくしかないかな・・・
RigidbodyのsleepVelocityが無くなっている。(sleepAngularVelocityも同様)
これからは、sleepThresholdを使えって事らしい。
今までと使い勝手が変わって、thresholdは、エネルギー(?)で見るらしいよ。
http://docs.unity3d.com/ScriptReference/Physics-sleepVelocity.html
↑の影響なのか、ログを出すと動いて、ログを出さないと動かなかったり・・・
バグ???
コライダーのトリガー設定が、Is Triggerのチェックだけでは動かない
一緒に、Convexにもチェックを入れないと動かないみたい。
Shader名も変更された
Diffuseとか色々、Standerdってシェーダーに統一された?
シェーダーは、直接文字列で指定しなきゃいけなかったとこが多いからメンドクサイな・・・
AudioClipに3DSoundが無くなった
AudioSourceのSpatial Blendって項目にお引っ越ししたみたい。
TerrainColliderにIsTriggerが無くなってた
現在捜索中(無くなった???)
TerrainのSettingsにPhysocMaterialが居なくなってた
TerrainColliderの方にお引っ越し
AudioClipに3DSoundが無くなった
AudioSourceのSpatial Blendって項目にお引っ越ししたみたい。
Mecanimに「Entry」と「Exit」が追加されてる
最初のモーションと、終了時のモーションかな???
AssetBundleは作り直し
まぁ、これは3→4の時もあったし予想通りかな。
【AssetBundleで超重要そうな参考URL!】
http://docs.unity3d.com/500/Documentation/Manual/BuildingAssetBundles5x.html
AssetBundleの作り方(概要)
インスペクタの下の方に、「AssetBundle」って項目が増えていて、
そこを設定してから、BuildPipeline.BuildAssetBundlesを呼び出すことで、
AssetBundleが作られるみたい。
AssetBundleの読み方(概要)
今までと同じ感じで、
WWWクラスのLoadFromCacheOrDownloadとかを使って読み込めるみたい。
ただ、
AssetBundleManifestは、なぜか読み込めない・・・
どうやって読み込むんだ・・・???
普通に、ファイルとして読み込むのかな・・・???
パーサーを1から作るわけではないだろうに・・・
他にもあれば、随時追加していく予定・・・
(追加は少ないとうれしいな^^;