1

UnityEngine.ScriptableObject から継承する 2 つのクラスがあるとします。

-CutScene
-AnimationCollection

CutScene クラスはダイアログ ツリー、カメラ カットを保持し、公開の AnimationCollection フィールドを持ちます。Animation Collection は、特定のカット シーンで使用されるアニメーションの実際のアニメーション データを保持します。

私たちのパイプラインでは、CutScene インスタンスはエクスポート プロセスによって生成され、unity .asset ファイルとして保存されます。

アニメーターは Unity エディター ツールを使用してアニメーションを AnimationCollection に配置し、それを unity .asset ファイルとして保存します。次に、ユニティ エディターを使用して、アニメーターは AnimationCollection のアセット ファイルを、それを使用する CutScene の AnimationCollection フィールドにドラッグします。

CutScene が変更されてエクスポートされると、エクスポート コードはその CutScene の既存の .asset ファイルを新しいファイルで上書きします。アニメーターがセットアップした AnimationCollection への参照を保持したいと考えています。現在、これは次のようなコードで行われます。

cutScene.AnimationCollection = AssetDatabase.LoadAssetAtPath(pathToAnimCollection, typeof(AnimationCollection)) as AnimationCollection;

問題は、AnimationCollection の読み込みに時間がかかることです (一部の大きなカット シーンでは 12 秒)。AnimationCollection へのパスがわかっている場合、実際に AnimationCollection をメモリにロードしなくても、CutScene の AnimationCollection フィールドを設定できますか? 有望にAssetDatabase.AssetPathToGUID思えますが、GUID 文字列で何ができるかわかりません。

4

1 に答える 1