纹理Mipmap流
在Unity 2018.2中,我们根据需要向内存添加了纹理Mipmap流支持,启用此功能可以减少Unity应用的纹理内存要求。
1
如何运行
启用此系统后,Unity将仅在网格靠近已激活的摄像机时,加载更高分辨率的纹Mipmap。高分辨率Mipmap数据保存在内存中,整体的纹理内存会限制在用户定义的预算范围内。
如果在加载新的纹理Miplevel后,纹理内存超出预算,那么与摄像机距离最远网格上的较高分辨率Midmap会从内存中释放出来。
2
加速初次载入时间
由于首次加载的纹理数据减少,即仅加载较低分辨率Mipmap,初始场景的载入速度也会加速。初始加载速度的提升效果将根据平台有所不同。
3
更多的可控性
你可以完全控制Texture Mipmap Streaming系统,决定哪些Mipmap会加载到内存中。通常Unity会加载所有存储在硬盘上的Mipmap,但使用此系统,你可以直接控制要加载哪些Mipmap等级。
该系统还会占用一小部分的CPU时间,从而节省大量的GPU内存。
4
启用和管理过程十分简单
通过质量设置(Quality Setting)可以轻松启用该功能,你可以定义每个纹理是否应进行流式处理,你也可以查询指标,以识别纹理内存的使用情况,同时还能节省内存。
你还可以调整各种设置来控制系统,从而平衡内存节省和CPU消耗,并允许你优先处理一些纹理,例如:将角色纹理优先于环境纹理。
C#动画作业
AnimationPlayables现在允许用户编写自定义的C# Playables来直接与动画数据进行交互。
用户也可以编写多线程C#代码来控制PlayableGraph所使用的AnimationStream数据,它也允许将用户编写的IK解算器、程序化动画或甚至是自定义混音器集成到当前动画系统中。
粒子系统的改进
下面在Unity 2018.1中的粒子系统改进:
支持多达8个UV:这使你可以使用比以往更多的自定义数据。
MinMaxCurve和MinMaxGradient:现在可以在自定义脚本中和粒子系统外使用这二个类型,从而匹配粒子系统UI所使用的风格。
线性颜色空间:上传粒子系统数据到GPU前,粒子系统能适时将颜色转换为线性空间。
从精灵发射:我们给形状(Shape)模块加入了二个新模式,从而使它能够从精灵或SpriteRenderer组件发射对象,并将粒子发射效果与精灵视效完美匹配。
BakeMesh:我们新增了二个API来将粒子系统的几何体烘焙到网格中: BakeMesh会烘焙粒子几何体,BakeTrailsMesh会将轨迹模块(Trails module)烘焙到网格中。
仅显示选取的对象(即Solo Mode):这是一个用户非常需要的功能,我们使得这个功能更具探索性和易用性,并在场景视图的Overlay层加入了其它预览控件,例如:播放、重放和暂停等控件。
ETC纹理支持:当你在纹理集动画(Texture Sheet Animation)模块中使用精灵时,带有独立Alpha纹理的着色器现在可以在粒子上使用了。
更多unity2018的功能介绍请到paws3d学习中心查找。