Ich versuche, einen Animationsclip mit Asset-Bundles zu meinem Spiel zu laden, und dann benutze ich den Animator-Override-Controller, um meine alte Animation durch eine neue zu ersetzen.Einheitsbündel funktioniert nicht für mich?
Die Sache ist, ich habe das Asset-Bundle erstellt und in meinem Ordner-Verzeichnis veröffentlicht, aber egal was ich mache, wird es aus irgendeinem Grund nicht von meinem Code erkannt. Hier
ist das, was ich bisher:
var FilePath = "file://" + Application.streamingAssetsPath + "/Characters/Animations/" +folderName +"idle";
var req = AssetBundle.LoadFromFileAsync(FilePath);
yield return req;
AssetBundle animationAsset = req.assetBundle;
AnimationClip animation = animationAsset.LoadAsset<AnimationClip>("idle") as AnimationClip;
print(animationAsset);
Ob ich Animation Asset drucken oder drucken Animation variabel. Ich werde immer null. Mache ich hier etwas falsch? und ich habe mehrmals überprüft, ob es sich im richtigen Verzeichnis befindet.
Ich höre einige Leute sagen, dass Asset-Bundles sind exklusiv für die Einheit Pro, aber andere sagen, sie sind nicht.
Auch wenn jemand eine bessere Möglichkeit zum Laden von Animation Clips ohne Animation Bundle wie www Strom zum Beispiel kennt, fühlen Sie sich frei, es auch zu teilen, wenn es besser als Asset-Bundle-Methode ist.
Update: Hier ist mein neuestes Code basierend auf dem Feedback:
var FilePath = "file://" + Application.streamingAssetsPath + "/Characters/Animations/" +folderName +"idle";
var req = AssetBundle.LoadFromFileAsync(FilePath);
yield return req;
AssetBundle animationAsset = req.assetBundle;
print(animationAsset)
AnimationClip animation = animationAsset.LoadAsset<AnimationClip>("idle") as AnimationClip;
print(animation);
Wenn ich die animationAsset drucken, erhalte ich "frei", aber wenn ich (Animation) drucken, bekomme ich null
1.Wo geben Sie diesen Code aus? Editor oder bauen? Wenn Build, welche Plattform? 2.Bitte fügen Sie einen Screenshot der Position der Animationsdatei hinzu. Wir können dies überprüfen, dass dies kein Tippfehler ist. 3. Zeigen Sie uns auch den Wert der 'folderName' Variable oder wie sie initialisiert wird. – Programmer
tut mir leid, dass ich diese Details verpasst habe: 1. Ich habe ein Skript namens animationSwap erstellt, in start() rufe ich startCoroutine (LoadAnimClip (string clipName, string newAnimation, string folderName)) auf, was diese Funktion ist. Momentan ist nur folderName wichtig und das ist momentan auf "Idle" gesetzt. So ist das vollständige Verzeichnis: "StreamingAssets/Characters/Animations/Idle/Idle. Dies wird von Windows Build –
aufgerufen. Wie lade ich hier Screenshots hoch? –