Unity射线

作者: 喜欢海苔Girl | 来源:发表于2020-07-16 22:15 被阅读0次

射线

与现实中激光手电(激光笔)类似,射线的两个要素:原点和方向。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
其中最常用的两个属性如下:
  • point指的是射线打到碰撞器上的碰撞点 Vector3类型
  • collider指的是射线碰撞到的碰撞器组件

相关文章

  • Unity 射线

    1,摄像机射线: 2, 物体发射射线: 3, 点击发出射线:

  • Unity射线

    射线 与现实中激光手电(激光笔)类似,射线的两个要素:原点和方向。unity引擎引入了这种机制,可以通过代码在场景...

  • unity 射线过滤

    刚刚看了官方文档,推荐layers来做我直接翻译了一下官方文档这个是官方文档链接 https://docs.uni...

  • Unity 基础 - 射线

    Unity 中虚拟射线能够检测所碰撞到物体,使用 Physics 类的 Raycast 方法实现色心啊碰撞检测功能。

  • 射线检测-unity

    与最近物体碰撞取得位置: 与指定层的物体碰撞: 另外collider相当于游戏物体了

  • Unity射线检测

    Physics.RayCast方法发射射线,射线碰撞的信息存在RaycastHit中。 Camera.main.S...

  • Unity Physics.Raycast

    参考Unity - 射线检测[https://www.cnblogs.com/SouthBegonia/p/117...

  • API

    Plane.Raycast Plane 的介绍参考例子 Unity 之 plane.Raycast 射线检测 拷贝...

  • Unity Recast射线优化

    团队多人在开发游戏界面,很多时候都是复制黏贴,比如上一个图片是需要响应RaycastTarget,然后ctrl+d...

  • Unity 屏幕射线ScreenPointToRay

    如下图所示,点击屏幕时,会生成一条射线,从摄像机的的位置开始,指向屏幕点击的地方,射线继续往前,会穿透绿色的正方体...

网友评论

    本文标题:Unity射线

    本文链接:https://www.haomeiwen.com/subject/mlxvhktx.html