好久没有写博客了,变懒了,最近工作不多,那就继续坚持写博客。
今天我们来说说SceneKit框架的 Basic Collision Detection,基础碰撞检测。
2D中的碰撞检查大家都能能理解,涉及到的数学知识并不复杂。但在3D中碰撞检测要涉及到更复杂的数学知识了,很多人数学功底不好的同学就犯难了,我也是。幸好SceneKit框架 提供了方便的方法去判断碰撞检测。
- 要想让SCNNode 模拟碰撞检测,首先要设置它的Physics Body,Physics Body有三种类型:
(1)Dynamic:动态的物体,受力的影响(applyForce)。
(2)Static: 静态的物体,不受力的影响。
(3)Kinemat:这种类型比较特殊,你可以直接移动,旋转它,在空间变换中,会对Dynamic的物体产生力的影响。
//示例1
rootWallNode.physicsBody = [SCNPhysicsBody dynamicBody];
//示例2
SCNPhysicsShape *shape = [SCNPhysicsShape shapeWithGeometry:[SCNBox boxWithWidth:5 height:5