6.3 KiB
6.3 KiB
Editor Console 方法文档
概述
Editor Console 是游戏编辑器中的命令行系统,用于执行各种便捷操作。按 ~ 键(Esc下方)打开控制台,支持历史记录和参数自动补全。
基础操作
tp(Vector3 pos)
将场景相机移动到指定坐标
示例:
tp [10,5,0] // 移动到坐标(10,5,0)
tp [0,2,-3] // 移动到坐标(0,2,-3)
tp(0, 0, 15) // 使用括号格式
tp()
将场景相机移动到当前选中对象的位置
示例:
tp // 直接传送到选中对象位置
要求: Inspector中必须选中对象
ReName(string message)
重命名当前选中对象
示例:
ReName "NewTrackName"
ReName "PlayerSpawnPoint"
ReName("EnemyPath_01") // 括号格式
路径生成
Lgp(int loop, Vector3 start, Vector3 end, bool Clear = false, bool offsetOrigin = false)
在选中的Track上生成线性路径节点
参数:
loop: 节点数量(必须大于1)start: 起始坐标end: 结束坐标Clear: 是否清除现有节点offsetOrigin: 是否基于原节点变换偏移
示例:
Lgp 10 [0,0,0] [5,0,5] // 生成10个节点的直线
Lgp 5 [1,2,3] [10,2,3] true // 清除旧节点后生成新路径
Lgp 8 [0,0,0] [0,10,0] false true // 保留并偏移原有节点
Spiral 螺旋路径生成
主轴方向螺旋
Spiral(int loop, Vector3 center, float r, float h, int pointsPerTurn, string axis = "y")
自定义方向螺旋
Spiral(int loop, Vector3 center, float r, float h, int pointsPerTurn, Vector3 dir)
示例:
// Y轴螺旋(默认)
Spiral 20 [0,0,0] 3 10 8
// Z轴螺旋
Spiral 20 [0,0,0] 3 10 8 "z"
// 自定义方向螺旋
Spiral 15 [1,2,3] 2 5 6 [1,1,0]
// 复杂螺旋路径
Spiral(30, [5,0,5], 4.0, 15.0, 10, [0,1,1])
数据处理
SamplerImport(string inputData)
导入采样器格式的音符数据
数据格式: (动作类型, 轨道ID, 时间戳, X值, [Hold持续时间])
支持的动作类型:
Tap: 点击音符Stay: 停留音符Hold: 长按音符(需要持续时间)Flick: 滑动音符
示例:
// 单个音符导入
SamplerImport "(Tap, Track1, 12.5, 3.2)"
// 多个音符批量导入
SamplerImport "(Tap, MainTrack, 10.0, 1.5)\n(Hold, SideTrack, 15.0, -2.1, 3.5)"
// 复杂序列
SamplerImport "
(Tap, RedTrack, 5.2, 0.0)
(Stay, BlueTrack, 7.8, 2.5)
(Hold, GreenTrack, 12.3, -1.0, 4.2)
(Flick, YellowTrack, 18.6, 3.0)
"
ExportNotesFromTrack()
导出当前Track下所有音符为正则格式文本
示例:
ExportNotesFromTrack // 自动复制到剪贴板
输出示例:
(Tap, MainTrack, 5.200, 0.000) (Stay, MainTrack, 7.800, 2.500) (Hold, MainTrack, 12.300, -1.000, 4.200)
音符操作
SetNoteHLInGame(bool forceSetOff = false, bool SameTheme = false)
全局高亮重复时间点的音符
示例:
SetNoteHLInGame // 高亮所有重复时间点音符
SetNoteHLInGame true // 先关闭所有高亮再重新高亮
SetNoteHLInGame false true // 只高亮同类型重复音符
SetNoteHLInElement(bool forceSetOff = false, bool SameTheme = false)
在当前元素内高亮重复时间点的音符
示例:
SetNoteHLInElement // 在当前选中的Track内高亮
SetNoteHLInElement true // 重置后高亮
AttachNoteInNearestTrail()
将轨道上的音符吸附到最近的轨迹线
示例:
AttachNoteInNearestTrail // 自动吸附所有音符到最近轨迹
要求: 必须选中Track对象
动画操作
swapDisplacement()
反转位移动画方向(正负值互换)
示例:
swapDisplacement // 将选中的位移动画反向
要求: 选中Displacement元素
swapSwirl()
反转旋转动画方向
示例:
swapSwirl // 反转旋转动画
要求: 选中Swirl元素
swapScale()
反转缩放动画方向
示例:
swapScale // 反转缩放动画
要求: 选中Scale元素
FloorAnim()
为动画属性添加0时刻关键帧
示例:
FloorAnim // 确保所有动画从时间0开始
对象管理
DelSameInParent()
删除父对象中所有同类型的兄弟元素(包括自身)
示例:
DelSameInParent // 删除当前选中类型的所有同级对象
AdjustPathnodeZ(float OriginZpoint, float scale)
调整PathNode的Z坐标缩放
示例:
AdjustPathnodeZ 0 2.0 // 以Z=0为原点,2倍缩放
AdjustPathnodeZ 5 0.5 // 以Z=5为原点,缩小一半
高级功能
SplitHoldToTrack(int PathnodesCount)
将选中的Hold音符分割为带路径的新Track
示例:
SplitHoldToTrack 5 // 分割为5个路径节点的Track
SplitHoldToTrack 10 // 更精细的分割
要求: 选中Hold对象,父Track为Movable类型
SplitAllHoldToTrack(int PathnodesCount)
将Track下所有Hold音符分割
示例:
SplitAllHoldToTrack 5 // 分割当前Track下所有Hold音符
要求: 选中Track对象
Rebuild()
强制刷新所有游戏元素和轨道路径
示例:
Rebuild // 完全重建场景,解决显示问题
使用技巧
参数格式
// 空格分隔格式
func "abc" 1 2 [0,1,2]
// 括号分隔格式
func("abc", 1, 2, [0,1,2])
// 混合使用
Lgp 10 [0,0,0] [5,5,5] true
常用工作流示例
快速创建路径:
// 1. 选择Track
// 2. 生成直线路径
Lgp 8 [0,0,0] [10,0,5]
// 3. 生成螺旋补充
Spiral 12 [5,2,2] 2 6 4
批量处理音符:
// 1. 导入数据
SamplerImport "(Tap, Track1, 5.0, 1.0)"
// 2. 检查重复音符
SetNoteHLInGame
// 3. 吸附到轨迹
AttachNoteInNearestTrail
// 4. 导出验证
ExportNotesFromTrack
故障排除
- 对象未选中: "Please select a Track first!"
- 参数错误: "Loop must be greater than 1!"
- 类型不匹配: "Please select a Displacement first!"
- 功能未启用: "Please enable 'Note Prefab' in EditorManager"
使用前请确认:
- 正确选中目标对象
- 参数类型和数量匹配
- 相关功能已启用(如Note Prefab)
- 操作前建议保存工程