3D游戏开发:SceneKit与SpriteKit结合实战
1. 英雄节点物理属性设置
为了让英雄节点(heroNode)能与场景中的其他物理物体进行交互,我们需要为其物理体分配一个形状。虽然可以使用怪物的网格,但形状计算可能不准确,而盒子形状比怪物网格简单得多。以下是具体步骤:
1. 创建盒子碰撞体 :创建一个新的盒子几何体,其宽度、高度和深度大致与怪物相同。
2. 分配碰撞形状 :使用 heroNode 的 physicsBody.physicsShape 属性,将创建的碰撞盒子形状分配给它。
3. 设置物理体类型 :由于希望物体受重力影响,将物理体类型设置为动态。
4. 设置物体质量 :为了使物体对重力有高响应性,将物体质量设置为20。
5. 限制旋转 :将三个方向的 angularVelocityFactor 都设置为0,确保物体在垂直力作用下上下直线移动。
6. 命名节点 :将怪物命名为“hero”,方便后续检查碰撞对象是否为英雄。
7. 添加节点到场景 :最后,将 heroNode 添加到场景中。
// 假设已有heroNode和scene等变量
let collisionBox
超级会员免费看
订阅专栏 解锁全文
8489

被折叠的 条评论
为什么被折叠?



