私は非常にSceneKitに慣れており、あなたの助けは本当にありがとう!
スーパービューの中央にあるUIViewに200x200サイズのSCNViewがあります。 SCNCylinderが完全なSCNViewをカバーするように、SCNCylinderを内部に配置したいと思います。私はこれらのScenekitのすべてのビューがメートルで定義されていることを読んだので、私は自分の画面のサイズと SCNCylinderとの間にどのような関係を形成するのですか?SCNView全体をカバーするためにSCNNodeを配置する方法は?
私が試した:
var coinNode = SCNNode()
let coinGeometry = SCNCylinder(radius: 100, height: 2)
coinNode = SCNNode(geometry: coinGeometry)
coinNode.position = SCNVector3Make(0, 0, 0)
coinScene.rootNode.addChildNode(coinNode)
let rotate90AboutZ = SCNAction.rotateByX(-CGFloat(M_PI_2), y: 0.0, z: CGFloat(M_PI_2), duration: 0.0)
coinNode.runAction(rotate90AboutZ)
ibOutletScene.scene = coinScene
をしかし、これは私のcoinSceneとibOutletScene間のマージンを残します。このスペースを削除するにはどうすればよいですか?
私はまた、カメラの追加を試みた:
let cameraNode = SCNNode()
cameraNode.camera = SCNCamera()
cameraNode.position = SCNVector3Make(0, 0, 100)
coinScene.rootNode.addChildNode(cameraNode)
をしかし、私はこれでランダムな行動を見てcoinNodeが隠されます!カメラをどのように配置すればよいですか?または、ibOutletSceneから余分なスペースを削除する他の方法はありますか?
編集: これはカメラを追加しないと表示されます。赤いシーンと緑のコインの間にはマージンがあります。私はコインのサイズを複数試しましたが、カメラを追加しない限り、この余白を取り除くことはできません。しかし、私がカメラを追加すると、別の問題が発生し、このスクリーンショットの下に記載されています。
私はカメラを追加しないと、コインの回転アニメーションは完全に機能しますが、カメラを追加すると回転が拡大され、アニメーションで再び小さくなります。サイズを大きくすることなく、軸上でどのように回転させることができますか? 私はコインを回転するために次のコードを使用しています: 同じコードはカメラなしでうまく動作しますが、カメラを追加した後はコインを拡大します。スナップショットをチェックアウトします。
let rotate = SCNAction.rotateByX(0, y: -2 * CGFloat(M_PI_2), z: 0, duration: 2)
coinNode.runAction(rotate)
このアニメーションは、XY平面上でシリンダを位置合わせするためのアニメーションです。したがって、0の継続時間とそのラインは正常に動作しています。 – Anshuman
スナップショットを含むように質問を編集しました。 – Anshuman