155 lines
		
	
	
		
			7.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			155 lines
		
	
	
		
			7.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
#TODO 远程办公与自动化逻辑 流程尝试
 | 
						||
# 需求与功能整理
 | 
						||
## 杭州部门需求
 | 
						||
- 服务器联机构建
 | 
						||
    - 外包公司场景交付,不构建,效果不一样,构建了会耗费大量时间。
 | 
						||
        - 外包动画镜头时,因为烘焙时间过长,动画师只能使用Hack手段去打光。
 | 
						||
    - Shader联机编译 
 | 
						||
- 网盘搭建
 | 
						||
    - 外包公司资产传递(使用百度云、QQ直接传递)
 | 
						||
- 公司外/内部的资产共享与版本管理
 | 
						||
    - 外包上下游的资产有效性检测,使用Lyda工具进行自动的有效性检查
 | 
						||
    - 使用Win的文件查找功能,找到目标资产比较耗时   
 | 
						||
    - 制作Asset的GameplayTag以及查询工具,以方便其他人调用
 | 
						||
- 远程唤醒
 | 
						||
    - 员工失误将电脑关了使得无法远程控制
 | 
						||
- UE4协作
 | 
						||
    - 多人一起编辑一个虚幻工程
 | 
						||
- 制作流程管理
 | 
						||
    - 使用腾讯文档手动进行管理 卡 的制作进度。问题是这个表格是死的。
 | 
						||
    - 其他公司会使用CGTeamWork。
 | 
						||
    - 可以考虑使用飞书的多维表格,飞书开放了开发接口,可以与版本管理软件、CI/CD连用。https://open.feishu.cn/document/ukTMukTMukTM/uATMzUjLwEzM14CMxMTN/overview
 | 
						||
        - https://www.bilibili.com/video/BV1o44y1a7JT?spm_id_from=333.337.search-card.all.click&vd_source=d47c0bb42f9c72fd7d74562185cee290  
 | 
						||
    - ~~资产生命周期管理(制片 中卡的状态:缩略图、使用的角色资产、资产改进)~~
 | 
						||
    - 还需要制作UE4版本管理插件、以及MovieRenderQueue插件
 | 
						||
- 插件编写
 | 
						||
    - UE4使用同一设置导入ABC
 | 
						||
    - Maya材质导入UE工具
 | 
						||
- 知识库编写
 | 
						||
 | 
						||
## DCC中间文件
 | 
						||
- fbx
 | 
						||
- usd 
 | 
						||
  - Animation Workflows Using Unreal Engine and Maya | Webinar https://www.youtube.com/watch?v=Ddu7TAICAXw
 | 
						||
  - Omniverse平台系列(MDL材质格式)
 | 
						||
- abc
 | 
						||
- vdb
 | 
						||
  - Import VDBs into Unreal Engine 5 https://www.youtube.com/watch?v=iEclyxwCWaY
 | 
						||
  - 使用OpenVDB流程。
 | 
						||
 | 
						||
# 问题解决
 | 
						||
- 大部分需求都需要服务器的支持,而且都是需要外网连接到服务器的,所以最好有网络安全专业人帮忙做好服务器安全防护。
 | 
						||
- 联机烘焙与构建需要占用大量带宽。最好是在使用光纤来搭建局域网。(已经有一些家庭使用光纤了)
 | 
						||
 | 
						||
- 一台数据存储服务器,用于存储数据。(硬盘空间大,同时考虑硬盘可替换性,放置数据丢失)
 | 
						||
- 一台编译构建服务器。(CPU强劲一些,避免存重要数据,腾讯的编译机器1~2年换一次硬盘)
 | 
						||
- 适配光口的网卡、交换机、路由器。
 | 
						||
 | 
						||
## 服务器联机构建
 | 
						||
通过服务器的强劲CPU性能,对编译工作进行加速。
 | 
						||
 | 
						||
- 联机烘焙光影:
 | 
						||
    - 在服务器部署Unreal Swarm,进行联机烘焙。
 | 
						||
    - 或许可以使用GPULightMass提高速度,但效果会与基于CPU的LightMass不同(是否可以和一些一手包方沟通一下?)。
 | 
						||
- 联机编译引擎源码:
 | 
						||
    - 使用FastBuild编译。(亲自测试过)
 | 
						||
    - 二分法查找Bug。
 | 
						||
- 联机编译Shader:
 | 
						||
    - 使用FastBuild编译。需要修改FastBuild与引擎的代码。
 | 
						||
 | 
						||
如果是多地服务器联机编译,卡脖子就是网络带宽问题(上传与下载,目前的企业专线宽带也就1000M)。联机编译能把100M的上传/下载全部吃完,多地服务器没测试过。
 | 
						||
 | 
						||
## 网盘搭建
 | 
						||
使用Centos(Linux) 作为服务器,Docker来部署。系统可以NextCloud、FileSea、Cloudreve(这款有亲自试过,Windows版还未测试过)。
 | 
						||
 | 
						||
## 公司外/内部的资产共享与版本管理
 | 
						||
- 版本管理软件
 | 
						||
    - SVN Git混合:优势是免费。
 | 
						||
    - Perforce:优势是EPIC提供了很多相关工具。
 | 
						||
- CI/CD软件
 | 
						||
    - JB TeamCity
 | 
						||
    - Jenkins
 | 
						||
 | 
						||
建议先使用一台电脑进行流程搭建测试。
 | 
						||
 | 
						||
同时还需要制作插件,给Asset或者Asset包打上标签,方便后续查找资产以及资产复用。(类似大数据的方法)
 | 
						||
 | 
						||
### 流程
 | 
						||
假设分支设计为类似:
 | 
						||
- GitFlow
 | 
						||
    - Master分支
 | 
						||
    - Release分支
 | 
						||
    - 程序Develop分支
 | 
						||
    - 美术Develop分支
 | 
						||
    - Feature分支
 | 
						||
    - HotFixs分支
 | 
						||
 | 
						||
#### 引擎/游戏开发:
 | 
						||
理想的情况下,程序组员在开发完某个功能后,发送给MergeRequest给组长,组长在审阅完之后将其合并至Develop分支。在合并之前会触发Hook,调用自动测试与打包测试功能。部分错误在Development模式不会出现,但会在Shipping模式出现。通过测试之后系统才会完成合并。
 | 
						||
 | 
						||
每个Release版本版本,都应该执行打包与自动部署功能,以保证测试组能够及时收到完整测试版本。
 | 
						||
 | 
						||
上述阶段无论成功与失败都会发送EMail或者调用办公软件(钉钉或者飞书提醒相关组员)。
 | 
						||
 | 
						||
#### UE影片制作:
 | 
						||
从接到外包开始:
 | 
						||
- 使用网盘或者版本管理系统来接收项目
 | 
						||
    - 如果对方愿意使用版本管理系统(Perforce)推荐使用这个,因为上传前会对数据进行压缩,这样传输下效率会更高,并且方便修改。
 | 
						||
    - 如果对方不愿意,可以时候我公司自己搭建的网盘。等上传完之后,CI/CD程序将这个包解压并且加入到Perforce流程。每制作到一定程度,再自动压缩放回网盘。
 | 
						||
    - 使用版本管理的一个好处就是可以来回对比多个版本的效果。(但只限于序列帧,视频的话,只能同时放映进行人肉对比)
 | 
						||
- 制作进度控制。版本系统上传数据之后,会发送EMail或者调用办公软件(钉钉或者飞书提醒相关组员)。
 | 
						||
 | 
						||
#### CI/CD
 | 
						||
- 资产检查
 | 
						||
    - 检查是否有资源引用丢失,避免反工。(外包方资源没有拷贝全,这个问题在打开对应关卡后才会发现)
 | 
						||
- 资产打包测试(UE4的打包测试)
 | 
						||
    - 游戏与引擎开发最好有一个定时打包测试的功能,这样可以及时发现问题,一些问题只有在打包时才会发现。   
 | 
						||
- UE的自动测试框架(偏游戏,与CI/CD配合使用,模拟用户操作)
 | 
						||
    - 蓝图可视化测试
 | 
						||
- 序列帧上传到版本管理系统后,服务器开始压片 
 | 
						||
 | 
						||
#### 自动部署
 | 
						||
- docker 像素流自动部署
 | 
						||
- 开游戏分区
 | 
						||
 | 
						||
#### 给美术同步引擎
 | 
						||
如果使用Perforce,就可以使用官方的UnrealGameSync,来同步引擎与资产。
 | 
						||
 | 
						||
具体需要考虑其他分公司的情况,对于我们这次二次元项目来说,很合适。
 | 
						||
 | 
						||
## 远程唤醒
 | 
						||
对员工电脑的BIOS进行设置以允许服务器对其唤醒,再使用华硕路由器里的插件~~研发一个简单的Web网站~~就可以实现远程唤醒电脑了。(可以节约较多电费)
 | 
						||
 | 
						||
https://zhuanlan.zhihu.com/p/302835122
 | 
						||
 | 
						||
## 联机协作
 | 
						||
### 多人一起编辑一个虚幻工程
 | 
						||
Explore Collaboration with Unreal Engine’s Multi-User Editor | Webinar
 | 
						||
https://www.youtube.com/watch?v=MPIpOdNmNGE
 | 
						||
 | 
						||
这个插件潘翔他们在用。或许可以在以下的应用场景中使用:
 | 
						||
1. 重庆动捕棚,做虚拟拍摄
 | 
						||
2. 杭州帮忙修改场景、打光。
 | 
						||
3. 多地区领导与客户同时审片。
 | 
						||
 | 
						||
 | 
						||
### 网络协作
 | 
						||
[教育直播]虚幻引擎里的团队协作 | Collaboration and Teamwork in Unreal Engine(官方字幕)
 | 
						||
https://www.bilibili.com/video/BV1oZ4y1n7j2?spm_id_from=333.337.search-card.all.click&vd_source=d47c0bb42f9c72fd7d74562185cee290
 | 
						||
 | 
						||
蓝图Asset合并与Diff
 | 
						||
 | 
						||
## 制作流程管理
 | 
						||
 | 
						||
## 知识库编写
 | 
						||
【Obsidian推荐】论文笔记和日程管理,科研好帮手!
 | 
						||
https://www.bilibili.com/video/BV1XR4y1w7jp?spm_id_from=333.1007.top_right_bar_window_default_collection.content.click&vd_source=d47c0bb42f9c72fd7d74562185cee290
 | 
						||
 | 
						||
分享个用Obsidian搭建的小型团队协同工作方案(上-演示与目录设置)
 | 
						||
https://www.bilibili.com/video/BV1oZ4y1U7b9/
 | 
						||
https://zhuanlan.zhihu.com/p/457800106
 | 
						||
 | 
						||
gitbook,Unity使用这个来制作文档。
 | 
						||
 | 
						||
# 任务安排
 |