You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
今天在给新的游戏 demo 写摄像机控制器时发现,现在提供的默认 ant.camera|camera_controller 中,控制摄像机使用的是
camera_usage
这个 stage 。camera 的 stage 定义在 ant.camera 的 package.ecs 中:
其中前四个 stage 都只有引擎内部在使用,唯有最后一个被游戏逻辑在用。从名字的意义上讲,它是方便开发者使用当前摄像机的一个时机。在这个 stage 发生时,当前帧的摄像机状态都已经计算完毕。
但摄像机控制器改变的是摄像机本身的状态。似乎和该用途矛盾了。从目前的表现上看,在
camera_usage
中改变摄像机,对update_camera_bounding
等的影响会在下一帧生效。但是,摄像机状态更新后,才进行 render 。即渲染在当前帧生效了。这看起来是由问题的。我今天增加了一个 stage camera_set ,放在第一位:b6f2a4d
我不确定这个修改是否合理,需要 @junjie020 确认一下。
另外,我觉得每个游戏最终会实现自己的摄像机控制系统。有可能由控制设备控制,也可能由程序脚本控制。它们都应该使用独立的
camera_set
这个 stage 。Beta Was this translation helpful? Give feedback.
All reactions