【www.520z-2.com - 话题作文】

篇一:《Unity内置Shader着色器效果整理》

Unity内置及常用Shader整理

一、Shader脚本结构:

Shader "Custom/zhezhao1"

{

Properties

{

}

SubShader

{

Tags {"Queue"="Transparent"}

Pass

{

}

}

SubShader

{

//ENDCG

}

Fallback "Diffuse"

}

二、Unity自带的Shader描述

1、标准着色器系列(Normal Shader Family)

(1)、凹凸漫反射(Bumped Diffuse)

属性:

NormalMap(法线贴图)属性,不改变对象形状,使用纹理来模拟较小表面的细节,而不是使用更多的多边形来实际雕刻细节。

漫反射属性:表面光照强度随表面与光之间夹角的减小而减小。光照强度仅取决于此角,且不随相机的移动或旋转而变化。

(2)、凹凸高光 (Bumped Specular)

属性:

1、法线贴图属性(Normal Map)

2、高光属性,与漫反射 (Diffuse) 一样,高光也计算简单的

(Lambertian) 光照,并附加一个依赖于观察者的高光亮点。这个称为 Blinn-Phong 光照模型。其具有取决于面角、光角和观察角的高光亮点。该亮点实际上只是对光源模糊反射的实时适宜模拟。亮点的模糊层次由检视器 (Inspector) 中的反光 (Shininess) 滑块控制。

此外,主纹理的 alpha 通道用作高光贴图 (Specular Map)(有时称为“光泽贴图”),用于定义对象哪些区域的反射性更强。Alpha 的黑色区域是零高光反射区域,而白色区域是全高光反射区域。

(3)、印花 (Decal)

属性:

1、印花属性,该着色器是顶点光照 (VertexLit) 着色器的变型。该着色器上的所有光照都将被其渲染为顶点光照。除主纹理之外,该着色器还将第二个纹理用于其它细节。第二个“印花”(Decal) 纹理使用 alpha 通道来确定主纹理的可见区域。印花纹理应为主纹理的补充。

比如说你有一个砖砌的墙壁,你可以使用一个砖块的纹理作为主纹理,然后使用带有 alpha 通道的 Decal 纹理在墙壁的不同地方涂鸦。

(4)、漫反射(Diffuse)

Diffuse 基于一个简单的光照模型-Lambertian,光照强度随着物体表面和光入射角夹角的减小而减小(即光垂直于表面时强度最大)。光照的强度只和该角度有关系,和摄像机无关。

(5)、顶点光照(Vertex-Lit)

属性:最简单的一种 Shader 之一,所有照射在该物体上的光在一个 Pass 里面渲染完,光源只在顶点计算。所以不会有任何基于像素渲染得效果,比如说:normal,light cookies 和 shadows.这个shader 对模

型的剖分(将一个物体从几何描述变为多边形表示的过程)非常敏

篇二:《unity3D学习之光照贴图》

光照贴图完全集成到 Unity 中,可在编辑器 (Editor) 中创建整个关卡,然后对其进行光照映射,让所有材质自动获取光照贴图,无需手动进行。对 Unity 中的光照贴图来说,所有灯光属性会直接映射到 Beast 光照烘培贴图工具中并烘培到纹理,提高性能。Unity 专业版扩展了全局照明 (Global Illumination) 功能,可烘培出真实、美观的光照,实时的相反操作则不可行。此外,Unity 专业版提供天光和发光材质,使场景照明更加有趣。 在本页中,您将看到光照贴图 (Lightmapping) 窗口中出现的所有属性的深入描述。要打开光照贴图 (Lightmapping) 窗口,请选择窗口 (Window) – 光照贴图 (Lightmapping) 选项。

检视器顶部有三个场景筛选器 (Scene Filter) 按钮,供用户将操作应用到所有对象或限制在灯光或渲染器内。

对象 (Object)每个对象的灯光、网格渲染器和地形烘培设置根据当前的选择而定。 单击场景筛选器 (Scene Filter) 按钮可在层级视图 (Hierarchy) 中轻松看到灯光、渲染器或地形。文章来自【狗刨学习网】

网格渲染器和地形 (Mesh Renderers and Terrains):

灯光 (Lights):

烘培 (Bake)全局烘培设置

篇三:《unity3d游戏开发之材质球、预设体镜头耀斑》

材质球(Material)的设置:

左键单击Assets-Create-Material(可直接把材质球拖拽给物体)

示例:设置颜色

设置贴图

材质球 Shader->Bumped Diffuse 法线视图 不要直接把图片拖拽到游戏对象上,否则会直接生成一个材质

所谓预设 (Prefab)就是把一个对象设置好需要的属性,脚本等,然后拖拽到提前创建好的文件夹。好处就是每次在需要它的时候直接使用就可以了,不用在重新创建,省时省力。预设体的使用一般都需要代码实现

PS:随着添加的东西越来越的,我们要对其进行分类,把同一类的放在一个文件夹,方便以后查找

先导入Light Flares 耀斑资源包。 在场景中选择主摄像机,调整摄像机位置和角度,使其面对平行光源,在Game窗口中就能看到耀斑的效果了。

产生耀斑的两个条件:

摄像机添加了FlareLayer组件,把耀斑资源拖给平行光“Flare”属性中。产生耀斑的太阳光需要在摄像机的范围内。

PS:耀斑效果只能被碰撞盒遮挡,对于实体模型无法遮挡这种效果。

这篇文章来自狗刨学习网

篇四:《unity3d外发光的shader》

Shader "Faye/OutLightting"

{

Properties

{

_MainTex("Texture (RGB)", 2D) = "black" {}

_Color("Color", Color) = (0, 0, 0, 1)

_AtmoColor("Atmosphere Color", Color) = (0.5, 0.5, 1.0, 1)

_Size("Size", Float) = 0.1

_Falloff("Falloff", Float) = 5

_FalloffPlanet("Falloff Planet", Float) = 5

_Transparency("Transparency", Float) = 15

_TransparencyPlanet("Transparency Planet", Float) = 1

}

SubShader

{

Pass

{

Name "PlanetBase"

Tags {"LightMode" = "Always"}

Cull Back

CGPROGRAM

#pragma vertex vert

#pragma fragment frag

#pragma fragmentoption ARB_fog_exp2

#pragma fragmentoption ARB_precision_hint_fastest

#include "UnityCG.cginc"

uniform sampler2D _MainTex;

uniform float4 _MainTex_ST;

uniform float4 _Color;

uniform float4 _AtmoColor;

uniform float _FalloffPlanet;

uniform float _TransparencyPlanet;

struct v2f

{

float4 pos : SV_POSITION;

float3 normal : TEXCOORD0;

float3 worldvertpos : TEXCOORD1;

float2 texcoord : TEXCOORD2;{unity自发光材质}.

v2f vert(appdata_base v)

{

v2f o;

o.pos = mul (UNITY_MATRIX_MVP, v.vertex);

o.normal = v.normal;

o.worldvertpos = mul(_Object2World, v.vertex).xyz;

o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);

return o;

}

float4 frag(v2f i) : COLOR

{{unity自发光材质}.

i.normal = normalize(i.normal);

float3 viewdir = normalize(_WorldSpaceCameraPos-i.worldvertpos);

float4 atmo = _AtmoColor;

atmo.a = pow(1.0-saturate(dot(viewdir, i.normal)), _FalloffPlanet);

atmo.a *= _TransparencyPlanet*_Color;

float4 color = tex2D(_MainTex, i.texcoord)*_Color;

color.rgb = lerp(color.rgb, atmo.rgb, atmo.a);

return color*dot(normalize(i.worldvertpos-_WorldSpaceLightPos0), i.normal);

}

ENDCG

}

Pass

{

Name "AtmosphereBase"

Tags {"LightMode" = "Always"}

Cull Front

Blend SrcAlpha One

CGPROGRAM

#pragma vertex vert

#pragma fragment frag

#pragma fragmentoption ARB_fog_exp2

#pragma fragmentoption ARB_precision_hint_fastest

#include "UnityCG.cginc"

uniform float4 _Color;

uniform float4 _AtmoColor;

uniform float _Size;

uniform float _Falloff;

uniform float _Transparency;

struct v2f

{

float4 pos : SV_POSITION;

float3 normal : TEXCOORD0;

float3 worldvertpos : TEXCOORD1;

};

v2f vert(appdata_base v)

{

v2f o;

v.vertex.xyz += v.normal*_Size;

o.pos = mul (UNITY_MATRIX_MVP, v.vertex);

o.normal = v.normal;

o.worldvertpos = mul(_Object2World, v.vertex);

return o;

}

float4 frag(v2f i) : COLOR

{

i.normal = normalize(i.normal);

float3 viewdir = normalize(i.worldvertpos-_WorldSpaceCameraPos);

float4 color = _AtmoColor;

color.a = pow(saturate(dot(viewdir, i.normal)), _Falloff);

color.a *= _Transparency*_Color*dot(normalize(i.worldvertpos-_WorldSpaceLightPos0), i.normal);

return color;

}

ENDCG

}

}

FallBack "Diffuse"

}

篇五:《unity3d模型制作规范》

模型制作规范

本文提到的所有数字模型制作,全部是用3D MAX建立模型,即使是不同的驱动引擎,对模型的要求基本是相同的。当一个VR模型制作完成时,它所包含的基本内容包括场景尺寸、单位,模型归类塌陷、命名、节点编辑,纹理、坐标、纹理尺寸、纹理格式、材质球等必须是符合制作规范的。一个归类清晰、面数节省、制作规范的模型文件对于程序控制管理是十分必要的。

首先对制作流程作简单介绍:

素材采集-模型制作-贴图制作-场景塌陷、命名、展UV坐标-灯光渲染测试-场景烘培-场景调整导出

第一章 模型制作规范

1 在模型分工之前,必须确定模型定位标准。一般这个标准会是一个CAD底图。制作人员必须依照这个带有CAD底图的文件确定自己分工区域的模型位置,并且不得对这个标准文件进行任何修改。{unity自发光材质}.

导入到MAX里的CAD底图最好在(0,0,0)位置,以便制作人员的初始模型在零点附近。

2 在没有特殊要求的情况下,单位为米(Meters),如图

所示。

3 删除场景中多余的面,在建立模型时,看不见的地方不用建模,对于看不见的面也可以删除,主要是为了提高贴图的利用率,降低整个场景的面数,以提高交互场景的运行速度。如Box底面、贴着墙壁物体的背面等。

4 保持模型面与面之间的距离推荐最小间距为当前场景最大尺度的二千分之一。例如:在制作室内场景时,物体的面与面之间距离不要小于2mm;在制作场景长(或宽)为1km的室外场景时,物体的面与面之间距离不要小于20cm。如果物体的面与面之间贴得太近,会出现两个面交替出现的闪烁现象。模型与模型之间不允许出现共面、漏面和反面,看不见的面要删掉。在建模初期一定要注意检查共面、漏面和反面的情况;

5 可以复制的物体尽量复制。如果一个1000个面的物体,烘焙好之后复制出去100个,那么他所消耗的资源,基本上和一个物体所消耗的资源一样多。

6 建模时最好采用Editable Poly面片建模,这种建模方式在最后烘焙时不会出现三角面现象,如果采用Editable Mesh 在最终烘焙时可能会出现三角面的情况。如图所示。

7 模型的塌陷

当一栋建筑模型经过建模、贴纹理之后,然后就是将模型塌陷,这一步工作也是为了下一步烘焙做准备。所以在塌陷的时候要注意一些问题:

(1) 按照“一建筑一物体”的原则塌陷,体量特别大或连体建筑可分塌为2-3个物体,

但导出前要按建筑再塌成一个物体,城中村要按照院落塌陷。

(2) 用Box反塌物体,转成Poly模式,这时需检查贴图有无错乱;

(3) 塌陷物体,按楼或者地块来塌陷,不要跨区域塌陷;

(4) 按项目对名称的要求进行严格的标准的命名;

(5) 所有物体的质心要归于中心,检查物体位置无误后锁定物体;

unity材质球发光_unity自发光材质相关推荐

  1. unity材质球发光_Unity利用材质自发光实现物体闪烁

    Unity中利用材质自发光实现物体闪烁效果,供大家参考,具体内容如下 补充:这种方法有一点问题,在测试(Windows平台)的时候发现,要想在Build出来的游戏中实现闪烁效果,就必须在 Projec ...

  2. unity材质球发光_Unity Lighting - Emissive Materials 自发光材质(九)

    Whilst Area Lights are not supported by Precomputed Realtime GI, similar soft lighting effects are s ...

  3. [unity3d][通过代码]改变材质球颜色,动态改变材质球颜色,动态改变模型颜色

    unity通过代码改变材质球颜色 gitee地址:https://gitee.com/asiworld csdn博客地址:https://blog.csdn.net/JianShengShuaiest ...

  4. Unity 多重材质球替换、多重材质球特定贴图替换、Materials替换

    又被问到多重材质球的特定材质球怎么替换.之前遇到这个问题的时候,天真的以为可以用skinned.materials[0] = xxx替换,结果不能替换,但是材质球特定的贴图是可以替换.想到materi ...

  5. Unity动态创建材质球

    目录 一.获取贴图 1:从Assets文件中获取 2:从本地文件中获取 二.创建材质球 三.替换材质 总结 前言 我们在做一些AR类似与涂涂乐的功能时,经常会用到给模型替换材质球的功能.当我们的用户创 ...

  6. 光照与渲染(十)- 自发光材质

    虽然区域光源不被Precomputed Realtime GI所支持,通过使用自发光材质还是能够产生柔和的光照效果的.就像区域光源那样,自发光材质从他们的表面区域发射光线.它们能够向你的场景中添加发射 ...

  7. unity 发光字体_Unity 游戏开发技巧集锦之创建自发光材质

    Unity 游戏开发技巧集锦之创建自发光材质 Unity游戏开发技巧集锦教程大学霸内部资料 创建自发光材质 自发光材质(self-illuminated material)是指自己会发光的材质.生活中 ...

  8. unity地面添加材质球_unity自带材质球

    Unity5中重点推出了一套基于物理的着色(Physically Based Shading,PBS)的多功能Shader,叫做标准着色器(Standard Shader).这套Shader的设计初衷 ...

  9. Unity使用材质球使图片发光

    首先,新建一个material,shader属性设置为standard 材质球建好之后 ,将图片拖入Albedo 勾选Emission后出现Color选项 将图片拖进去 此时Color可以更改HDR, ...

最新文章

  1. mono和monodevelop源码编译安装
  2. web python 维护性_Lemon-Web阶段考核(三)
  3. 从性能方面谈系统设计
  4. 二级分类_免费获取2021年二级造价工程师考试大纲
  5. android代码怎么打成蓝色,如何将我的Android应用程序的重音颜色从蓝色更改为其他颜色...
  6. pytorch中tensor类型转换
  7. 并发设计模式之Master-Worker模式
  8. Spring Data 开发环境搭建(二)
  9. C#、net core、net5自定义实体注解
  10. Mac电脑下的单片机开发环境配置心得
  11. 《矩阵分析与应用》(第2版)———知识+Matlab2018a——2nd
  12. 【操作系统 · 调度】多处理器 实时调度
  13. python的pyaudio教程入门_Python音频操作工具PyAudio上手教程
  14. 使用matlab设计iir滤波器并自行编写代码实现iir滤波器(可对应于C语言应用在嵌入式系统中)
  15. 《线性代数:行列式》: 克拉默法则
  16. 16、可靠数据传输(rdt)的原理
  17. java开发名言_java实现收藏名言语句台词的app
  18. 如何把Ai绘画工具放到我们的App中
  19. lisp语言画地物符号_LISP语言在CAD工程制图中的应用_谢威
  20. 渣渣渣变渣渣系列(1)

热门文章

  1. 计算机网络应用班级口号霸气押韵,大学班级口号霸气押韵.doc
  2. 英语不好可以学JAVA吗?来听大咖的建议
  3. Google Alphabet
  4. 数据库类型区分 原创
  5. 别再说你不会,规则引擎Drools了
  6. 《淘宝店铺经营管理一册通》一一1.1 宝贝标题优化
  7. windows7开机壁纸_如何在Windows 7上修复黑色墙纸错误
  8. L1-068 调和平均 (10 分)
  9. Bacon分解做交错DID数据、代码以及参考文献
  10. java 离线语音识别