2017-02-12 2 views
0

Ich habe ein Spielobjekt mit einem Animator-Controller. Das Spielobjekt bewegt sich von der Unterseite des Bildschirms nach oben, wobei diese Bewegung durch die Animation der Y-Achse gesteuert wird.Ändern Sie die x-Position von Gameobject beim Abspielen einer Animation - Unity

Was ich versuche zu tun, um auch sie zufällig in der X-Achse zu bewegen, während die diese Animation ist es in der Y-Achse bewegt

Was ich habe ein paar Animationsereignisse in dieser Haupt Animation gesetzt war:

enter image description here

In diesen Ereignissen ein Skript rufe ich, dass das Objekt zwischen 2 x Positionen bewegt:

public void RandomX() 
{ 
    var pos = transform.position; 
    pos.x = Mathf.Clamp(transform.position.x, -1.75f, 2.85f); 
    print(pos.x); 
} 

Aber das funktioniert nicht. Tha Animation spielt ohne Änderungen in der X-Achse.

Vielen Dank im Voraus für jede Hilfe zur Verfügung gestellt

+0

Es gibt keine Änderung der 'pos'-Variablen, Math.Clamp (x, lowerBound, upperBound) setzt nur die Grenzen der x-Koordinate. – Vect0rZ

Antwort

2

Die Animation der Position verwandeln überschreibt. Für Ihr Objekt, das von Code gesteuert wird, müssten Sie die Hierarchie ändern.

-object A with script controlling x position 
    - object B with animation 

Jetzt können Sie das übergeordnete Objekt A nach Code verschieben. Die Animation steuert nur das Objekt B.

Verwandte Themen