Unity 3D
来源:互联网 发布:pdf文档编辑软件 编辑:程序博客网 时间:2024/06/10 19:22
Unity 3D - Ray ( 射线 ) :
从某个点向一个方向发射的一条无终点的钱 , 一旦与其它对象碰撞 , 将停止并返回碰撞体信息 .
C# 代码 :
RaycastHit hit;LayerMask mask = 1 << (LayerMask.NameToLayer ("Floor"));Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);if (Physics.Raycast (ray , out hit, Mathf.Infinity, mask)) { print(hit.transform.name);}
返回一条从摄像机到屏幕指定一个点的射线Ray :
Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
判断射线是否射击( 触碰 )到指定层级的碰撞器 :
重载四种形式 :
Physics.Raycast(Ray ray, Vector3 direction, RaycastHit out hit, float distance, int layerMask)Physics.Raycast(Vector3 origin, Vector3 direction, float distance, int layerMask)Physics.Raycast(Ray ray, float distance, int layerMask)Physics.Raycast(Vector3 origin, Vector3 direction, RaycastHit out hit,float distance, int layerMask)
- 参数说明 :
layerMask参数:
层级设置如图 :
取得地面层 :
LayerMask mask = 1 << (LayerMask.NameToLayer ("Floor"));
1 << 10 打开第10的层。
~(1 << 10) 打开除了第10之外的层。
~(1 << 0) 打开所有的层。
(1 << 10) | (1 << 8) 打开第10和第8的层 :
其他 :
创建一个射线 :
Ray ray = new Ray(Vector3.zero, transform.position);
1 0
- Unity 3D
- unity 3d 注意事项
- Unity 3d 摄像头
- Unity 3D 使用
- Unity 3D--PlayerPrefs
- Unity 3d
- Unity 3D俄罗斯方块
- unity 3d 多开
- UNITY 3D笔记
- Unity 3D接触
- unity 3d
- Unity 3D简介
- Unity 3D 琐记
- unity 3d 视频
- Unity 3D 光源
- Unity 3D FingerID
- 再议Unity 3D
- unity 3d 网址
- 如何安装/升级gcc
- 关于MySql链接url参数的设置
- redirect和forward的区别
- eclipse快捷键调试总结
- Spark在美团的实践
- Unity 3D
- JS判断数据类型的三种方法
- Extjs combobox、displayfield、grid增加tip
- Linux入门(二)常用指令
- 移动端或浏览器根据下载,web端的设置
- oracle中number对应java数据类型
- 浅谈打开网页速度慢的原因和解决方法
- openwrt ./XXX not found问题解决
- c++ 类型转换string、wstring、cstring、 char、 tchar、int、dword(三)