решение - оно построено на примере веревки с GitHub
https://github.com/orff/ SceneKitRope
поэтому я настроил каждое дерево костей с узлом ветвления
Код: Выделить всё
let strand_branch = SCNNode(geometry: SCNCylinder(radius: 0.007, height: CGFloat(_branchHeight)))
strand_branch.name = "branch_\(branch.rawValue)"
strand_branch.geometry!.firstMaterial!.diffuse.contents = SKColor.clear
strand_branch.physicsBody = SCNPhysicsBody.static()
strand_branch.physicsBody?.collisionBitMask = 0
strand_branch.position = first_bone_position
currentScene!.rootNode.addChildNode(strand_branch)
Код: Выделить всё
bone.physicsBody = SCNPhysicsBody.dynamic()
bone.physicsBody?.friction = 0.5
bone.physicsBody?.restitution = 0
bone.physicsBody?.mass = mass
bone.physicsBody?.isAffectedByGravity = false
bone.physicsBody?.damping = 0.5
bone.physicsBody?.angularDamping = 0.5
Итак, теперь физическое моделирование волос работает, но есть проблема с ограничением положения костей. Я хочу ограничить каждую прядь волос, чтобы они не закрывали лицо.
Моя цель — легкая анимация гладких волос, как в Apple memodji.
Пожалуйста, помогите! Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/623 ... -animation