切换深浅主题
运行时模型与射击手感调参
常用说法:运行时模型调参、射击手感、实时改 CubeLand Model、模型位置和命中位置一致。
使用入口
- Unity Editor 进入关卡,选中
CubeLandGamePlayMap/CubeLandCore/CubeLand Model。 - 在
CubeLandModelTuning的 Inspector 开启“运行时模型调参”。默认停止模型自转,射击继续;可单独开启“继续自动旋转”。 - 通过 Transform 或 Scene 操作模型位置、旋转和正数缩放;同一面板调整射击间隔、子弹飞行时长、弹道弧度、瞄准转速、自转速度和拖尾时长。
- “恢复共用配置”重置姿态和参数;“复制当前参数”将当前世界位置、旋转、局部缩放、旋转中心和射击参数复制为 JSON。
- “保存到共用配置”显式写入
Art/Gameplay/Composition.asset,退出 Play Mode 后保留,并影响共用该配置的关卡。模型保存要求等比缩放,反算后的缩放倍率至少为 0.001;非等比试调可复制参数。
试调使用当前实例的配置副本。关闭调参时恢复共用配置并释放副本;退出关卡也会释放。保存模型姿态会反算当前关卡的 view.pos/rot/scale/center,并关闭 FitModelToViewport,避免重新进关后自动缩小手调尺寸。恢复按钮支持模型和参数 Undo;资产保存后的 Undo 沿用 Unity 标准的 dirty/保存流程。
坐标与射击边界
- 核心寻敌、遮挡和目标仍使用模型局部坐标;真实炮口每帧转换到该空间,弹道落点和命中特效用同一个最终
ModelRoot转回世界坐标。 - 手调姿态后捕获新的模型旋转中心;自动旋转不会拉回原位置。屏幕尺寸、横幅和构图刷新保留调参中的模型姿态。
- 发射时锁定目标、起点与飞行时长;在途子弹的世界落点继续跟随目标。飞行时长修改只影响新子弹;弧度、拖尾等视觉参数即时生效。固定时长下,距离越远,视觉弹速越快。
- 零、负数或无效缩放,以及无效射击参数,会显示错误并停止该实例推进;修正或恢复配置后继续。
- 调参组件和 Inspector 仅在 Editor 创建;发布版本读取保存后的共用配置,核心层不依赖 Editor 工具。
源码入口
Runtime/Presentation/CubeLandModelTuning.cs:实例副本、模型变换捕获、恢复和快照反算。Editor/LevelPreview/CubeLandModelTuningEditor.cs:中文 Inspector、Undo、复制与显式保存。Runtime/Presentation/CubeLandGame.cs:模型布局、每帧瞄准、逻辑炮口、弹道与命中特效同步。Runtime/Presentation/CubeLandComposition.cs、Art/Gameplay/Composition.asset:共用构图与射击参数;FireInterval接入LevelSession.FireInterval。Runtime/Gameplay/ShotState.cs:发射时长与模型局部落点;BoardState.cs:局部空间寻敌和遮挡。
关联:gameplay、level-editor。美术与构图入口见 docs/art/gameplay-visuals.md。