随笔分类 - Unity
摘要://以下是各种光照模型(Lambert、Phong、BlinnPhong、Gourand)的Shader代码,在Unity里创建一个Material后可以选择使用,各行代码都有注释,不再详细解释了。 Shader "MyShader/BaseShader"{//包含Lambert、Phone、Bli
阅读全文
摘要:笔者用Unity3D开发完成一个游戏程序,需要在安卓手机上测试其运行情况,记录下安装和启动的整个过程: 1、在Unity的File里选择Build Settings,然后选择“Platform”下的Android,并单击Build,选择生成的安卓Apk的输出目录并命名apk的名字,如:F:\Unit
阅读全文
摘要:UnpackNormal()函数在UnityCG.cginc中,它是对法线纹理的采样结果的一个反映射操作,其对应的法线纹理需要设置为Normal map的格式,才能使用该函数,如下是函数的原型: // Unpack normal as DXT5nm (1, y, 1, x) or BC5 (x, y
阅读全文
摘要:TANGENT_SPACE_ROTATION 宏 相当于嵌入如下两行代码: float3 binormal = cross( v.normal, v.tangent.xyz ) * v.tangent.w; float3x3 rotation = float3x3( v.tangent.xyz, b
阅读全文
摘要:在编写Shader的时候,经常需要用到内置的结构,这里记录下appdata_base、appdata_tan、appdata_full的结构 struct appdata_base { float4 vertex : POSITION; //顶点位置 float3 normal : NORMAL;
阅读全文