Unity

提高Unity中C#代码质量的22条准则

在C++领域,必看的书是《Effective C++》。而《Effective C#》之于C# ,是类似《Effective C++》之于C++一样的存在。这篇文章,将《Effective C# Second Edition》一书中适用于Unity游戏引擎里使用C#的经验之谈进行了提炼,总结成为22条准则,供各位快速地掌握这本书的知识梗概,在Unity中写出更高质量的C#代码。

unity 着色器内置文件与内置变量

常用的几个内置文件通常都被封装在cginc文件中,通过文件的包含来实现对文件中函数及变量的引用,大家可以到unity的安装目录下找到对应的文件,当然我们也可以写一些自己的cginc文件放置到该目录中,方便自己使用。

unity静态批处理原理理解

CPU在游戏中的主要分工,主要分为两个部分:设置渲染状态和调用DC。 其中设置渲染状态属于比较重要的分工,对于加载到游戏中的资源和对象等,CPU需要计算其顶点相关的矩阵,渲染所用的贴图,渲染所用到的材质和shader,渲染所用到的灯光等。

Unity着色器CGINCLUDE与pass复用

unity会把 CGINCLUDE 和 ENDCG 之间的代码插入到每一个pass中,已达到声明一遍,多次使用的目的。例如,可以在 CGINCLUDE 和 ENDCG 之间 定义多个 顶点和片段方法,在pass里只要写明 #pragma vertex 顶点方法名 #pragma fragment 片段方法名 即可,而不用写具体的函数实现。

unity shader光照模型与光照贴图

我们必须要明白我们是如何看到一个物体的,我们在现实生活中看到某一物体的颜色并不是这个物体真正拥有的颜色,而是它所反射的(Reflected)颜色。换句话说,那些不能被物体所吸收(Absorb)的颜色(被拒绝的颜色)就是我们能够感知到的物体的颜色,所以最终的颜色要由光源的颜色以及物体的颜色来共同决定。