如何在 SceneKit 中将 allowCameraControl 与相机节点一起使用
Posted
技术标签:
【中文标题】如何在 SceneKit 中将 allowCameraControl 与相机节点一起使用【英文标题】:How to use allowsCameraControl with a camera node in SceneKit 【发布时间】:2016-02-17 11:23:26 【问题描述】:我有一个相机节点,它设置了一个投影变换矩阵(不是身份),并且可以看到一些带有属性模型视图矩阵的 3D 模型。当我将 allowCameraControl 设置为 YES 时,如果做任何手势,我就看不到任何对象.
首先,是否需要设置任何属性让allowCameraControl可以用于用户自定义的相机节点?
其次,我认为只是将相机节点设置为默认节点,并将最终模型视图矩阵设置为 SCNMatrix4Mult(modelViewMatrix,projectionTransformMatrix)。这样做之后,我可以看到 3D 模型,但它们看起来很奇怪。型号不等于屏幕的。
有什么好的解决办法吗?
【问题讨论】:
【参考方案1】:allowsCameraControl
属性很诱人,但也可能令人沮丧。我经常看到“什么都没有”,而真正发生的是我的相机在物体内部,或者指向了我没想到的方向。摆弄和缩小或缩小一两个小时通常会解决它。
一种更可控的方法是将相机放在场景中的已知位置。将它指向一个特定的对象(使用 `SCNLookAtConstraint')。设置 Z 限制以自动调整。
【讨论】:
以上是关于如何在 SceneKit 中将 allowCameraControl 与相机节点一起使用的主要内容,如果未能解决你的问题,请参考以下文章
iOS - Scenekit3D引擎初探之 - 导入模型+上传服务器+下载并简单设置