Я пытаюсь загрузить Prefab из одного AssetBundle и соответствующие ему AnimationClips из другого.Пока загрузка Prefab из AssetBundle и Instantiate прошла успешно.
AssetBundle assetBundle = AssetBundle.LoadFromFile(path);
if (assetBundle == null) {
return;
}
GameObject prefab = assetBundle.LoadAsset<GameObject>(name);
Instantiate(prefab, targetTransform.position, targetTransform.rotation);
assetBundle.Unload(false);
Загрузка AnimationClips (устаревшие анимации) и добавление его в вышеупомянутый экземпляр Gameobject также успешны.
AssetBundle assetBundle = AssetBundle.LoadFromFile(path);
if (assetBundle == null) {
return;
}
List<AnimationClip> animationClips = new List<AnimationClip>();
foreach (string name in names) {
AnimationClip animationClip = assetBundle.LoadAsset<AnimationClip>(name);
if (animationClip != null) {
animationClips.Add(animationClip);
}
}
assetBundle.Unload(false);
Когда япопробуйте воспроизвести анимацию, она не работает, и я не получаю никакой ошибки.
Animation animation = prefab.GetComponent<Animation>();
foreach (AnimationClip animationClip in animationClips) {
string clipName = animationClip.name;
animation.AddClip(animationClip, clipName);
}
foreach (AnimationClip animationClip in animationClips) {
string clipName = animationClip.name;
animation.PlayQueued(clipName, QueueMode.CompleteOthers);
}
Я что-то упустил или как это должно быть сделано?