Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.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
Three.js将对象放置在旋转摄影机中';s视野_Three.js - Fatal编程技术网

Three.js将对象放置在旋转摄影机中';s视野

Three.js将对象放置在旋转摄影机中';s视野,three.js,Three.js,我有一个固定位置的透视摄像头,通过键盘输入绕所有3个轴旋转。以随机间隔,独立于用户输入,我需要将对象放置在相机的视野内,而不管相机朝哪个方向看。对象还需要从摄影机fov中心偏移特定的x和y距离,并从摄影机位置偏移特定的z距离。我无法使用camera.addChild,因为一旦添加对象,我需要通过tweening移动对象,而不依赖于摄影机的移动 如何实现这一点?您希望将点从摄影机空间转换为世界空间 在摄影机的坐标系中,摄影机位于原点,并向下查看其负z轴 将对象放置在摄影机前面(在摄影机的坐标系中)

我有一个固定位置的透视摄像头,通过键盘输入绕所有3个轴旋转。以随机间隔,独立于用户输入,我需要将对象放置在相机的视野内,而不管相机朝哪个方向看。对象还需要从摄影机fov中心偏移特定的x和y距离,并从摄影机位置偏移特定的z距离。我无法使用camera.addChild,因为一旦添加对象,我需要通过tweening移动对象,而不依赖于摄影机的移动


如何实现这一点?

您希望将点从摄影机空间转换为世界空间

在摄影机的坐标系中,摄影机位于原点,并向下查看其负z轴

将对象放置在摄影机前面(在摄影机的坐标系中)

现在,将对象的位置从摄影机空间变换到世界空间:

object.position.applyMatrix4( camera.matrixWorld );

three.js r.69

您希望将点从摄影机空间转换为世界空间

在摄影机的坐标系中,摄影机位于原点,并向下查看其负z轴

将对象放置在摄影机前面(在摄影机的坐标系中)

现在,将对象的位置从摄影机空间变换到世界空间:

object.position.applyMatrix4( camera.matrixWorld );

three.js r.69

您希望将点从摄影机空间转换为世界空间

在摄影机的坐标系中,摄影机位于原点,并向下查看其负z轴

将对象放置在摄影机前面(在摄影机的坐标系中)

现在,将对象的位置从摄影机空间变换到世界空间:

object.position.applyMatrix4( camera.matrixWorld );

three.js r.69

您希望将点从摄影机空间转换为世界空间

在摄影机的坐标系中,摄影机位于原点,并向下查看其负z轴

将对象放置在摄影机前面(在摄影机的坐标系中)

现在,将对象的位置从摄影机空间变换到世界空间:

object.position.applyMatrix4( camera.matrixWorld );

three.js r.69

谢谢你,韦斯特兰利!这是有道理的。我来试试。谢谢你,韦斯特兰利!这是有道理的。我来试试。谢谢你,韦斯特兰利!这是有道理的。我来试试。谢谢你,韦斯特兰利!这是有道理的。我试试看。