格式
typescript
Physics.Raycast(ray, maxDistance, mask, cast_trigger)所属类: Physics
描述
进行射线检测。
该方法会在场景中发射一条虚拟射线,检测射线是否与物体相交,并存储与第一个物体的相交信息。
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
| ray | Ray | 发射的射线对象 |
| maxDistance | number | 射线的最大投射距离 |
| mask | number | 进行碰撞检测的层级(位运算) |
| cast_trigger | QueryTriggerInteraction? | 射线是否与触发器进行碰撞检测 |
返回值
| 类型 | 描述 |
|---|---|
RaycastHit|undefined | 射线是否与物体相交 |
代码示例
typeScript
class New_TypeScript
extends Component {
private ray:Ray;
private hit:RaycastHit;
OnStart(): void {
//在场景中创建一个立方体
let cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
//为该立方体添加一个BoxCollider组件
cube.AddComponent<BoxCollider>(BoxCollider);
//将该立方体的位置设置为(0,1,0)
cube.transform.position = new Vector3(0,1,0);
//创建一条从(0,0,0)射向Y轴正方向的射线
this.ray = new Ray(new Vector3(0,0,0),new Vector3(0,1,0));
}
OnUpdate(): void {
//进行射线检测
this.hit = Physics.Raycast(this.ray,10000,1);
Debug.Log(this.hit.point);
}
}