unity3d-射线

简介: unity3d-射线

射线


struct in UnityEngine

1、描述


射线表示形式。

射线是从 origin 开始并按照某个 direction 行进的无限长的线。

2、变量


direction 射线的方向。

origin 射线的原点。

2.1、构造函数


Ray 沿着 direction 创建从 origin 开始的射线。

2.2、使用


  • 代码
声名RaycastHit、Ray;//RaycastHithit;
Rayray;
Ray((起点)(方向))//ray=newRay(Vector3.up,Vector3.forward);
如果有监测到就返回true否者返回false;//if (Physics.Raycast(ray, outhit)){
打印碰到的信息//Debug.DrawRay(ray.origin, ray.direction*20, Color.red);
Debug.DrawLine(ray.origin,ray.direction*20,Color.yellow);
Debug.Log(hit.collider.gameObject);
Debug.Log(hit.collider.tag);
Debug.Log(hit.point);
Debug.Log(hit.collider.transform.position);
Debug.Log(hit.collider.name);
}

3、小案例


  • 案例说明
  • 通过鼠标点击实现发射球去打东西
//声名RaycastHithit;
Rayray;
publicGameObjectattack;
publicfloatspeed=5;
//监测判断if (Input.GetMouseButtonDown(0))
{
ray=Camera.main.ScreenPointToRay(Input.mousePosition);
if(Physics.Raycast(ray,outhit))
{
画线测试//Debug.DrawLine(transform.position, hit.point, Color.red);
创建小球GameObjecta=Instantiate(attack, transform.position, Quaternion.identity);
a.GetComponent<Rigidbody>().velocity= (hit.point-transform.position) *speed;
}
}


相关文章
|
图形学
浅谈Unity之贝塞尔曲线
贝塞尔曲线的创建
|
图形学
浅谈Unity之ShaderGraph-等高线和高程渐变设色
ShaderGraph实现等高线和高程渐变设色
|
4月前
|
图形学 开发者
【实现100个unity特效之1】使用Shader Graph实现动物森友会的世界弯曲效果(带源码)
【实现100个unity特效之1】使用Shader Graph实现动物森友会的世界弯曲效果(带源码)
82 0
|
4月前
|
图形学 Android开发
【实现100个unity特效之6】Unity2d光源的使用
【实现100个unity特效之6】Unity2d光源的使用
23 0
|
10月前
|
算法框架/工具 图形学
Unity 四元数
Unity 四元数
154 0
|
5月前
|
前端开发 计算机视觉 Python
OpenCV中绘制运动的小球动画,
要在OpenCV中绘制运动的小球动画,并且将动画显示在Python GUI窗口内,可以按照以下步骤进行:
84 2
|
10月前
|
图形学
Unity 坐标系
Unity 坐标系
Unity 坐标系
|
10月前
|
数据可视化 图形学
Unity射线编程详解
Unity射线编程详解
|
图形学 开发者
Unity3D刚体
Unity3D刚体
158 0
|
图形学
Unity3D旋转
Unity3D旋转
127 0