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 文字列で何ができるかわかりません。