回顾:激光绊线
本课属于 Coddy Unity 学习旅程的“物理与游戏玩法”单元。第 41 课,共 71 课。
本次回顾将本章内容串联起来:一个只检测部分图层的射线投射、它击中的对象,以及一个记住上一帧状态的 bool,这样警报只会触发一次。
挑战
中等用激光绊线守卫金库。
- 每帧都执行一次
Physics.Raycast(transform.position, transform.forward, out RaycastHit hit, range, intruders)。 - 命中时,将
lamp.material.color设为Color.red;未命中时,设为Color.green。 - 只有光束从未命中变为命中时,才记录
"Alarm: " + hit.collider.name:在bool blocked字段中保存上一帧的结果。
点击“开始”,然后穿过光束:每次只触发一次警报。接着点击“检查”。
亲手试试
using UnityEngine;
public class Tripwire : MonoBehaviour
{
public LayerMask intruders;
public Renderer lamp;
public float range = 6f;
void Update()
{
}
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
物理与游戏玩法中的所有课
自己练习: Unity 在线编辑器