11 KiB
11 KiB
TODO
- 项目目录中的EditorTools\Python\MaterialSetCharacter\SetCharacter.py 是否是不需要使用的?
- 以前使用的工具脚本,可以不用。
- 思诺生日会
- 道具衣服导入流程。
- 直播流程跑通
- Sequence播放逻辑跑通。
- 角色、衣服重新绑定。以及重定向。
- 角色裸模,骨骼权重传递给衣服。之后修改轴向。
直播流程
PS.
- 码率12000、1080p 一个画面 35Mbps上下行。外部直播需要准备主备路2条,ASoul主线路200M上下行对等。
导播台Server/Client启动流程
- 渲染机机房
- Server先开,桌面找到
ue5 - 直播Server
或者ue4
,启动bat。 - 其他几台渲染机再开,
ue5直播用
。StartClient_win,启动bat。
- Server先开,桌面找到
- 导播台Client顺序随意
- 桌面找到
ue5直播用
文件夹,启动bat。 - StartClient_MotionProcessor.bat、MotionServer.bat,右上一。
- StartClient_MapEnvironment开启4级导播台,右上二
- StartCline_win,开启3级导播台,输入命令Run3。右下二。
- 桌面找到
- 启动青瞳客户端。右下一。
- 开启动捕数据测试工具Qingtong_Record,选择一个数据进行连通性测试。确定右上有输入动捕数据输入。
- 关闭Qingtong_Record,启动CMTracker,桌面有快捷方式。
- 在MotionProcessor中确认青瞳机器的IP正确。
- 动捕棚设备确定。
- 动捕设备确认,确认是否正常输入数据到MotionProcessor。
- 推流机开启,打开OBS填写推流地址,ping一下内网以及网页在线测速确认网络环境正常。左上二,左下一。(左下上一二都可以)
- vMix开启,连接OBS。(左下上一二都可以)
- 使用B站、抖音直播的私密测试账号,推流私密画面确定推流以及音频输出没有问题。
- 确认设备
- 确认使用的平板、iphone等设备的摄像头是胶布贴住的。
- 动捕演员就位,动捕设备就位后,重新开启MotionProcessor。
- 检查
- 检查虚拟偶像模型是否贴地(贴地、浮空)
- 换套衣服,检查肩膀是否有问题。如果有问题使用MotionProcessor修正肩膀效果。
- PVW PGM 时间同步,点击StartCline_win中的时间同步按钮。
导播台使用
- 播放VJ视频
- 远程放置一个远程VJ播放用Actor。
- 远程连麦
- 手机连接。
- 走声卡,传递到调音台。
StreamDock
- 第一行第一个按3下切换成下一页。
- 镜头分专用镜头(LiveArea中设定的镜头)、通用镜头(所有场景都可以使用)
添加道具、物品、场景、特效
- 添加物品道具。
- 目录:Content-Props-CharacterProps-Items,找到对应类型的道具,复制后修改模型资产即可。
- 添加道具类:TsIdelPropActor
- 具有描边、骨骼模型、静态模型、Niagara组件。
- 属性
- 骨骼模型Socket设置,类属性的MountPointToTransform来设置。
- Prop
- DisplayName:导播那里的显示的名称。
- 添加场景
- 添加角色
- 添加衣服
相关Bat作用
- StartListenServer:服务器。
- 导播台
- StartClient_Win:PVW(预览屏)、PGW(推流机)、Preview(小窗口)* 2
- StartClient_Win_VideoProcess:视频处理,将视频推到另外2个View上。
- StartClient_MapEnvironment:导播台,控制地图场景。(4级、1级,视图-Layout处切换)
- StartClient_IdolController_Master:导播台,角色控制相关。(3级)
- StartClient_HandHeldCam:导播台,手持相机。
- StartClient_MotionProcessor:导播台,动捕
- 线下的
- PGM2
- PGMCameraRenderer
- Pico
- StartClient_PicoClient_0
- StartClient_PicoClient_1
- StartClient_PicoClient_2
- StartClient_PicoClient_3
- 启动编辑器:项目目录中的StartEditor_Win.bat
- MotionServer:动捕相关。
修改配置
- MotionServer:通过修改源码来指定IP。
- 上述StartClient_MapEnvironment.Bat修改Server IP。
- 切身份、调试:StartClient_IdolController_Master、PVW(预览屏)、PGW(推流机)、Preview(小窗口),ChangeNetTag Operator.IdolController.Master
Project
- Designer:StreamDock插件相关,包括SreamDock插件工程(直接连接UE打包工程读取相关配置,之后自动生成图标预设并且加载)、若干预设文件。
- Engine:编译版引擎。添加过ShaderModel、修改过Shader、添加过若干Editor代码。
- LiveDirector:导播台项目工程。
- StartLiveDirector:启动Bat文件。
- StartLiveDirectorCluster:分布式启动方案,带一个库。
- Tools:一些第三方库,
- JS加密,加密代码方便给第三方。
- MotionReplayer:动捕数据回放工具。
- MotionServer:动捕数据处理Server。主要用于转发青瞳的动捕数据给其他Client。 MotionServer - Server - DirectorLive Client,使用动画蓝图中的IsMotionProcess变量判断身份。
- 还包括自研的面部App FaceMask的数据转发。
- obs-studio:OBS源码,添加了若干插件,但用不了,因为技术服务属于字节。
- PixelStream:移植自UE官方,UE4版本有若干小改动。UE5版本不用。
- Protobuf:动捕数据传输,google的那个协议。
- VCluster:未完成,用于拉起所有机器的导播台程序。
渲染管线
- 添加ShaderModel。
- ToonLit:通过CustomDatas传入阴影给Diffuse与Specular
- ToonCustomBxDF:只有Diffuse 阴影过渡,Specular靠Matcap。
- 改了ShadingModels.ush.
- Encode/Decode GBuffer.
- UE5 Encode/Decode GBuffer.
Plugins
- AssetProcess:自研?资源规范性检测、安全性检测。
- AVAudioUE4:商城,公用库,音频播放库。
- ChaosBone:自研,骨骼物理模拟插件。
- ChingReciver:青瞳的插件。
- DataTableEditorUntilit:数据表插件。商城。
- DirectAssistanter:辅助工具。
- DTWebBrower:移植自UE、网页浏览器内嵌。
- ControlRig:移植自UE。
- FacialExpression:自研面捕驱动插件。
- FFMepg:移植自FFMEPG。
- GFurPro:毛发插件。
- GloveProcess:自研,手套数据后处理插件。手套数据后处理插件。机器学习算法,姿势会进行匹配选择一个最好的姿势输出。
- JNAAniamtion:自研,动画编辑相关。
- KantanChert:商城,图表插件。
- KawaiiPhysics
- LDAssist:商城,美术编辑工具。
- MotionCapture:青瞳的插件。
- NDIO:NDIO
- PixelCapture:官方
- PixelStream:
- Protobuf:
- puerts
- ReactUMG
- RuntimeImportAudio:商城
- RuntimeEditor:Puerts的相关插件。
- SerialComPLugin:串口插件。一些灯,现在不用了。
- SimpleTCPServer:移植官方加修改,有在用。
- SimpleUDP:移植官方加修改,有在用。
- SPCR 布料插件
- StreamDockLink:
- TextureShare:自研,Pico相关插件,现在没用。
- VRCapture:自研,Pico相关
- VRPlaybackUE:自研,Pico相关。
- VRTrack: 自研,VR手套相关。
Script
- DirectorCam:与24个镜头相关。
- Editor:RuntimeEditor相关。
- LiveDirector:
- Camera
- Characrer:
- Danma:弹幕相关,View以及控制。
- DeckLinkViewProcess:视频处理,叠加UI之类的操作。
- Decoration:UI UMG类定义。
- DeviceINputActor:Media以及串口控制器(Actor)
- DirectorFrameWork:GameMode、Contorl、 UIManage之类的通用框架。
- DirectorToolMenu:编辑器UI相关。
- Level:场景切换控制器。
- LiveArea:直播区域。
- MapEnvironment:Level里的效果以及相关逻辑。天气控制。
- Pico相关。
- Prop:道具相关道具。
- QuickControl:简单UI控制器。
- ScreenPlayerTextureRenderer:将视频渲染成贴图之后再场景中渲染。
- SeiSender:OBS Sei信息。
- VideoStreamTransition:转场功能,闪白、转视频啥的。
- Python:小工具
- Sequoia:运镜录制剪辑工具。自研类似Sequence的 runtime editor,控制镜头。控制灯光。
- SimpleLiveDirector:提供给外部供应商的简单版程序。
Source
- AppShells:做了一半,还没用。
- Editor/HotKeyManager:快捷键相关,可以通过配置实现。
- LiveDirector
- LiveDirectorEditor
- Module:
- BlackMagicInput:UE官方移植,视频采集卡。
- BlackMagicOutput:UE官方移植,视频采集卡。
- DeckLinkOuput:UE官方移植,视频采集卡。
- GameCluster:未完成
- MultiViewRenderer:20个View的UI相关。
- UIModule:UI样式定义,功能。
HotKeyManager
实现UI控件SHotKeyEditor、SHotkeyInput。主要的功能是注册名为HotKeyManager的Tab,里面塞了前面2个UI控件。 TODO:找到在哪使用
LiveDirector
AIACao(后续大概率不会再用)
AI NLP相关,需要自己接入服务。
AIgo(一欧元滤波器)
TODO:找到在哪使用
Animation
- FAnimNode_FullBody:动画蓝图中非MotionProcessor LiveDirector Client使用该节点。
- FSequenceMotionSource:一个单例类(没有继承),猜测与Sequoia系统记录数据有关。
Camera
- DirectorCamera
- CameraCopySettings
- CamTarget
- CamTargetManagerActor
- DroneCamera
Material
ResArt-CommonMaterial-Material,M_ToonHair_v01。v02为新版。
- CommonMaterial-Functions:ShadingModel的骚操作。
Character
- BP_Idlo_Base
- 继承=>
LightChannel
- 角色为LightChannel2。
资源
- ResArt
- CharacterArt
- JiaRan
- CharacterArt
场景:
- BP_ASoulSky:天空盒控制。
- 场景变体:使用UE官方的SceneVariantManager。
- LiveDirector - Editor- SceneVariant :SceneVariantTool
- 使用一个工具蓝图来创建场景变体以此来实现场景溶解切换效果。
实现Sequence控制角色与镜头
- Sequence镜头控制:屏蔽ASoul系统的镜头控制,屏蔽DirectorCam相关功能。
- DirectorCam C++目录着重看Subsystem以及CameraManager。
- 只要的耦合在Puerts脚本中 DirectorCam目录中,TsDirectorCamManagerActor、以及目录下面的StreamDock。
- 1个LiveArea - 1个WorkShop - 多个CameraGroup - 24个镜头
- 录制动画/动捕动画切换:修改动画蓝图。将录制的动画塞入。
- 新添加功能实现24个镜头与Sequence镜头切换,位于DirectorCam - StreamDcok。
修型
在动画蓝图节点中,既控制BlendShape也有骨骼。
StreamDock
- 有了相关操作后刷新StreamDcok。
- 配置蓝图。EUWBP_
- 与LiveArea有关。
- Dock实时读取BP_DefaultCamPlacem的目标Serup。
- 生成LiveArea模板需要使用工具,DirectorTool-生成LiveArea。
- 与LiveArea有关。
FaceMask位置
P4V - Trunk - tools - ARFaceCap
MotionServer
青瞳 -》 UE版MotionServer 重定向、过滤 -》.net MotionServer转发。
UE5版本改动
- 程序方面多了大世界系统逻辑,世界分区(WorldComposition)。其他逻辑是一样的。
- 材质、渲染:使用一些trick技巧强行在材质中塞入一个宏强行打开CustomData来塞ShadowColor。
版本升级
- 程序:升级代码后,QA负责测试。
- TA:效果美术、QA负责观察。