Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 保持在摄影机视图中心的Scenekit对象(Swift)_Ios_Swift_Math_3d_Scenekit - Fatal编程技术网

Ios 保持在摄影机视图中心的Scenekit对象(Swift)

Ios 保持在摄影机视图中心的Scenekit对象(Swift),ios,swift,math,3d,scenekit,Ios,Swift,Math,3d,Scenekit,因此,在我的SceneKit项目中,我有一个可以自由旋转和移动的摄影机,在某些情况下,我有一个对象,它需要与摄影机保持恒定的距离,并且无论摄影机如何旋转,始终处于其视图的中心。不幸的是,我不熟悉SceneKit,不知道如何做到这一点 因此,我要寻找的关键是: 如何使对象始终与摄影机保持相同的距离 如何使对象始终处于摄影机视图的中心,而不管它朝哪个方向看 此时,摄影机和对象(带有长方体几何体的SCNNode)都是同一场景的子对象 我正在用swift编码,所以我更喜欢用它来回答问题,但是如果你在ob

因此,在我的
SceneKit
项目中,我有一个可以自由旋转和移动的摄影机,在某些情况下,我有一个对象,它需要与摄影机保持恒定的距离,并且无论摄影机如何旋转,始终处于其视图的中心。不幸的是,我不熟悉
SceneKit
,不知道如何做到这一点

因此,我要寻找的关键是:

  • 如何使对象始终与摄影机保持相同的距离

  • 如何使对象始终处于摄影机视图的中心,而不管它朝哪个方向看

  • 此时,摄影机和对象(带有长方体几何体的
    SCNNode
    )都是同一场景的子对象

    我正在用
    swift
    编码,所以我更喜欢用它来回答问题,但是如果你在
    objective-c
    中有一个解决方案,那也行


    非常感谢

    想想在现实世界中如何解决这个问题。抓取一个合适长度的二乘四的。使用管道胶带将球连接到一端,并将相机(对准球)连接到另一端

    现在你可以随身携带装备了。球将始终位于摄影机视图的中心,并与摄影机保持恒定的距离


    实际上,您可以在SceneKit中构建相同的装备。创建一个新的SCNNode作为装备(代替二乘四)。将球作为子节点添加到(0,0,0)。在(0,0,5)处也将摄影机添加为子节点(摄影机向下看-Z轴,因此此位置应将球放置在视图的中心)。现在,您可以将装备节点移动到场景中您想要的任何位置,这样您将获得一致的球位置。

    很好的类比。虽然我在SCNNode上没有看到ductTape方法。可能会提交一个bug?;)难道你不想让装备和球成为摄影机的子对象,这样当摄影机旋转时,装备也会旋转吗?制作摄影机的装备/球子对象将具有相同的效果,如果这样建模对你更有意义,你应该这样做。只要球和相机连接到同一节点,球的相对视图就不会改变。