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使用这个来制作文档。
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# 任务安排
							 |