我的Blender游戏中有以下代码:

if bge.logic.KX_INPUT_ACTIVE == keyboard.events[bge.events.QKEY]:
    bpy.context.scene.camera = bpy.data.objects["Camera.Shoulder"]


我的相机已重置为“ Camera.Shoulder”,但除非退出并重新进入场景,否则视图不会改变。有没有一种方法可以在游戏过程中使用新的活动摄像机重新渲染场景,而无需使用逻辑积木(我想要用Python编写所有内容)。

最佳答案

正确的代码应为:

if bge.logic.KX_INPUT_ACTIVE == keyboard.events[bge.events.QKEY]:
    bge.logic.getCurrentScene().active_camera  = bge.logic.getCurrentScene().objects["Camera.Player"]


bge用于游戏引擎逻辑,不知道为什么bpy不起作用。

10-08 05:43