スポンサーリンク
スポンサーリンク
UnityUnityの使い方

【Unityの使い方】オブジェクトを動かす方法

Unity

Unityでプログラムを使ってオブジェクトを動かす方法の解説です。

オブジェクトを動かすコード

【Unityの使い方】C#スクリプトで使用したSphereに貼り付けたC#スクリプトファイルに

オブジェクトを動かすコードを書いていきます。

void Updateの{}の間にtransform.Translate(Vector3.forward);と入力します。

void Startスタートした瞬間に一度だけ実行したいときに書く
void Update1フレームごとに何度も実行したい時に書く

Transformは位置や回転、大きさなどの情報です。インスペクターウィンドウから確認できます。

Translateは指示された方向にpositionを動かすという命令です。

ここの数値をプログラムで増やしてオブジェクトを移動させます。

()の中にはどのように動かすかということが書いてあります。

fowordzの数値を増やす
backzの数値を減らす
leftXの数値を減らす
rightXの数値を増やす
upYの数値を増やす
downYの数値を減らす

今回はfowordと入力するのでSphereのzの数値が増えて前の方向に飛んでいきます。

using UnityEngine;

public class game : MonoBehaviour
{
    void Start()
    {

    }

    void Update()
    {
        transform.Translate(Vector3.forward);
    }
}

再生ボタンを押すとこのように前方向にSphereが飛んでいきます。

Sphereのインスペクターウィンドウを見るとZの数値が1フレーム(大体0.02秒くらい)ごとに増えています。

()の中のfowordの部分を変更すると進む方向を変えることができます。

動く速度が速いので速度を遅くしたい場合はtransform.Translate(Vector3.forward * 0.5f);

と書くと速度を落とすことができます。

*このマークはアスタリスクといって掛け算を意味します。

小数点の0.5をかけることによって速度が0.5倍になります。

少数を書く時にはfを付けるという決まりがあるので0.5fと書きます。

using UnityEngine;

public class game : MonoBehaviour
{
    void Start()
    {

    }

    void Update()
    {
        transform.Translate(Vector3.forward *0.1f);
    }
}

0.1をかけるとこんな感じに遅くすることができます。

スポンサーリンク
C-BA memo
タイトルとURLをコピーしました