gpt4 book ai didi

python - Panda3d 中基础对象如何控制相机

转载 作者:行者123 更新时间:2023-11-30 22:00:27 25 4
gpt4 key购买 nike

我正在尝试在 Panda3d 引擎中创建自定义几何体。接下来的代码工作 100% 正确。

class FooBarTriangle(ShowBase):
def __init__(self):
super(self).__init__()

self.disable_mouse()
self.set_frame_rate_meter(True)

self.accept("escape", sys.exit)
self.accept("space", lambda: print(self.camera.get_pos()))
self.camera.set_pos(0, 0, 10)
self.camera.look_at(0, 0, 0)

self._add_light()
self._add_triangle()


def _add_light(self):
# Adds a point light
pass

def _add_triangle(self):
# Adds a single triangle in a certain place
pass

当我从代码中删除 base.disableMouse() 时,神秘的事情发生了。我希望我的相机可以移动并出现在 (0, 0, 10) 位置,看着 (0, 0, 0)。但是,相反,相机位于 (0, 0, 0) 位置,我不知道它看起来在哪里。

为什么会发生这种情况?

最佳答案

发生这种情况是因为 Panda3D 有一个默认的相机控件(默认相机驱动),如果你不调用 disableMouse(),Panda3D 将不会移动您的相机通过调用camera.set_pos(x, y, z),但只允许通过指定的控件移动,如可读取的 herehere在手册中。

如果您希望能够通过代码将相机放置在 (0, 0, 0) 之外的任何位置,则必须编写自己的相机 Controller ,或者仅使用链接上指示的控件在场景中移动。

关于python - Panda3d 中基础对象如何控制相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54321864/

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