Physics Raycast光线投影
Physics.Raycast(Vector3 origin,Vector3 direction,RaycastHit hitInfo,float distance,int LayerMask)

//前两个参数可以用一个Ray代替,等同于↓
Ray r = mCamera.ScreenPointToRay(Input.mousePosition);
Physics.Raycast(Ray r,RaycastHit hitInfo,float distance,int LayerMask);

将鼠标点击屏幕,由Camera向鼠标点击方向作为一条射线,然后用RayCatch获取RayCastHit


LayerMask指定不检查的层次,可以通过方法将层的名字转换而成:

LayerMask Mask = LayerMask.NameToLayer("Entity");
Ray r = mCamera.ScreenPointToRay(Input.mousePosition);
Physics.Raycast(Ray r,RaycastHit hitInfo,float distance,1<<Mask.value);

LayerMask的每一位都代表一个层,第6层Layer表示在第7位,如果为1跳过这层。


首页 我的博客
粤ICP备17103704号