如何在 Unity 中编写着色器:分步指南
特效在游戏中可以增强游戏体验并让您的游戏世界栩栩如生。在本文中,我们将逐步介绍如何使用 Shader 脚本。
开发环境
- Windows 10
- Unity 2020.3
- Rider 2023
步骤 1:创建场景
第一步是在Unity项目中创建一个新的场景,选择带有摄像机和灯光的模板。保存为Simple.unity
创建的场景如下
步骤 2:创建3D物体
在Unity Editor的 Hierarchy 鼠标右键添加一个球体,”3D Object” -> “Sphere”
步骤 3:创建材质
在Project视图的Assets文件夹下创建一个材质球。
命名为 SimpleMat, 将材质球拖到场景创建的球体 Sphere
步骤 4:创建Shader脚本
在Project视图的Assets文件夹下创建一个Shader脚本。
命名为SimpleShader
Shader "mc/SimpleShader"
{
SubShader
{
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
struct appdata
{
float4 vertex : POSITION;
};
struct v2f
{
float4 vertex : SV_POSITION;
};
// 顶点着色器
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
return o;
}
// 片元着色器
fixed4 frag (v2f i) : SV_Target
{
fixed4 col = fixed4(1.0, 0.0, 0.5, 1.0);
return col;
}
ENDCG
}
}
}
可以通过修改 frag 函数中返回的 col值,改变场景中球体的显示颜色
本文由作者按照 CC BY 4.0 进行授权