gpt4 book ai didi

camera - Three.js 第三人称相机

转载 作者:行者123 更新时间:2023-12-02 17:47:10 33 4
gpt4 key购买 nike

我正在尝试在 three.js 中创建第三人称视角

我正在使用 THREE.FirstPersonControls();在我的相机上。然后将我的“播放器”对象的旋转和位置设置为与具有一些偏移量的相机相同。

这似乎行不通。

我更想知道的是,我是否应该将我的 FirstPersonControls 添加到相机,然后在它前面渲染“玩家”。或者给播放器添加控件然后让相机始终指向播放器的背面?

编辑:

我尝试使用 camera.add(player); 将播放器对象设置为相机的子对象;

但是四处移动相机并不会移动播放器。我以为添加一个子元素就意味着它们会一起移动?

编辑 2:

我采用了另一种方法,将摄像机和玩家都添加到一个组中,然后将我的第一人称控件添加到该组中……现在摄像机和玩家都被渲染了。但它完全摆脱了第一人称控制的工作方式。 (例如向下看向左等)

感谢您的帮助,

詹姆斯

最佳答案

首先,控件设计用于控制相机,而不是对象。由于默认情况下,对象在 z 轴上“向上”看,相机在 z 轴上“向下”看,因此当控件应用于相机以外的其他东西时,控件不太可能按预期工作。

其次,控件是示例的一部分,而不是库的一部分,因此它们不受官方支持。您可以随意破解它们。

实现您想要的目标的一种方法是使相机成为您的播放器的子级。像这样:

player.add( camera );
camera.position.set( 0, 50, 100 );

您可能需要在渲染循环中设置:

camera.lookAt( player.position );

然后您想用鼠标或键盘控制播放器。你最好的选择是编写你自己的 Controller 来做到这一点。网上有很多例子。

关于camera - Three.js 第三人称相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13396588/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com