Unity物理系统与动画系统的优化
本次来看看Unity编辑器创建资源优化之物理系统的选择和使用,碰撞检测与物理碰撞混用乱用等问题,以及动画系统的优化,本次主要这两点内容。Unity 的内置物理系统 (Nvidia PhysX) 在移动设备上开销较大,应该尽量简化碰撞体,网格碰撞体开销较大,或者一开始就预先烘焙碰撞网格,使用物理方法移动刚体,根据目标帧率修改固定时间间隔等都是优化方案,下面看看具体的优化项有哪些吧。
本次来看看Unity编辑器创建资源优化之物理系统的选择和使用,碰撞检测与物理碰撞混用乱用等问题,以及动画系统的优化,本次主要这两点内容。Unity 的内置物理系统 (Nvidia PhysX) 在移动设备上开销较大,应该尽量简化碰撞体,网格碰撞体开销较大,或者一开始就预先烘焙碰撞网格,使用物理方法移动刚体,根据目标帧率修改固定时间间隔等都是优化方案,下面看看具体的优化项有哪些吧。
本次来看看Unity编辑器创建资源优化,一是合理的场景管理,合理使用预制体来定义场景中重复使用的元素,二是关注Unity UI性能的四类问题,UGUI其实平时使用的比较多,但是误区也多(比如多Canvas独立管理)。而且UI的性能和优化往往是最容易被忽略的一点,看似影响不大,但当一个项目达到了瓶颈的时候,在去优化UI,其中的收益还是非常大的,所以还是需要重视的。
这是Unity性能优化的资源优化第二篇,主要是Texture优化和Animation优化,其实在 SUNTAIL - Stylized Fantasy Village 这个工程里面纹理优化的空间挺大的,主要优化方式是纹理压缩。之前专门调研过各种纹理压缩格式在Android设备上的支持情况(主要是部分OpenGL ES3.0的不支持ASTC压缩),顺便也记录在这里了。
Unity的性能优化是一个永恒的话题,性能优化主要是围着CPU、GPU和内存三大方面进行。先从资源优化开始吧,资源优化涉及到资源加载(CPU、内存),资源渲染(GPU、显存)等方面,也是最容易着手优化的点。主要涵盖了Audio资源、Model资源、Texture资源、Animation资源等,现在逐个来看看优化点以及优化方法,以及最后的对 SUNTAIL - Stylized Fantasy Village 工程的优化前后对比。
Shader 在 Unity 2018 之前都是需要写代码编辑的, Unity 2018 推出了 Shader Graph 插件, Shader Graph可以通过可视化界面拖拽就可以实现着色器的创建和编辑。 后续学习 Shader 的相关笔记都会放在这里,实现了基础的PBR Shader、水面效果、溶解(带边缘溶解)效果、积雪效果等,通过这些 Shader 的学习对 Shader Graph 中基本的 Node 有所了解。
最近通过代码控制Canvas的旋转的时候, 用到了Quaternion表示旋转,这是一种四元数表示方法,Quaternion的内部属性eulerAngles即时旋转的欧拉角表示方式。本文记录一下四元数、欧拉角、旋转矩阵的概念,旋转矩阵的推导过程,以及他们之间的相互转换方式。
最近入手了心仪已久的 VR-Pico Neo 3,价格还不错1900¥拿下,希望 Neo 4晚点出来哈,不然感觉会亏死!基于 Unity 引擎的基础 XR 场景,主要熟悉了一下Pico的SDK引入,手柄交互控制,2D UI交互之类的API。体验了一下其实用起来还蛮简单的,官方文档嘛一言难尽,先看看下面这些Demo呗。