今天对一个书的模型加Rigidbody, MeshiCollider用的是mesh非UNITY自带的 出现 Non-convex MeshCollider with non-kinematic Rigidbody is no longer supported in Unity 5. 并且碰撞不起作用 在面板中 勾选了convex就解决了 去官网一查 Convex If enabled, this Mesh Collider will collide with other Mesh Collide
和Physics的投射差不多,SweepTest可以直接投射当前碰撞 但是比较遗憾的是它对MeshCollider的支持不是很好,需要勾选Convex 投射和Physics一样,只要加了碰撞器,不管勾没勾选Trigger都会被投射到 另外如果想移动刚体位置进行SweepTest的话,可以调用.position提前改变位置 比如我的游戏中角色会瞬移到某个坐标,这时候判断是否超过墙壁,这是我测试用的代码,可以做到角色碰撞的修正: using UnityEngine; public class Swe
Rigidbody.position/rotation主要提供在下一个物理步之前更新物理位置,一般用于SweepTest这样的接口 那么测试一下会不会修改掉transform.position的值 测试结果:并不会立即改变transform.position,而会在下一个物理步执行时改变.如果手动改变transform.position/rotation不受影响 测试脚本: using UnityEngine; public class RigidbodyStepTest : MonoBehav