しっぽを追いかけて

ぐるぐるしながら考えています

Unity と猫の話題が中心   掲載内容は個人の私見であり、所属組織の見解ではありません

Unity で振り子にヒモをつける

※ これは 2018/09/14 Unity 2018.3.0b1 時点の情報です

最新版では動作が異なる可能性がありますのでご注意ください

前回とりあえず Unity で 3D 球を振り子運動させましたが何か足りない

ヒモだ!ヒモが足りない!というわけで今回は振り子にヒモを追加してみます

まずは Hierarchy ビューから Ball を選択して右クリックメニュー、Create Empty で GameObject を追加

名前は line としておきます

次に追加した line を選択し、Inspector の Add Component ボタンから LineRenderer を追加

Material の Element 0 には Default-Line を選択

Positions の Width にはヒモの太さとして 0.02 を入力

さらに Color のところをクリック

左端と右端をそれぞれ選択し真ん中のカラーピッカーで色選択します

付け根と先端で色を変えたりもできるんですが今回は真っ黒にしてみました

次に Hierarchy ビューで Ball を選択したら Inspector から New Script を Add Component ボタンより追加

名前は Ball.cs にしました

こちらに下記のコードを入力

using UnityEngine;

public class Ball : MonoBehaviour
{
    [SerializeField]
    private LineRenderer line = null;

    [SerializeField]
    private Transform pivot = null;

    /// <summary>
    /// 毎フレームごとの処理
    /// </summary>
    public void Update()
    {
        // ヒモ部分の始点と終点の座標を更新
        this.line.SetPosition(0, this.transform.position);
        this.line.SetPosition(1, this.pivot.position);
    }
}

単に LineRenderer の 始点と終点座標を更新しているだけです

UnityEditor に戻って Ctrl + R でコードコンパイル & 反映

最後に Hierarchy ビューの line を Ball.line に、Pivot を Ball.pivot にドラッグドロップで設定します

ここまで終わったら実行

振り子にヒモがつきました!