私は私のプレイヤーの主な物理体としてボールを使用しています:SceneKit後カメラ
は、次の私のプレーヤーにカメラの位置を固定するためのコードを書いた
setup_Player() {
playerGeometry = SCNSphere(radius: CGFloat(radius))
playerGeometry.segmentCount = 64
player = SCNNode(geometry: playerGeometry)
player.geometry?.materials = [playerMaterial];
player.position = SCNVector3(x: 1, y: 15, z: 0.5)
let playerShape = SCNPhysicsShape(geometry: playerGeometry, options: nil)
let playerBody = SCNPhysicsBody(type: .dynamic, shape: playerShape)
player.physicsBody?.categoryBitMask = collisionRollingBall
player.physicsBody?.collisionBitMask = collsionTarget
player.physicsBody?.mass = 10
player.physicsBody = playerBody
scene.rootNode.addChildNode(player)
}
:
func setupCamera() {
//create a main camera
cameraNode = SCNNode()
cameraNode.camera = SCNCamera()
cameraNode.camera?.zFar = 100;
cameraNode.position = SCNVector3Make(0, 0, 0)
cameraNode.eulerAngles = SCNVector3Make(0, 0, 0)
cameraNode.rotation = SCNVector4Make(0, 1, 0, Float(-M_PI_4*0.75))
scene.rootNode.addChildNode(cameraNode)
//add a secondary camera to the player
let frontCameraNode = SCNNode()
frontCameraNode.position = SCNVector3Make(0, 15, 0)
frontCameraNode.rotation = SCNVector4Make(1, 0, 0, Float(-M_PI_4*2.2))
frontCameraNode.camera = SCNCamera()
frontCameraNode.camera?.zFar = 100
player.addChildNode(frontCameraNode)
}
私はちょうどに必要3人目のゲームのように一定の距離でカメラの位置を固定します。
このようなシナリオでは、カメラはボールの物理的特性を取得して回転します。しかし、私はプレーヤーとすべてのボールを巨大なスピードで回転しないでください。
プロパティを継承しないで、カメラをプレーヤーの隣に固定するにはどうすればいいですか?どのように物理的な体の回転を無視する任意のアイデアですか?
ありがとうございます。