bugfix> c# > 投稿

する必要がある動く そして規模 Unityの実行時の3Dオブジェクト。

このように移動できます:

void Update(){
public Transform target_1;
float relocationSpeed = 10;
float step = relocationSpeed * Time.deltaTime;
MyObject.transform.position = Vector3.MoveTowards (MyObject.transform.position, target_1.position, step);
}

このようなコルーチンを使用して、スケールアップできます。

float scaleSize = 20;
IEnumerator ScaleUpMyObject(){
        for (var i = 0; i < scaleSize; i++) {
            MyObject.transform.localScale += new Vector3 (1, 1, 1);
            yield return new WaitForSeconds(0.1f);
        }
}

しかし、私のオブジェクトを移動して拡大縮小する最良の方法は何でしょうか同時に

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

回答 2 件
  • 元のコードをあまり変更しなくても、このようなことができます

    public Vector3 wantedSize = new Vector3(5, 5, 5);
    void Update()
    {
        float relocationSpeed = 10;
        float step = relocationSpeed * Time.deltaTime;
        MyObject.transform.position = Vector3.MoveTowards(MyObject.transform.position, target_1.position, step);
        MyObject.transform.localScale = Vector3.MoveTowards(MyObject.transform.localScale, wantedSize, step);
    }
    
    

  • そのためにアニメーターを使用できます。以下に例を示します。

    Unity 3Dオブジェクトアニメーションの例

    また、iTween(アセットストアで無料)などのライブラリを使用して、位置とスケールのベクトルをアニメーション化し、線形に変換するだけでなく(クワッド、バウンス、指数関数などで簡単にインおよびアウト) 。

    Unityアセットストア-iTween

あなたの答え