unity3D技术分享

Unity射线

2020-07-16  本文已影响0人  喜欢海苔Girl

射线

与现实中激光手电(激光笔)类似,射线的两个要素:原点和方向。unity引擎引入了这种机制,可以通过代码在场景中某个点,朝着某个方向生成一条虚拟的射线,当射线打到碰撞器上时,就表示射线碰撞到了物体,否则射线没有碰撞到物体。

创建射线

引擎中使用射线的类Ray来创建一条射线,创建射线时需要知道射线的原点和方向,以下是创建射线的方式
1.第一种

  Ray ray = new Ray();
  ray.origin = Vector3.zero;
  ray.direction = Vector3.forward;

2.第二种

  Ray ray = new Ray(Vector3.zero,Vector3.forward);

发射射线

要实现射线碰撞的应用,必须使用Physics类的方法Raycast方法发射射线来实现射线碰撞检测

  static bool RayCast(Ray ray,out RayCastHit hitInfo)

方法说明
(1)如果射线打到碰撞器,则返回true否则返回false;
(2)hitInfo是一个结构体类型,包含成员如下

image.png
其中最常用的两个属性如下:
上一篇下一篇

猜你喜欢

热点阅读