博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在unity中建立最小的shader(Minimal Shader)
阅读量:4056 次
发布时间:2019-05-25

本文共 1400 字,大约阅读时间需要 4 分钟。

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

转载地址:http://vsrci.baihongyu.com/

你可能感兴趣的文章
当前主要目标和工作
查看>>
使用 Springboot 对 Kettle 进行调度开发
查看>>
一文看清HBase的使用场景
查看>>
解析zookeeper的工作流程
查看>>
搞定Java面试中的数据结构问题
查看>>
慢慢欣赏linux make uImage流程
查看>>
linux内核学习(7)脱胎换骨解压缩的内核
查看>>
以太网基础知识
查看>>
慢慢欣赏linux 内核模块引用
查看>>
kprobe学习
查看>>
慢慢欣赏linux phy驱动初始化2
查看>>
慢慢欣赏linux CPU占用率学习
查看>>
2020年终总结
查看>>
Homebrew指令集
查看>>
React Native(一):搭建开发环境、出Hello World
查看>>
React Native(二):属性、状态
查看>>
JSX使用总结
查看>>
React Native(四):布局(使用Flexbox)
查看>>
React Native(七):Android双击Back键退出应用
查看>>
Android自定义apk名称、版本号自增
查看>>