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相关资料整理 * ...
随机推荐
- Leetcode: Longest Absolute File Path
Suppose we abstract our file system by a string in the following manner: The string "dir\n\tsub ...
- CareerCup: 17.14 minimize unrecognized characters
Oh, no! You have just completed a lengthy document when you have an unfortu- nate Find/Replace misha ...
- 我与 美国作家 21天精通C++ 作者 Rao的对话:
这就是动力呀!
- Android studio删除工程项目,androidstudio
本新手最近学Android都是用的eclipse.其实个人觉得eclipse不错,可能接触Android不久,倒也不觉得它慢还是怎样.对于Google的Android studio也是早有耳闻,前两天 ...
- mysql之消息队列
消息队列:在消息的传输过程中保存消息的容器. 消息队列管理器在将消息从它的源中继到它的目标时充当中间人.队列的主要目的是提供路由并保证消息的传递:如果发送消息时接收者不可用,消息队列会保留消息,直到可 ...
- 取客户的银行帐号SQL
SELECT ibybanks.bank_name, --银行 ibybanks.bank_branch_name, --分行 ibybanks.bank_account_num_electronic ...
- 【ipython技巧】使用shell命令
在ipython终端时,可能临时需要使用shell命令进行简单处理: 可以在shell命令前面使用 !(感叹号) 比如在win7,ipython下想要使用sublime新建一个py,可以这样 !sub ...
- 【py登陆】python模拟登录
用Python模拟登录网站 前面简单提到了 Python 模拟登录的程序,但是没写清楚,这里再补上一个带注释的 Python 模拟登录的示例程序.简单说一下流程:先用cookielib获取cookie ...
- 经典SQL
一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备 ...
- Openstack的nova-network的vlan模式扩展2
接上一篇,上一篇我们使用的是nova-manage命令来创建的网络,这里就有一些知识需要了解 遇到的问题 控制节点的前面的BUG已经按官方解决BUG方式解决了,但是在开发dashboard,使用nov ...