Menu
CoddyTech

動く標的

CoddyのUnityジャーニー「物理演算とゲームプレイ」セクションの一部。レッスン 67/71。

challenge icon

チャレンジ

難しい

ターゲットを作りましょう。ターゲットは範囲内を滑るように移動し、ボールが当たると倒れます。

  1. Start()では、startX = rb.position.xをそのまま使います。FixedUpdate()では、x軸に沿ってspeedでrb.MovePositionを使って移動し、startXからrange離れたら、値が1または-1のdirectionを反転させます。
  2. OnCollisionEnterでは、collision.gameObject.CompareTag("Ball")のとき、name + " hit!"をログに記録し、ボールとターゲットを破棄します。

「プレイ」を押して、3つすべてを倒しましょう。その後、「確認」を押します。

自分で試してみよう

using UnityEngine;

public class Target : MonoBehaviour
{
    [SerializeField] private float speed = 2f;
    [SerializeField] private float range = 3f;
    private Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }

    // 左右にスライドする。ボールがターゲットに当たると、ターゲットが倒れる
}

物理演算とゲームプレイのすべてのレッスン

自分で練習してみよう: Unityプレイグラウンド