记一次从Unity6转TuanJie引擎
前言
自从团结引擎发布,Unity中国愈发收紧了对国际版Unity的限制,现在你甚至没法从国际版的Unity Hub下载国际版的Unity(目前还可以通过科学上网强行下载,但要开tun模式)
更让人烦躁的是,国际版的Unity和团结引擎的Package也不再互通,而且下载也受限,因为这个原因,甚至没法正常打开Unity6的项目了
实在被逼的没办法,准备下载尝试下团结引擎,既然都要捏鼻子开赤了,我们先看看团结引擎近一年都在搞什么飞机
TuanJie引擎
更新记录
团结引擎目前已经更新到1.7(beta),我挑选了从1.0到1.7一些比较有价值的内容
Editor
- 团结引擎编辑器新增资源导入模式:-ondemand。使用该模式时,仅需导入少量资源即可打开项目,后续资源按需自动触发导入;显著缩短了首次打开项目所需时间,减少了磁盘占用。
好评,项目大了之后每次初始化工程都要几分钟时间。希望以后的版本能顺带优化大项目代码编译后需要扫描资源带来的超高耗时
Shader Graph
- ShaderGraph支持UGUIShader
好评,和UGUI无缝衔接,再也不用手写UGUI Shader代码了,毕竟有些潜规则比较难顶
Virtual Geometry
- 新增虚拟几何体系统(试验版)
- 支持windows、linux平台
- 基于GPU驱动的渲染管线
- 适配HDRP
- 精细的GPU剔除
- 可以支持海量的多边形
- 对于Foliage(alpha clip材质)可以开启虚拟几何体功能
- 为light probe增加一种新模式,支持per-pixel采样
- VG物体支持APV的采样
- 添加导入选项来控制是否对小模型生成VG数据
- 增加设置来控制VG所需的buffer budget
- 加入虚拟阴影贴图功能,目前此功能只支持HDRP
- 虚拟几何体Foliage(即AlphaClip物体)支持虚拟几何体阴影和虚拟阴影贴图
- 新增Virtual Geometry Runtime选项,启用该选项将在Build Player或AssetBundles处理启用了虚拟几何体的Mesh资产时,仅保留Cluster数据并舍弃顶点等几何数据
- 在Profiler窗口中Render区域下新增Virtual Geometry绘制相关的信息,包括Pass调用次数,三角形和Cluster绘制数量,GPU显存占用和数据交互等信息
- 使用摄像机相对渲染来渲染虚拟几何体
- 支持在 Profiler 功能中查看虚拟几何体相关的渲染数据
应该是为了对标UE的Nanite,过了下官方文档,发现和现有基建整合的还可以,像什么LOD,Debug窗口,ShaderGraph都有支持,不过目前还是只能跑在HDRP上
Rendering
- 新增URP渲染管线支持Deferred+ 渲染路径,作为增强版延迟渲染方案,提升复杂光照环境下的性能与渲染正确性
- 新增自研STP超分技术 TJSR,利用时空信息重建高分辨率画面,并具备 TAA 抗锯齿特性
- 为URP支持Object Motion Blur
- URP中,iOS平台与macOS平台新增对MetalFX Spatial/Temporal上采样技术的支持,优化渲染效率并降低画质损失,开发者可按需选择启用
- 新增全局光照和反射系统TuanjieGI(实验版本),能够实时渲染出逼真的光照效果,而无需预烘焙光照贴图
比较感兴趣的是TuanJieGI,官方文档说使用屏幕空间光线追踪、距离场等软件光线追踪技术,应该性能和适配性还都可以
Particle System
- 新增全新重写粒子系统Infinity Particle System,功能效果与Built-in Particle System基本对齐
- 提供Build-in Particle System到Infinity Particle System的转换工具
- 支持多粒子系统合并DrawCall
Infinity Particle System 相当于对Built-In的ParticelSystem基于ECS重写,看文档像是这么回事
Animation
- 新增功能:AnimGraph和lk&retarget
不错,AnimGraph和retargt都是UE那边的功能,虽然不用看也知道实现成熟度完全不在一个量级,但开始进步就是好事
Content Pipeline
- 新增CacheServer.DelayUpload支持AssetPostprocessor.OnPostprocessAllAssets中上传资产缓存至CacheServer
- 新增InstantAsset资产管理方案,支持更高效的资产构建和管理
- 新增CacheServer.DeleteArtifacts,支持自定义管理资产缓存
- 新增CacheServer按需下载模式,优化项目启动时间
InstantAsset对DLC的支持有很大帮助
总结
总得来说团结引擎还是做了很多事情的,很多都是大型项目迫切需要解决的痛点,值得表扬
Unity官方一直以来在开发者中的口碑都是:自己byd不做游戏,做的框架工具一坨
或许团结的介入能改变这个情况?
项目升级问题记录
GUID算法内容更改不可逆
团结引擎应当是出于一些底层优化的角度考虑,彻底改写了guid的生成逻辑
这使得只有Unity6转团结引擎,而团结引擎不再能转回Unity6。
好在GUID改变的同时团结引擎保证了引用不丢失, 不然就恶心了
部分dll meta异常导致编译报错
原本Unity6没报错的项目导入团结报错了,看了下是因为dll的import setting被改成了exclude all platform,推荐做法是删除meta文件,重新导入
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 登峰造极者,殊途亦同归。!
评论