振り返り:番犬
CoddyのUnityジャーニー「物理演算とゲームプレイ」セクションの一部。レッスン 58/71。
この振り返りでは、章の内容をまとめます。速度として設定された追跡、地面に沿って測定された射程、Healthスクリプトを通じたダメージ、そしてノックバックの衝撃です。
チャレンジ
中級番犬を書きましょう。犬小屋の近くにいる見知らぬ人を追いかけます。
FixedUpdate()で、地面に沿ってプレイヤーがkennel.positionからguardRange以内にいる間、yを保ちながらspeedでプレイヤーに向かって走ります。- そうでなければ犬小屋に戻り、犬小屋から0.3以内に来たら立ち止まります。
Playerにぶつかったら、そのHealthのTakeDamage(1)を呼び出し、犬から離れる水平方向にbiteのImpulseを与えます。
犬小屋の近くで「プレイ」を押します。その後、「確認」を押します。
自分で試してみよう
using UnityEngine;
public class Dog : MonoBehaviour
{
[SerializeField] private Transform player;
[SerializeField] private Transform kennel;
[SerializeField] private float speed = 3.5f;
[SerializeField] private float guardRange = 6f;
[SerializeField] private float bite = 5f;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void FixedUpdate()
{
// 犬小屋を守る:近くにいるプレイヤーを追いかけ、いなければ犬小屋に戻る
}
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
物理演算とゲームプレイのすべてのレッスン
自分で練習してみよう: Unityプレイグラウンド