Camera
查看 Markdown自由视角与俯视相机。
include/XBase/Camera.h · XBase::Camera
相机模式、输入和恢复快照由 XBase 持有;宿主只切换模式并同步设置,不直接写相机对象。
enum class Mode {
Disabled,
Freecam,
TopDown,
};
struct Settings {
float freecamFov = 70.0f;
int freecamSpeed = 1;
int topDownZoom = 40;
};
bool SetMode(Mode mode);
Mode GetMode();
bool IsActive();
void SetSettings(const Settings& settings);
Settings GetSettings();SetSettings() 会收敛范围:freecamFov 限制在 10115,10,freecamSpeed 限制在 1topDownZoom 限制在 10~100;自由视角激活时立即应用 FOV。
WASD 移动,鼠标控制朝向;Shift 加速,Alt 减速。Ctrl 时改为调整 FOV。Enter 把玩家传送到当前视角位置的地面。topDownZoom 决定;玩家进入载具时按速度自动拉远。void NotifyGameInit();
void Process();
void Shutdown();NotifyGameInit() 会把模式复位为 Disabled;Process() 由 Core 领域分发;Shutdown() 恢复相机与 HUD 状态。SetMode() 切换失败时返回 false 并保持原模式。
| FeatureCapability | SA | VC | III |
|---|---|---|---|
| CameraFreecam / CameraTopDown | ✅ | ✖ | ✖ |
VC/III 只接受 SetMode(Mode::Disabled),其余模式返回 false;页面应通过 FeatureCapability 禁用入口。
评论