我即将完成SceneKit中的第一个项目,但是我在最后几步中苦苦挣扎。共享显示我当前场景的Xcode Simulator的short screen capture video,可能最容易解释我的进步。
如您所截取的屏幕截图所示,我的项目由三个元素组成(这全部由代码完成,我不导入任何外部资产:]]
基于反馈,我有committed the code to GitHub。
现在,如屏幕截图所示,相机可以旋转,但是相机和对象的旋转中心未对齐,因此它看起来是偏轴旋转的。
我想去的地方:
代码结构简单明了:
class GameViewController: UIViewController { var gameView: SCNView! var gameScene: SCNScene! var cameraNode: SCNNode! var targetCreationTime: TimeInterval = 0 override func viewDidLoad() { super.viewDidLoad() initView() initScene() // createSun() and createCube() called here initCamera() }
并且关于相机位置:
func initCamera() { let camera = SCNCamera() cameraNode = SCNNode() cameraNode.camera = camera cameraNode.position = SCNVector3(x: 0, y: 0, z: 0) cameraNode.rotation = SCNVector4Make(1, 0, 0, .pi/2) }
但是我发现尽管使用了随机的cameraNode.position和cameraNode.rotation值,但相机视图似乎并没有改变。
我的问题
-任何帮助将不胜感激:谢谢!
我即将完成SceneKit中的第一个项目,但是我在最后几步中苦苦挣扎。通过共享Xcode的短屏捕获视频,可能最容易解释我的进步...
在后期为相机使用此答案:57586437,消除相机旋转并关闭相机控制。通过简单的旋转(我将进行一次x,y,z独立旋转来验证它)旋转,这样您就可以知道枢轴点是否正确。默认情况下应该没问题,并且可以在镜头前旋转到位,但这取决于您构建多维数据集的方式。