美文网首页
SceneKit-你其实不懂模型的物理身体

SceneKit-你其实不懂模型的物理身体

作者: 酷走天涯 | 来源:发表于2018-09-19 09:27 被阅读124次

本节学习目标

1.如何查看几何模型物理身体
2.如何设置几何模型的物体身体形态
3.如何给几何模型自定义物体身体

如何查看几何模型的物理身体长什么样子呢?

scnView.debugOptions = .showPhysicsShapes// 打开调试模型即可

我们给物理身体设置一下动态物理身体查看一下模型的物理身体到底长是什么样子,下面以一个球体为例

sphereNode.physicsBody = SCNPhysicsBody.dynamic()

效果如下图,绿线的几何样子即模型的物体身体的形态,我们可以发现球体的物理身体和模型一致

gif1.gif

下面介绍SCNPhysicsBody一个初始化方法可以动态的改变物体身体的形态

public convenience init(type: SCNPhysicsBodyType, shape: SCNPhysicsShape?)

第一个参数 可以选择 static ,dynamic,kinematic 物理身体的类型
第二个参数 物理身体的形状

下面讲解一个物理身体形状的创建

1.形状的类型(.boundingBox)

通俗的将就是盒子形状的物理身体,如果你的模型是个球体,那么它的物理身体将会是一个外切的正方体,如下图

let shape = SCNPhysicsShape(geometry: sphereNode.geometry!, options: [SCNPhysicsShape.Option.type:SCNPhysicsShape.ShapeType.boundingBox])
gif2.gif

2.形状的类型(.凸面体)

物体身体的形状将会是一个凸面体

let shape = SCNPhysicsShape(geometry: sphereNode.geometry!, options: [SCNPhysicsShape.Option.type:SCNPhysicsShape.ShapeType.convexHull])
gif3.gif

3.形状的类型(.凹面体)

物理身体将会是一个凹面体

let shape = SCNPhysicsShape(geometry: sphereNode.geometry!, options: [SCNPhysicsShape.Option.type:SCNPhysicsShape.ShapeType.concavePolyhedron])
gif4.gif

发现没有和底面发生碰撞,为什么会这样,当凹面和地板接触时,物体已经插入地板力,碰撞此时已失效,所以我们千万不要讲凸面的物体设置成凹面物理身体

下面我们给球体自定义一个正方体的物理身体,主要把代码完整代码记录一下

    let sphereNode = SCNNode()
    sphereNode.geometry = SCNSphere(radius: 1)
    sphereNode.position = SCNVector3Make(0, 10, -20)
    sphereNode.geometry?.firstMaterial?.diffuse.contents = "box.gif"
    let box = SCNBox(width: 4, height: 4, length: 4, chamferRadius: 0)
    let shape = SCNPhysicsShape(geometry: box, options: [SCNPhysicsShape.Option.type:SCNPhysicsShape.ShapeType.convexHull])
    sphereNode.physicsBody = SCNPhysicsBody(type: .dynamic, shape: shape)
    self.scnView.scene?.rootNode.addChildNode(sphereNode)

效果如下

gif5.gif

相关文章

  • SceneKit-你其实不懂模型的物理身体

    本节学习目标 1.如何查看几何模型物理身体2.如何设置几何模型的物体身体形态3.如何给几何模型自定义物体身体 如何...

  • PowerDesigner04 物理数据模型(PDM)

    索引 物理数据模型(CDM)概述 物理数据模型(CDM)创建步骤 学生、班级、老师物理数据模型 物理数据模型(CD...

  • 状元学习方法 5个方法让物理成绩突飞猛进

    01 模型归类 做过一定量的物理题目之后,会发现很多题目其实思考方法是一样的,我们需要按物理模型进行分类,用一套方...

  • 物理模型

    1 质点 只有质量没有大小 2 点电荷 只有电量没有大小 3 理想变压器 线圈的电阻不计,没有能量损...

  • 其实,你不懂的

    文 | 刘深雨 江南留不住的是我的身影 远方带不走的是我的心 莫名的想回家 只为见见她...

  • 其实你不懂

    今天我找到H男和Z女谈话,让他们分散思考,有话可以找我说。 他俩交代——“老师,我早恋了!”果然和传说中的版本一样...

  • 其实你不懂

  • 其实你不懂

    你说你爱桃李芬芳, 风吹花落你却醉在温柔乡。 你说你爱随风流浪, 列车辗转你却眼含微光。 你说你爱芦苇寒霜, 归雁...

  • 其实你不懂

    暗恋是种想念,思念是种犯贱。 爱你就像一盏灯,黑暗里我为你照亮白天当做你的陪伴。 路上行人匆匆忙忙,只为与你擦肩而...

  • 其实你不懂

    其实你不是他。你不懂他所经历的,他内心所能承受的,最后的决定就是他最真实的答案,我们没有权利去评价别人。 我们可以...

网友评论

      本文标题:SceneKit-你其实不懂模型的物理身体

      本文链接:https://www.haomeiwen.com/subject/lhlidxtx.html