2017-03-16 4 views
0

私は立方体であり、私はそれが選ばれた空のオブジェクトの位置に「ジャンプ」したいプレーヤーを持っています。は、どのように私はそれがユニティスクリプティングC#で実行するようにアニメーションにかかる時間を変更できますか?

私はそのプレーヤーを元の場所のvector3.MoveTowards()で移動させることができましたが、同時にキューブが空のオブジェクト位置にどのようにジャンプするかを示すアニメーションを再生したいと思います。

ここでの問題は、空のオブジェクトの位置が異なることになる空のオブジェクトにそうキューブからの距離が変化することです。アニメーションが完了するまでの時間を変更する必要があると思うので、一時停止してからキューブをまっすぐに移動させてください。私はアニメーションが空のオブジェクトの位置が常に変化することを考えると、実行するために長いか短い時間を取りたい

...

+0

あなたがアニメーションを使用する場合:https://docs.unity3d.com/ScriptReference/AnimationState-speed.htmlスピードアニメーションを変更するには

そして

あなたがアニメーターを使用している場合 –

+0

は:https://docs.unity3d.com/ScriptReference/Animator-speed.html –

答えて

0

あなたは、この場合にStartCoroutineを使用することができます。

IEnumerator animated() { 
     // Code here 
     yield return new WaitUntil (() => stopanimated == true); 
     // Run the code here 
} 

それともでき

IEnumerator animated() { 
     // Code here 
     yield return new WaitForSeconds (1); // How much second to wait before execute the next line code. 
     // Run code here 
} 

そして、どのように使用し、それを呼び出すために:

StartCoroutine(アニメーション());

ここでは詳しく文書のコルーチンの場合:

https://docs.unity3d.com/ScriptReference/MonoBehaviour.StartCoroutine.html

このStartCoroutineはそれを実行する前にいくつかの時間のためのコードを一時停止するために使用されます。この記事を参照してください

http://answers.unity3d.com/questions/950205/how-to-change-speed-of-animation-in-c.html

+0

ありがとうございました!出来た! –

関連する問題