位置: 编程技术 - 正文

Unity3d Shader开发(一)Properties(unity的shader在哪儿)

编辑:rootadmin

推荐整理分享Unity3d Shader开发(一)Properties(unity的shader在哪儿),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity3d的shader,unity shader视频教程,unity shader lod,unity shader视频教程,unity shader lod,unity3d shader教程,unity shader视频教程,unity shader cull off,内容如对您有帮助,希望把文章链接给更多的朋友!

着色器可以定义一个参数列表,可以由开发者在材质检视面板编辑参数。着色器文件中的Properties块定义了这些参数:

该文章出自【狗刨学习网】

语法:

Properties {          Property [Property ...]      }

定义属性块,其中可包含多个属性,其定义如下 :

name ("display name", Range (min, max)) = number

定义浮点数属性,在检视器中可通过一个标注最大最小&#;的滑条来修改。

_WaveScale ("Wave scale", Range (0.,0.)) = 0.

name ("display name", Color) = (number,number,number,number)

定义颜色属性。

_RefrColor ("Refraction color", Color) = (., ., ., 1) // color

name ("display name", 2D) = "name" { options }

定义2D纹理属性 _MainTex ("Base (RGB)", 2D) = "white" {}

name ("display name", Rect) = "name" { options }

定义长方形(非2次方)纹理属性

_DisplayRect("Display Rect",Rect) ="white"

name ("display name", Cube) = "name" { options }

Unity3d Shader开发(一)Properties(unity的shader在哪儿)

定义立方贴图纹理属性

_DisplayCube("Display Cube",Cube) =""

name ("display name", Float) = number

定义浮点数属性

_DisplayFloat("Display Float",Float) =.1

name ("display name", Vector) = (number,number,number,number)

定义四个向量组成的属性

_DisplayVector("Display Vector",Vector) =(1,1,1,1)

细节:

包含在着色器中的每一个属性通过name索引(在Unity中, 通常使用下划线来开始一个着色器属性的名字)。属性会将display name显示在材质检视器中,还可以通过在等符号后为每个属性提供缺省&#;。

1.对于Range和Float类型的属性只能是单精度&#;。

2.对于Color和Vector类型的属性将包含4个由括号围住的数描述。

3.对于纹理(2D, Rect, Cube) 缺省&#;既可以是一个空字符串也可以是某个内置的缺省纹理:"white", "black", "gray" or "bump" 。

随后在着色器中,属性&#;通过[name]来访问。

Properties { // properties for water shader // 水着色器的属性 _WaveScale ("Wave scale", Range (0.,0.)) = 0. // sliders _ReflDistort ("Reflection distort", Range (0,1.5)) = 0.5 _RefrDistort ("Refraction distort", Range (0,1.5)) = 0.4 _RefrColor ("Refraction color", Color) = (., ., ., 1) // color _ReflectionTex ("Environment Reflection", 2D) = "" {} // textures _RefractionTex ("Environment Refraction", 2D) = "" {} _Fresnel ("Fresnel (A) ", 2D) = "" {} _BumpMap ("Bumpmap (RGB) ", 2D) = "" {}}

EasyTouch Broadcast messages选项在js和c#下的用法 easytouch传递消息到脚本中的方法:如果使用js写代码,需要勾选Broadcastmessages选项,otherreceiver选择接收消息的gameobject。因为在js里没法像c#那么方便的使

法线贴图原理 我算个笨人吧.笨人以前弄懂一些东西后,讲给笨人听往往更有效.看之前请自行具备图形学关于光照的基础知识.world/objectspacenormalmap我们先讲基于世界或

Unity3D发布开源免费插件Antares扩展包 最近unity3D又发布了一套开源扩展包Antares,让我们快来看看这个扩展包到底都新增了哪些功能。Antares资源浏览器和它的附加包是一个基于C#的Unity3D编辑

本文链接地址:https://www.jiuchutong.com/biancheng/383586.html 转载请保留说明!

上一篇:Unity3D【火星大战四】(unity火堆)

下一篇:EasyTouch Broadcast messages选项在js和c#下的用法

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络