ここでは、Unity の以前のバージョンからアップグレードするときに、既存のプロジェクトに影響を与える可能性のある Unity 2018.3 の変更点を列挙します。
flex-grow
、flex-shrink
、flex-basis
を示す最多で 3 つのパラメーターを受け入れるようになりました。flex-shrink と flex-basis パラメーターは必須ではありません。これらを指定しない場合は、flex-basis のデフォルトは 0 になり、flex-shrink のデフォルトは 1 になります。flex: N
は flex N 0 auto
と同等でした。これは現在 flex:N 1 0
と同等にすることで CSS 標準に準ずるにようになりました。古いセマンティックを維持するには、USS ファイル内のすべての flex: N
ディレクティブを flex: N 0 auto
に置き換える必要があります。物理的な動作が変更されたため、新しいバージョンでは一部のプロジェクトで動作が異なる場合があります。特に以下の点に注意してください。
プロジェクトを 2018.2 以前から 2018.3b に移行し、それに Unity の GitHub リポジトリから取得した NavMesh コンポーネントを使用する場合は、この ブランチ を使用する必要があります。
Unity 2018.3 にはパーティクルのバグ修正がいくつか含まれており、これは以前のバージョンで作成されたプロジェクトに影響を与える可能性があります。
2018.3 より前では、Unity エディターはプロジェクト内の C# ファイルをコンパイルするときに Mono C# コンパイラー (mcs) を使用していました。2018.3 以降、Roslyn C# コンパイラー (csc) が、新しいスクリプトランタイム (.NET 4.x Equivalent) を対象としたプロジェクトに使用されています。 Roslyn へ切り替えると、動作が異なる場合があります。
csc.rsp
という名前にします。詳細は プラットフォーム依存コンパイル を参照してください。UnityScript (.js) と Boo (.boo) スクリプトファイルは、エディタでーコンパイルできなくなりました。
詳細は、2017 年 8 月の ブログ を参照してください。Unityscript2csharp ツールを使用して UnityScript を C# に変換できます。
Animator のルートモーションの再生方法が少し変更され、Animation ウィンドウでルートモーションアニメーションを作成する際の不具合を修正しました。
ルートモーションカーブをアニメーションクリップ用に生成する必要がなくなりました。 ルートモーションのアプリケーションは、Animator.applyRootMotion のみに依存するようになりました。
ケース | ルートモーション生成 | Animator.applyRootMotion | 2018.2 | 2018.3 |
---|---|---|---|---|
A | はい | はい | ルートの Transform に累積的にルートモーションを適用します。 | 2018.2 と同様 |
B | いいえ | いいえ | アニメーションクリップで編集したように、位置、回転、スケールのカーブを適用します。 | 2018.2 と同様 |
C* | はい | いいえ | ルート Transform の移動はありません。 | アニメーションクリップで編集したように、位置、回転、スケールのカーブを適用します。 |
D* | いいえ | はい | ルート Transform の移動はありません。 | ルートの Transform に累積的にルートモーションを適用します。 |
ケース C と D の場合、2018.3 で同じ結果を得るには、OnAnimatorMove を実装します。次に、ルートモーションを適用しない場合は Animator.deltaPosition
と Animator.deltaRotation
を破棄してください。
プロジェクトで applyRootMotion
を使用してルート Transform の位置、回転、スケールアニメーションをミュートにする場合は、ルートの Transform プロパティを手動でオーバーライドする必要があります。