# 直播流程 ## 服务拉起顺序 1. Server先开 2. 导播台Client顺序随意 ## 相关Bat作用 1. StartListenServer:服务器。 2. 导播台 1. StartClient_Win:PVW(预览屏)、PGW(推流机)、Preview(小窗口)* 2 2. StartClient_Win_VideoProcess:视频处理,将视频推到另外2个View上。 3. StartClient_MapEnvironment:导播台,控制地图场景。(4级、1级,视图-Layout处切换) 4. StartClient_IdolController_Master:导播台,角色控制相关。(3级) 5. StartClient_HandHeldCam:导播台,手持相机。 6. StartClient_MotionProcessor:导播台,动捕 7. 线下的 1. PGM2 2. PGMCameraRenderer 8. Pico 1. StartClient_PicoClient_0 2. StartClient_PicoClient_1 3. StartClient_PicoClient_2 4. StartClient_PicoClient_3 5. MotionServer:动捕相关。 ## 修改配置 1. MotionServer:通过修改源码来指定IP。 2. 上述StartClient_MapEnvironment.Bat修改Server IP。 3. 切身份、调试:StartClient_IdolController_Master、PVW(预览屏)、PGW(推流机)、Preview(小窗口),ChangeNetTag Operator.IdolController.Master # Project 1. Designer:StreamDock插件相关,包括SreamDock插件工程(直接连接UE打包工程读取相关配置,之后自动生成图标预设并且加载)、若干预设文件。 2. **Engine**:编译版引擎。添加过ShaderModel、修改过Shader、添加过若干Editor代码。 3. **LiveDirector**:导播台项目工程。 4. StartLiveDirector:启动Bat文件。 5. StartLiveDirectorCluster:分布式启动方案,带一个库。 6. Tools:一些第三方库, 1. JS加密,加密代码方便给第三方。 2. MotionReplayer:动捕数据回放工具。 3. **MotionServer**:动捕数据处理Server。主要用于转发青瞳的动捕数据给其他Client。 MotionServer - Server - DirectorLive Client,使用动画蓝图中的IsMotionProcess变量判断身份。 1. 还包括自研的面部App FaceMask的数据转发。 4. obs-studio:OBS源码,添加了若干插件,但用不了,因为技术服务属于字节。 5. PixelStream:移植自UE官方,UE4版本有若干小改动。UE5版本不用。 6. Protobuf:动捕数据传输,google的那个协议。 7. VCluster:未完成,用于拉起所有机器的导播台程序。 ## 渲染管线 1. 添加ShaderModel。 1. ToonLit:通过CustomDatas传入阴影给Diffuse与Specular 2. ToonCustomBxDF:只有Diffuse 阴影过渡,Specular靠Matcap。 2. 改了ShadingModels.ush. 3. Encode/Decode GBuffer. 4. UE5 Encode/Decode GBuffer. ## Plugins 1. AssetProcess:自研?资源规范性检测、安全性检测。 2. AVAudioUE4:商城,公用库,音频播放库。 3. ChaosBone:自研,骨骼物理模拟插件。 4. ChingReciver:青瞳的插件。 5. DataTableEditorUntilit:数据表插件。商城。 6. DirectAssistanter:辅助工具。 7. DTWebBrower:移植自UE、网页浏览器内嵌。 8. ControlRig:移植自UE。 9. FacialExpression:自研面捕驱动插件。 10. FFMepg:移植自FFMEPG。 11. GFurPro:毛发插件。 12. GloveProcess:自研,手套数据后处理插件。手套数据后处理插件。机器学习算法,姿势会进行匹配选择一个最好的姿势输出。 13. JNAAniamtion:自研,动画编辑相关。 14. KantanChert:商城,图表插件。 15. KawaiiPhysics 16. LDAssist:商城,美术编辑工具。 17. MotionCapture:青瞳的插件。 18. NDIO:NDIO 19. PixelCapture:官方 20. PixelStream: 21. Protobuf: 22. puerts 23. ReactUMG 24. RuntimeImportAudio:商城 25. RuntimeEditor:Puerts的相关插件。 26. SerialComPLugin:串口插件。一些灯,现在不用了。 27. SimpleTCPServer:移植官方加修改,有在用。 28. SimpleUDP:移植官方加修改,有在用。 29. SPCR 布料插件 30. StreamDockLink: 31. TextureShare:自研,Pico相关插件,现在没用。 32. VRCapture:自研,Pico相关 33. VRPlaybackUE:自研,Pico相关。 34. VRTrack: 自研,VR手套相关。 ## Script 1. DirectorCam:与24个镜头相关。 2. Editor:RuntimeEditor相关。 3. LiveDirector: 4. Camera 5. Characrer: 6. Danma:弹幕相关,View以及控制。 7. DeckLinkViewProcess:视频处理,叠加UI之类的操作。 8. Decoration:UI UMG类定义。 9. DeviceINputActor:Media以及串口控制器(Actor) 10. DirectorFrameWork:GameMode、Contorl、 UIManage之类的通用框架。 11. DirectorToolMenu:编辑器UI相关。 12. Level:场景切换控制器。 13. LiveArea:直播区域。 14. MapEnvironment:Level里的效果以及相关逻辑。天气控制。 15. Pico相关。 16. Prop:道具相关道具。 17. QuickControl:简单UI控制器。 18. ScreenPlayerTextureRenderer:将视频渲染成贴图之后再场景中渲染。 19. SeiSender:OBS Sei信息。 20. VideoStreamTransition:转场功能,闪白、转视频啥的。 21. Python:小工具 22. Sequoia:运镜录制剪辑工具。自研类似Sequence的 runtime editor,控制镜头。控制灯光。 23. SimpleLiveDirector:提供给外部供应商的简单版程序。 ## Source 1. AppShells:做了一半,还没用。 2. Editor/HotKeyManager:快捷键相关,可以通过配置实现。 3. LiveDirector 4. LiveDirectorEditor 5. Module: 1. BlackMagicInput:UE官方移植,视频采集卡。 2. BlackMagicOutput:UE官方移植,视频采集卡。 3. DeckLinkOuput:UE官方移植,视频采集卡。 4. GameCluster:未完成 6. MultiViewRenderer:20个View的UI相关。 7. UIModule:UI样式定义,功能。 ## Material ResArt-CommonMaterial-Material,M_ToonHair_v01。v02为新版。 - CommonMaterial-Functions:ShadingModel的骚操作。 ## Character - BP_Idlo_Base - 继承=> ## LightChannel 1. 角色为LightChannel2。 ## 资源 - ResArt - CharacterArt - JiaRan 场景: - BP_ASoulSky:天空盒控制。 - 场景变体:使用UE官方的SceneVariantManager。 - LiveDirector - Editor- SceneVariant :SceneVariantTool - 使用一个工具蓝图来创建场景变体以此来实现场景溶解切换效果。 # 实现Sequence控制角色与镜头 1. Sequence镜头控制:屏蔽ASoul系统的镜头控制,屏蔽DirectorCam相关功能。 1. DirectorCam C++目录着重看Subsystem以及CameraManager。 2. 只要的耦合在Puerts脚本中 DirectorCam目录中,TsDirectorCamManagerActor、以及目录下面的StreamDock。 3. 1个LiveArea - 1个WorkShop - 多个CameraGroup - 24个镜头 2. 录制动画/动捕动画切换:修改动画蓝图。将录制的动画塞入。 3. 新添加功能实现24个镜头与Sequence镜头切换,位于DirectorCam - StreamDcok。 # 修型 在动画蓝图节点中,既控制BlendShape也有骨骼。 # StreamDock 1. 有了相关操作后刷新StreamDcok。 2. 配置蓝图。EUWBP_ 1. 与LiveArea有关。 1. Dock实时读取BP_DefaultCamPlacem的目标Serup。 2. 生成LiveArea模板需要使用工具,DirectorTool-生成LiveArea。 # FaceMask位置 P4V - Trunk - tools - ARFaceCap