unity3d-射线(Ray)】的更多相关文章

游戏中经常会有鼠标移动到某个对象上来拾取它的功能,我们可以用Unity3D中的射线Ray实现这一效果.原理是在我们鼠标的位置,从屏幕射出一条射向世界空间的射线,当这条射线碰撞到我们需要拾取的对象时,我们就销毁对象,把它添加到我们的背包中. 我们来做一个简单的Demo,我们在场景中添加一个方块Cube,一个小球Sphere,当我们鼠标放在方块上时没有任何反应,而当我们把鼠标放在小球上时,小球会消失. 新建一个项目,我们命名为“RayTest”,然后在场景中新建一个小球,方块,和添加灯光,最终结果如…
原地址:http://www.cnblogs.com/xuling/archive/2013/03/04/2943154.html 最近开始研究U3D,它的强大就不多说了, 今天研究了研究射线相关东西,总结了些东西放上来,一来做个笔记,二来和大家分享分享!嘿嘿~  如果有不对的地方希望指出哈 !- _ - 进入正题 射线:射线是3D世界中一个点向一个方向发射的一条无终点的线,在发射轨迹中与其他物体发生碰撞时,它将停止发射 . 用途:射线应用范围比较广, 多用于碰撞检测(如:子弹飞行是否击中目标)…
射线:射线是3D世界中一个点向一个方向发射的一条无终点的线,在发射轨迹中与其他物体发生碰撞时,它将停止发射 . Ray射线类和RaycastHit射线投射信息类是射线中常用的两个工具类. 用途:射线多用于碰撞检测(如:射击游戏里是否击中目标).角色移动.判断是否触碰到3D世界中的哪些物体对象,进而操作等. 基础API: Ray 射线类 :[使用鼠标拾取或者判断子弹是否碰到對象,需要往特定方向发射射线.方向可能是世界坐标中的一个矢量方向,或屏幕上某一点.针对后者,提供了两个API,如下:] 1.R…
看看效果图 代码: using UnityEngine; using System.Collections; public class T2 : MonoBehaviour { // Use this for initialization void Start() { } //定义射线 Ray ray; RaycastHit hit; //是否移动 bool isMove; //移动方向 Vector3 dir; Vector3 pos; // Update is called once per…
http://www.xiaobao1993.com/231.html 射线是一个无穷的线,开始于origin并沿着direction方向. 当射线碰到物体后.它就会停止发射. 在屏幕中拉一个CUBE,并用鼠标点击它 using UnityEngine; using System.Collections; public class TestRay : MonoBehaviour { void Update() { if (Input.GetMouseButton(0)) { Debug.Log(…
这一篇是纯技术讨论,看过我前面文章的童鞋应该清楚,我的奔跑是靠鼠标响应的,鼠标点到哪就跑到哪,后来又有了界面,麻烦就来了,我的界面居然能点 穿.我不希望点界面的时候还能点到界面后面的地面上,角色傻不拉几的往那跑,那肿么办呢,总不能每次点击都要推断点击的物体名称吧.那界面多了会累死的, 好在我们有标签和层这两个神器,所以我这里介绍两种方案,都能达到效果. 方案一:利用标签(Tag)拦截射线消息. 每一个GameObject的Inspector面板最上方都有个Tag选项,也就是说我们能够给全部的物体…
原地址:http://blog.csdn.net/w88193363/article/details/38331205 函数说明 static RaycastHit2D[] RaycastAll(Vector2origin,Vector2direction,float distance = Mathf.Infinity,int layerMask = DefaultRaycastLayers,float minDepth = -Mathf.Infinity,float maxDepth = Ma…
//发射一条射线,去检测玩家是否在自己面前,用来随后的发射炮弹 bool isForward = false; var TranformShootPoint = ai.WorkingMemory.GetItem<GameObject>("enemyShootPoint"); Ray ray = new Ray(TranformShootPoint.transform.position, TranformShootPoint.transform.forward); Rayca…
例:获取cube方向上的面的中点坐标(该cube默认方向为(0,1,0)) (中心点向cube quaternion 方向上发射射线,与正前方的面相交的点即为目标点; 由于ray只支持box和face,所以需要先生成与cube相同的box) let center = cube.position.clone(), quaternion = cube.quaternion.clone(); //获取cube的长宽高 cube.geometry.computeBoundingBox(); let si…
射线:射线是3D世界一个向一个方向发射的一条无终点的线,在发射轨迹中与其他物体发生碰撞时,它将停止发射. 用途:射线范围比较广,多用于碰撞检测(如:子弹飞行是否击中目标).角色移动等. Ray是一个结构体: 变量: Direction:射线的方向 Origin:射线的起点. 构造函数: Ray:构造一条射线. 方法: GetPoint:返回距离单位沿射线点. ToString:转换成字符串. 相关API: Ray ray=Camera.main.ScreenPointToRay(Vector3…