0%

本次来看看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呗。

泛型是OOP语言中三大特征的多态的最重要的体现,协变的作用就是可以将子类泛型隐式转换为父类泛型,而逆变就是将父类泛型隐式转换为子类泛型。除了协变和逆变,本文也涉及到C#泛型具体语法、原理、泛型约束、泛型缓存等内容。

有时候需要C#调用C/C++库,如果是异步调用必然涉及回调函数,本文记录一下C#如何调用C++以及如何处理Native的回调。首先生成Windows下的动态库 DLL可以参考: 《演练:创建和使用自己的动态链接库 (C++)》 ,由于是在Windows环境,所以没有做关于平台区分的宏定义。