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物理投射相关问题整理的更多相关文章

  1. Unity中各类物理投射性能横向比较

    最近在优化摄像机部分代码,抽了个时间对物理投射这块进行了系统性的测试,发现了不少东西 测试工程下载地址: http://files.cnblogs.com/files/hont/RaycastTest ...

  2. latch相关视图整理

    latch相关视图整理(原创) V$LATCH V$LATCH视图在选取X$KSLLT记录时,进行了Group By及SUM运算,从而得出了一个汇总信息,保存了自实例启动后各类栓锁的统计信息.常用于当 ...

  3. Unity 物理引擎动力学关节

    Unity物理引擎中的各个动力学关节 Hinge Joint (铰链关节) Fixed Joint (固定关节) Spring Joint (弹簧关节) Character Joint(角色关节) C ...

  4. 转:基于IOS上MDM技术相关资料整理及汇总

    一.MDM相关知识: MDM (Mobile Device Management ),即移动设备管理.在21世纪的今天,数据是企业宝贵的资产,安全问题更是重中之重,在移动互联网时代,员工个人的设备接入 ...

  5. EasyUI相关知识点整理

    EasyUI相关知识整理 EasyUI是一种基于jQuery.Angular..Vue和React的用户界面插件集合.easyui为创建现代化,互动,JavaScript应用程序,提供必要的功能.也就 ...

  6. 基于IOS上MDM技术相关资料整理及汇总

    (转自:http://www.mbaike.net/special/1542.html) 一.MDM相关知识:MDM (Mobile Device Management ),即移动设备管理.在21世纪 ...

  7. [Cxf] cxf 相关知识整理

    ① 请求方式为GET @GET @Path(value = "/userAddressManage") @Produces( { MediaType.APPLICATION_JSO ...

  8. DBGrid相关技术整理

    DBGrid相关技术整理: 注:对于DBGrid相关属性.方法的学习融入到技术整理过程中 一,多选 设置属性: Options->dgMultiSelect = True; ->dgRow ...

  9. libmodbus相关资料整理

    /****************************************************************************** * libmodbus相关资料整理 * ...

随机推荐

  1. 学习OpenCV——Kmean(C++)

    从前也练习使用过OpenCV的Kmean算法,但是那版本低,而且也是基于C的开发.这两天由于造论文的需要把它重新翻出来在研究一下C++,发现有了些改进 kmeans C++: doublekmeans ...

  2. php面向对象(OOP)编程完全教程

    摘自:http://www.php-note.com/article/detail/41 面向对象编程(OOP)是我们编程的一项基本技能,PHP5对OOP提供了良好的支持.如何使用OOP的思想来进行P ...

  3. Eclipse插件CheckStyle的安装和使用

    转载自:http://www.cnblogs.com/lanxuezaipiao/p/3202169.html CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员 ...

  4. cookie和session区别

    cookie和session区 session是在服务器端保存用户信息,cookie是在客户端保存用户信息 session保存的是对象,cookie保存的是字符串 session会随回话结束而关闭,c ...

  5. yii框架各种防止sql注入,xss攻击,csrf攻击

    PHP中常用到的方法有: /*  防sql注入,xss攻击  (1)*/    function actionClean($str)    {        $str=trim($str);      ...

  6. ANDROID模拟火花粒子的滑动喷射效果

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 开篇废话: 年前换了一个手机,SONY的Z3C.这个手机在解锁屏幕时有一个滑动动画,类似火 ...

  7. 大数据量的csv文件如何导入到 sql 数据库

    BULK INSERT dbo.T_test001 FROM 'E:\bus_20160316\bus全量评级及借款编号_20160316.csv' WITH ( FIELDTERMINATOR =' ...

  8. 一个容易被忽略的ReportingService超时问题

    我们在使用Sql Server Reporting Service开发报表的时候,经常会遇到报表超时的问题,报表超时的原因有很多,也有很多地方可以设置报表的超时时间,比如在报表中的数据源(dataso ...

  9. HGE游戏引擎之hgeQuad结构体的使用(用于渲染图片)

    HGE基本的渲染图元是hgeQuad (Quad is the basic HGE graphic primitive),其中有一个hgeVertex成员结构,它用来描述图元顶点信息.The hgeV ...

  10. [置顶] lua 进阶3--lua文件中调用C++函数

    前面讲了一下,C++读取lua文件中的变量,包括一维表.二维表这些,这节讲一下如何在lua文件中去调用C++函数 C++代码如下 #include <stdio.h> extern &qu ...