最新消息:学生作文网,您身边的作文指导专家!

unity怎么添加自发光 unity发光材质

写作指导 zuowen 3浏览

【 – 写作指导】

篇一:《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) 选项。

{unity怎么添加自发光}.

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

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

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

灯光 (Lights):

烘培 (Bake)全局烘培设置

篇三:《unity3d教你如何搭建场景》

Unity3D如何搭建场景搭建

本教程将解释用于创建游戏场景的元素及方法。

1. 游戏物体(GameObject)

Unity中昀重要的就是游戏物体。理解什么是游戏物体如何使用它是非常重要的。该部分就将解释这个概念。

什么是游戏物体?在你的游戏中的任何东西都是游戏物体。然而,游戏物体自身并不能做所有的事情。在它们成为角色,环境或者特定的效果之前它们需要特定的属性。但是物体中的每一个都会做许多不同的事情。如果每一个物体都是一个游戏物体,我们怎么从一个静态房间中区分一个具有强大交互能力的物体?是什么使得游戏物体相互不同呢?

答案就是游戏物体是一个容器。他们是一个空的可以容纳不同块的盒子,而这些块组成了一个带有光照贴图的岛或是一个物理驱动的汽车。为了真正理解游戏物体,你需要理解这些块;这些块被称为组件(Components)。根据你要创建的物体的不同,你可以添加不同组件到一个游戏物体中。将游戏物体想象为一个空的烹调罐,组件为不同的组成游戏的配料。

游戏物体与组件的关系现在我们知道游戏物体包含组件。我们将通过使用昀常用的组件——

变换组件(Transform)来讨论这两者之间的关系。打开任意一个场景,创建一个新的游戏物体(使用 Shift-Command-N),选择他并查看检视面板(Instpector)

空物体的检视面板

你可能注意到了这里有两个完全不同的部分。”GameO

bject”和”Transform”。属于游戏物体部分的是关于游戏

物体自身的信息。这里只有物体的名称。变换部分显

示变换组件的信息。当你创建一个新的物体时,将会

自动包含一个变换组件。所有的物体都会有一个变换

组件。在 Unity中你不可能创建一个没有变换组件的物体,变换

组件为所有物体提供了独特的功能。

变换组件变换组件是昀重要的组件之一。它定义了游戏物体在场景视图中的位置,旋转,和缩放。如果游戏物体没有旋转组件,那么它将不会存在世界中。参考变换组件部分。变换组件也可以使用一个被称为父子化(Parenting)的功能,这个功能被编辑器(Unity Editor)利用并且是使用游戏物体昀关键的部分。

父子化父子化的意思是你可以使一个游戏物体的变换值完全依赖于另一个不同游戏物体。简单来说,就是一个物体随着另一个物体移动。当一物体是另外一些物体的父(Parent)物体时,这个物体的旋转将影响所有的子(Child)物体。你可以在层次视图 (Hierarchy

View)中通过拖动任何物体到另一个物体上来创建一个父。这将在两个物体之间创建父子关系。这种功能非常类似于文件夹树的功能,一个游戏物体包含在另一个游戏物体中。 需要指出的是所有子物体的变换值都是相对于父物体的,这个被称为局部坐标(Local Coordinates)。通过脚本你可以访问全局坐标(Global Coordinates)和局部坐标。

一个游戏物体可以有任意多个子物体,但是只能有一个父物体。子物体也可以是其它物体的父物体。你可以很容易的在层次视图中分辨一个物体是不是一个父物体。如果在它名称的左边有一个箭头,那么它就是一个父物体。{unity怎么添加自发光}.

一个真实的父子层次树,所有带有箭头的物体都是父物体

记住所有的父子化的功能都是通过游戏物体的变换组件执行的,而不是游戏物体自身。

游戏物体-

脚本关系当你创建一个脚本(script)并将其附加到一

个游戏物体上时,这个脚本将在检视面板中作为一

个组件显示。这是因为当它们被保存时脚本就变成{unity怎么添加自发光}.

一个组件。从技术角度来说,脚本是作为组件的一

种来编译的,就像其它组件一样。

任何在脚本中申明的公有变量都将在游戏物体的检

视面板中显示为可编辑或可连接。编写脚本的时候

,你能够直接访问任何游戏物体类的成员。你可以

在这里看到一个游戏物体类的成员列表。如果任何

一个类作为一个组件附加在一个游戏物体上,你就

可以在脚本中使用成员名来直接访问这个组件。例

如键入 transform等同于

gameObject.transform。前面的

gameObject是编译器自动加入的,除非你要指定一个不同的物体。

使用 this可以访问当前的脚本组件。使用 this.gameObject可以访问该脚本所依附的游戏物体,当然你可以简单的使用

gameObject来访问此游戏物体。逻辑上来说,键入 this.transform与 tansform是相同的,如果你想访问一个组件而该组件并没有作为一个游戏物体成员包含在其中,你需要使用 gameObject.GetComponent()

2. 使用组件(Using Components)

组件是游戏中一个物体的行为和核心。它们是游戏物体的功能性模块。如果你还不理解游戏物体和组件之间的关系,请参考游戏物体部分。

一个游戏物体包含许多不同的组件。缺省情况下。所有的游戏物体都包含一个变换(Transform)组件。这是因为变换表示物体的位置,旋转和缩放。没有变换组件,游戏物体将不会有位置。尝试创建一个空的游戏物体。单击 GameObject->Create

Empty菜单项。选择新游戏物体,并查看检视面板

每一个空的游戏物体都有一个变换组件

可以使用检视面板来查看都有什么组件附加在游戏

物体上。但一个组件被加入或删除的时候,检视面

板将显示当前附加的组件。可以使用检视面板来改

变任何组件的属性 (包括脚本)。

添加组件可以通过组件菜单为当前的游戏物体添加

一个组件。尝试添加一个刚体(Rigidbody)到刚创建的物体上。选择该物体并从菜单中选择 Component->physics-

>Rigidbody。现在你将会发现刚体属性显示在检视面板中,如果在该物体被选中的情况下按下播放键(Play)你将会有惊喜的发现。注意刚体是如何在一个空物体上添加功能的。

附加了刚体组件的空物体

可以附加任意数量的组件到一个游戏物体。一些组

件可以与其他一些组件一起工作。例如,刚体可以

和任何碰撞物一起工作。刚体通过 Ageia

PhysX物理引擎控制变换,并且碰撞器允许刚体与

其它的碰撞器碰撞和交互。一个不同的组件组合例

子是一个粒子系统 (Particle

System)。它们使用一个粒子发射器 (Particle

Emitter),粒子动画 (Particle

Animator)和粒子渲染器(Particle

Renderer)来创建一组移动的粒子。

可以通过点击位于检视面板头部的问号访问组件的

参考页。

编辑组件一个组件昀重要的方面是其可扩展性。当你添加一个组件到一个物体上时,它有不同的可以调整的值或者属性(Properties),也可以在游戏中通过脚本来调整它。有两种不同类型的属性:值(Values)和引用(References)。

下图中是一个具有音频源 (Audio

Source)组件的空游戏物体。在检视面板中所有音频源的值都是缺省的。这个组件包含一个单一的引用属性和七个值属性。音频剪辑 (Audio

Clip)是一个引用属性。当这个音频源开始播放时,它将尝试播放 Audio

Clip属性所引用的音频文件。如果没有添加引用属性,将会出现一个错误因为没有音品将被播放。你必须在检视面板中引用音频文件。你可以非常简单的从工程视图中将音频文件拖动到引用属性中。

现在一个音效文件在音频剪辑属性中被引用

组件可包含任何其它类型组件的引用,文件或游戏物体。你只需拖动适当的引用到这个属

性上。引用类型是非常有用和强大的,尤其是在使用脚本时。参考脚本教程。 音频剪辑中剩下的七个都是值属性。都可以通过单击并按下 Enter键来调整它们。使用键盘输入值,并按 Enter保存它。你也可以通过使用 option-或 right-click或拖动数字属性来快速滚动这些值。 音频剪辑中的值属性都是数字,但是一些属性也可以是字符串。例如,文本网格(Text Mesh)组件包含一个文本(Text)属性,这个属性可以接受字母数字字符。 一些值可以包含字符,例如文本网格中的 Text属性

篇四:《Unity3D自学入门教程》

基本设置

1. Fbx导出插件:

2. 将Max文件中用到的图片都拷贝到Textures目录下,如

3. 再打开Max文件,导出为FBX文件,使用默认设置,FBX文件也放置在和Max文件相同的目录下,如

导出的时候,可以将模型简单的分类,如地面、植被、楼房等,也可以将模型分为几个区域,如小区1,小区2,学校等等分开导出

4. 将包含Max文件、Fbx文件和Textures文件夹的文件夹拷贝到Unity3D项目的Assets目录下,如下图中红圈

在下一次用Unity3D编辑器开启本项目的时候,编辑器将自动导入/更新该文件夹中的信息,并生成Materials文件夹,如

5. 启动Unity3D编辑器

6. 选择刚才拷贝进来的文件中的Fbx文件,如

修改其中的Meshes下的Scale Factor和Generate Colliders,如

点击其他Fbx文件或者单击其他区域将弹出如下的对话框{unity怎么添加自发光}.

点击Apply即可,类似的方式设置其他Fbx文件

注意,其中植物/植被类的Fbx文件不需要设置Generate Colliders项

7. 将Fbx文件直接拖放到Hierarchy区域,如

转载请注明:中小学优秀作文大全_作文模板_写作指导_范文大全 » unity怎么添加自发光 unity发光材质