如何在 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 与相机节点一起使用的主要内容,如果未能解决你的问题,请参考以下文章

如何将复杂的 .dae 模型导入到 SceneKit?

iOS - Scenekit3D引擎初探之 - 导入模型+上传服务器+下载并简单设置

如何在 SceneKit 中使用 SCNBufferBindingBlock?

如何在 SceneKit 中显示金属和透明纹理?

SceneKit - 如何获取 .dae 模型的动画?

如何防止 SceneKit 中的 SpriteKit 覆盖拉伸?