在unity中建立最小的shader(Minimal Shader)

1、创建一个Shader

打开unity选择File > New Project... 选择Create New Project 创建一个空的项目(不导入任何包);在Project视窗中点击Create选择Shader,创建一个新的Shader默认名为NewShader(这里选择Project视窗中的NewShader按F2可以更改名称);然后双击打开NewShader,系统会在MonoDevelop中打开一个名为NewShader.shader的文件,将文件内容全部删除,更改为如下内容:

Shader  "Cg basic shader" {                                  // 定义 shader名 
         SubShader {                                                
                       Pass {                                           
                                     CGPROGRAM               // 开始Unity Cg编程
                                     #pragma vertex vert       // 定义一个vertex shader函数对象
                                                                           
                                     #pragma fragment frag   // 定义一个 fragment shader函数对象
                                                                         
                                   float4 vert(float4 vertexPos :POSITION) :SV_POSITION 
                                      {
                                        return   mul(UNITY_MATRIX_MVP, float4(1.0,1.0,1.0,1.0) * vertexPos);
                                             // 这里定义shader的vertex 属性 ,shader的形状可有float4中的四个参数值来确定
                                            //目前shader是一个体积,若float4(0.1,0.1,1.0,1.0)则是一个面
                                      }


                                  float4 frag(void) :COLOR 

                                    {
                                        return  float4(1.0, 0.0, 0.0, 1.0); 
                                          // 这里定义shader的fragment 属性,shader的颜色可有float4中的四个参数值确定
                                         // 当前为红色不透明 (red = 1, green = 0, blue = 0, alpha = 1)

                                    }
                                      ENDCG   // 结束Cg编程 
                          }
                     }
                 }

然后选择File > Save保存文件。

2、创建一个Material并将Shader附在该素材上。

 在Project视图中点击Create选择Material创建一个名为New Material的素材,然后将上一步创建的NewShader拖拽至New Material之上这样一个含有Shader的素材就建立完成了,在Project视窗中选择New Material可以在Inspector视窗中看到一个红色的实心圆。要想改变颜色可以通过更改Shader脚本中函数frag中的参数值来变换。想更改形状可通过更改vert函数中的参数值来变换。

3、创建一个游戏对象,然后将Material附着在游戏对象上。

选择GameObject > Create Other > Sphere 创建一个球体,在Hierarchy视窗中可以看到一个名为Sphere的对象,在Project视窗中将New Material拖拽至Sphere对象上,大家就可以在Scene视窗中看到一个红色的球体,如果建立的是Cube正方体,那么见到的就是一个红色的正方体。

然后保存场景,File > Save Scene.


最小Shader创建完成。



参考Cg Programming in Unity    1.1 Minimal Shader


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值