摘要:
最近看见一个用short型存放两个byte型的例子。学习了一下。 需要注意,这么做的时候最好是无符号整形,有符号需要补码。 使用ushort存放两个byte类型: void Execute() { byte a = 255; byte b = 255; ushort c = a; c = (usho 阅读全文
摘要:
可以便于调试位运算 阅读全文
摘要:
扩展阅读: 一位园友的总结: https://www.cnblogs.com/xiaohutu/p/10951911.html 斯坦福的位运算技巧大全:http://graphics.stanford.edu/~seander/bithacks.html 推荐神书《Hackers Delight》 阅读全文
摘要:
1.Unity中,四元数不能保存超过360度的旋转,所以如此大范围的旋转不能直接两个四元数做插值(当你用0度和721度的四元数做插值,它只会转1度,而不会转两圈)。 2.要把旋转设置成某个方向,用LookRotation,不要用FromToRotation。前者结果测试过,是绝对准确的。 3.四元数 阅读全文
摘要:
最近在优化摄像机部分代码,抽了个时间对物理投射这块进行了系统性的测试,发现了不少东西 测试工程下载地址: http://files.cnblogs.com/files/hont/RaycastTestProj.rar 测试方式: 在某半径内随机若干Cube,然后以中心点发射各种投射进行测试 使用Un 阅读全文
摘要:
在Unity中进行速度和GC Alloc的测试 测试脚本: 100万次循环下,可空类型执行速度45ms,非可空类型执行速度12ms 并且没有GC。 阅读全文
摘要:
要注意如果是XY坐标轴的2D空间,要取差乘分量z而不是y。 实现原理是,将三角形ABC三个边(AB,BC,CA)分别与比较点判断差乘,如果这3个差乘结果表示的方向一致,说明就在三角形内。 效果: 代码(Unity3D): 为了加误差,所以多做了3次差乘。不过使用起来还算可以 阅读全文
摘要:
之前一篇文章里写了一种差乘判断方法:http://www.cnblogs.com/hont/p/6105997.html 虽然用3D空间的差乘,但是只适用于2D空间 //线段ab与线段cd进行(Unity XZ空间)相交检测 bool IsIntersect(Vector3 a, Vector3 b 阅读全文
摘要:
参考自这篇博文:http://www.cnblogs.com/dabiaoge/p/4491540.html 一开始没仔细看做法,浪费了不少时间。下面是最终实现的效果: 大致流程: 1.随便选取多边形上任意一条边,以比较点和边的中心点做一条射线(这里用的伪射线) 2.用这条射线与其他所有边判断是否相 阅读全文
摘要:
做为Unity早期的经典demo,一直从3.5以后沿用到4.7.x版本。但其内部一些做法十分不合理。比如使用过多的根目录, 创建怪物和玩家不用SpawnPoint。AI、CheckPoint的代码实现过于随意,代码命名风格诡异等等。。 网上有很多相关的学习文章,所以我精简了一下,将一些有用的部分学习 阅读全文