Unity物理投射相关问题整理
1.投射目标是否需要附加刚体,是否可忽略触发器?
默认既支持触发器,也支持刚体。投射的最后一个参数queryTriggerInteraction可以设置,是否包含触发器事件。
2.非射线投射,是否有接触点信息?
投射物刚好相交则会返回接触点信息(hits.point)法线信息等,如果是包含则没有,返回(0,0,0)。
即使设置了投射方向,投射距离也是如此。安全的做法还是用射线投射
3.NonAlloc系列方法注意事项
你建立的缓存数组可以重复用,但需要每次使用时手动清除之前的状态,这个方法并不会帮你清除。
或者通过返回值的数量来遍历。
4.发射的投射方向为Vector3.zero,为无效方向,此时不会返回结果。
5.发射的投射大小不能用Vector3.one*float.MaxValue,或者极大的数,否则检测无效。
(但int.MaxValue倒是可以)
var hits = Physics.BoxCastAll(Vector3.zero, Vector3.one * , Vector3.zero, Quaternion.identity, );
Debug.Log("Hits length: " + hits.Length); foreach (var item in hits)
{
Debug.Log(item.transform.name);
}
打印:Hits length: 0
6.是否存在被一个更大的Collider包裹而无法返回正确结果
2017/5/23 - 重新测试之后,更正下测试结果,之前有误
使用Check系列API,比如Physics.CheckBox(...) 是可以检测到的
使用Overlap系列API,比如Physics.OverlapBox(...)也是可以检测到的
而使用Cast系列API,比如Physics.Raycast。则检测不到,必须在包裹Collider的外面。
无论是Box,Capsule还是Ray,Line都不行。
另外对于MeshCollider,如果一定要用cast来检测,可以用脚本做成双面的MeshCollider
http://www.cnblogs.com/hont/p/6628841.html
以上测试版本是unity5.5.2 f1
Unity物理投射相关问题整理的更多相关文章
- Unity中各类物理投射性能横向比较
最近在优化摄像机部分代码,抽了个时间对物理投射这块进行了系统性的测试,发现了不少东西 测试工程下载地址: http://files.cnblogs.com/files/hont/RaycastTest ...
- latch相关视图整理
latch相关视图整理(原创) V$LATCH V$LATCH视图在选取X$KSLLT记录时,进行了Group By及SUM运算,从而得出了一个汇总信息,保存了自实例启动后各类栓锁的统计信息.常用于当 ...
- Unity 物理引擎动力学关节
Unity物理引擎中的各个动力学关节 Hinge Joint (铰链关节) Fixed Joint (固定关节) Spring Joint (弹簧关节) Character Joint(角色关节) C ...
- 转:基于IOS上MDM技术相关资料整理及汇总
一.MDM相关知识: MDM (Mobile Device Management ),即移动设备管理.在21世纪的今天,数据是企业宝贵的资产,安全问题更是重中之重,在移动互联网时代,员工个人的设备接入 ...
- EasyUI相关知识点整理
EasyUI相关知识整理 EasyUI是一种基于jQuery.Angular..Vue和React的用户界面插件集合.easyui为创建现代化,互动,JavaScript应用程序,提供必要的功能.也就 ...
- 基于IOS上MDM技术相关资料整理及汇总
(转自:http://www.mbaike.net/special/1542.html) 一.MDM相关知识:MDM (Mobile Device Management ),即移动设备管理.在21世纪 ...
- [Cxf] cxf 相关知识整理
① 请求方式为GET @GET @Path(value = "/userAddressManage") @Produces( { MediaType.APPLICATION_JSO ...
- DBGrid相关技术整理
DBGrid相关技术整理: 注:对于DBGrid相关属性.方法的学习融入到技术整理过程中 一,多选 设置属性: Options->dgMultiSelect = True; ->dgRow ...
- libmodbus相关资料整理
/****************************************************************************** * libmodbus相关资料整理 * ...
随机推荐
- Unity3D 基于预设(Prefab)的泛型对象池实现
背景 在研究Inventory Pro插件的时候,发现老外实现的一个泛型对象池,觉得设计的小巧实用,不敢私藏,特此共享出来. 以前也看过很多博友关于对象池的总结分享,但是世界这么大,这么复杂到底什么样 ...
- Leetcode: Frog Jump
A frog is crossing a river. The river is divided into x units and at each unit there may or may not ...
- 从一简单程序看C语言内存分配
int main13(){ char buf[20]="aaaa"; char buf2[] = "bbbb"; char *p1 = "111111 ...
- CCF真题之日期计算
201509-2 日期计算 问题描述 给定一个年份y和一个整数d,问这一年的第d天是几月几日? 注意闰年的2月有29天.满足下面条件之一的是闰年: 1) 年份是4的整数倍,而且不是100的整数倍: 2 ...
- 台电幻彩u盘拆解
- java web sql注入测试(4)--如何防止该类缺陷发生
检查用户输入的合法性,确信输入的内容只包含合法的数据,数据检查应当在客户端和服务器端都执行之所以要执行服务器端验证,是为了弥补客户端验证机制脆弱的安全性.在客户端,攻击者完全有可能获得网页的源代码,修 ...
- setTimeout() 与 setInterval()
setTimeout() 从载入后延迟指定的时间去执行一个表达式或者是函数; 仅执行一次 ;和window.clearTimeout一起使用. setInterval() 在执行时,它从载 ...
- UIViewController启动过程
流程:判断是否view属性为nil,如果为空,调用loadView方法,如果重写了loadView方法,那么从代码创建普通视图,如果没有重写并且有storyBoard或者xib文件,那么从storyB ...
- linux文件所属用户和组
使用chown命令可以修改文件或目录所属的用户: 命令:chown 用户 目录或文件名 例如:chown -R qq /home/qq (把home目录下的qq目录的拥有者改为qq用户) 使用chg ...
- 所谓完整的linux系统包括哪些部分呢?【转】
本文转载自:http://www.eeskill.com/article/index/id/1358.html 简介:三部分:bootloader.linux kernel(linux内核).root ...