Skip to content

格式

typescript
Physics.Raycast(ray, maxDistance, mask, cast_trigger)

所属类: Physics

描述

进行射线检测。

该方法会在场景中发射一条虚拟射线,检测射线是否与物体相交,并存储与第一个物体的相交信息。

参数

参数名类型描述
rayRay发射的射线对象
maxDistancenumber射线的最大投射距离
masknumber进行碰撞检测的层级(位运算)
cast_triggerQueryTriggerInteraction?射线是否与触发器进行碰撞检测

返回值

类型描述
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);
    }
}