diff --git a/02-Note/DAWA/ASoul/导播台笔记/RuntimeEditor.md b/02-Note/DAWA/ASoul/导播台笔记/RuntimeEditor.md index 792d600..6b918f6 100644 --- a/02-Note/DAWA/ASoul/导播台笔记/RuntimeEditor.md +++ b/02-Note/DAWA/ASoul/导播台笔记/RuntimeEditor.md @@ -1 +1,84 @@ -# +# 前言 +输入`run`显示所有命令说明。 +- PVW: 切换PVW +- PGM: 切换PGM +- 0: 切换Operator +- 3: 切换三级 +- HandCam: 切换手持相机 +- 11: 切换FreeMove +- ReMidi: 刷新midi板子 +- DebugFrame: debug frame +- EnterArea: 进入Area (可填uuid) +- xs: 进入异世界雪山1 Area (测试用) +- DMXAlign: 强行对齐DMX-Area +- ReDeck: 强行加载当前区域的镜头数据并刷新StreamDeck +- IdolStatus: 角色动作状态 +- AllIdolStatus: 所有角色动作状态 +- IdolRelativeTr: 所有角色位置信息 +- MotionLog: 角色动作Log +- IdolCache: 角色缓存情况(ServerOnly) +- GetMotionOffset: 获取动作时间偏移 +- MotionReceiveStatus: 角色动作数据接收情况 +- ResetOffsetTime: 重置所有角色动作包时间偏移 +- SetRes: 设置目标分辨率,如run SetRes 1920 1080 +- HipsTranslation: 使用Hips位移 +- IdolCostume: 加4个团服角色 +- ShowUI: UE4中的ShowUI指令迁移 +- BindPGM2: 重新绑定PGM2的固定机位 +- LipSync: 设置LipSync音频-静音阈值 +- UdexGlove: 使用宇叠科技新手套(部分角色适用) +- GenerateMeshConfig: 生成 mesh config(技术用) + +涉及到: +- TsLiveDirectorGameInstance.ts +- TsDirectorConsoleCommandHandler.ts + +# 命令执行逻辑 +## Run +TsDirectorConsoleCommandHandler.ts +```ts +static HandleConsoleCommand(gameInstance: TsLiveDirectorGameInstance, consoleCommand: string): void { + if(consoleCommand == '' || consoleCommand.toLocaleLowerCase() == 'help'){ + TsDirectorConsoleCommandHandler.Help() + return + } + var parts = consoleCommand.split(' ') + var funcName = parts[0] + var func = TsDirectorConsoleCommandHandler.GetFunctionByName(funcName) + if (func == null) { + console.error('Not exist cmd ' + consoleCommand) + return + } + + switch (parts.length) { + case 1: func(gameInstance); break; + case 2: func(gameInstance, parts[1]); break; + case 3: func(gameInstance, parts[1], parts[2]); break; + case 4: func(gameInstance, parts[1], parts[2], parts[3], parts[4]); break; + case 5: func(gameInstance, parts[1], parts[2], parts[3], parts[4], parts[5]); break; + default: console.error('Cmd paramenter is wrong!') + } +} +``` + +主要的几个切换导播台的命令基本是调用`gameInstance.SetDirectorModeStr("XXX")`。 + + +TsLiveDirectorGameInstance.ts +```typescript +Run(CMDStr: $Ref) : void{ + let consoleCommand = $unref(CMDStr) + TsDirectorConsoleCommandHandler.HandleConsoleCommand(this, consoleCommand) +} +``` + + + +## SetDirectorModeStr +位于`ULiveDirectorGameInstance` +TsLiveDirectorGameInstance.ts + +# RuntimeEditor插件 + +# 三级导播台 +run 3 \ No newline at end of file diff --git a/02-Note/DAWA/ASoul/导播操作笔记.md b/02-Note/DAWA/ASoul/导播操作笔记.md index 3331922..4d8dde3 100644 --- a/02-Note/DAWA/ASoul/导播操作笔记.md +++ b/02-Note/DAWA/ASoul/导播操作笔记.md @@ -164,7 +164,7 @@ PS. 22. puerts 23. ReactUMG 24. RuntimeImportAudio:商城 -25. RuntimeEditor:Puerts的相关插件。 +25. RuntimeEditor:ASoul导播台的实时编辑器模块。 26. SerialComPLugin:串口插件。一些灯,现在不用了。 27. SimpleTCPServer:移植官方加修改,有在用。 28. SimpleUDP:移植官方加修改,有在用。