贴图纹理材质的区别是什么? 还有shader

Posted Carlos

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了贴图纹理材质的区别是什么? 还有shader相关的知识,希望对你有一定的参考价值。

贴图、纹理、材质的区别是什么? 还有shader

整个 CG 领域中这三个概念都是差不多的,在一般的实践中,大致上的层级关系是:
材质 Material包含贴图 Map,贴图包含纹理 Texture。纹理是最基本的数据输入单位,游戏领域基本上都用的是位图。此外还有程序化生成的纹理 Procedural Texture。贴图的英语 Map 其实包含了另一层含义就是“映射”。其功能就是把纹理通过 UV 坐标映射到3D 物体表面。贴图包含了除了纹理以外其他很多信息,比方说 UV 坐标、贴图输入输出控制等等。

 

材质是一个数据集,主要功能就是给渲染器提供数据和光照算法。贴图就是其中数据的一部分,根据用途不同,贴图也会被分成不同的类型,比方说 Diffuse Map,Specular Map,Normal Map 和 Gloss Map 等等。另外一个重要部分就是光照模型 Shader ,用以实现不同的渲染效果。

 

首先我们先将以下unity的材质。

第一步:打开一个新的项目文件。点击菜单栏的GameObject->Create Other->Cube技术分享

这样就在我们的scene场景里面出现了一个box。并且在Herarchy视图中出现了一个名为Cube的物体两者为同一个物体。技术分享
选中这个物体(注:可以在两个视图中的任意一个钟选择)然后查看Inspector视图,这里面存储的是这个物体的所有的组件和属性。

技术分享

1:Transform叫做变换组件。用来控制和记录物体的位置、旋转、缩放。

2:为mash网格。

3:碰撞体(后面的章节会详细讲解)
4:渲染组件删除或者去掉前面的选择物体将不可见。
我们发现这个物体没有可以调节材质的地方。那是因为新建的物体时没有材质球的。我们呀新建一个材质球。把他添加的物体上才可以。新建方法:1:点击菜单栏Assets—>Create->Material如图:

技术分享

2:在Project视图中单击右键选择Create->Material如图:

技术分享

你会发现在Project视图中出现一个名为New Material文件如图:技术分享将名字修改为Cube Material拖方到Cube的Inspector视图中(注:修改名字的方法点击project中的物体等待片刻在点击一次当物体变成技术分享时即可修改名称)

如图:技术分享

材质添加完毕。可以通过调节Cube Material来改变物体的材质属性。

unity自带了很多种材质类型点击Shader下拉按钮可以更换材质类型。具体参数可参考http://game.ceeger.com/Manual/Materials.html当然一些特殊材质球需要自己编写(这个属于比较高端的应用,在这里不做讲解)

技术分享

下面我们有一个例子来看下材质球是怎么调节的

首先我们把一个名为Players的文件夹拷贝到我们的工程文件夹的Assets文件夹中,打开unity拖动player
文件到场景视图了。调整摄像机(能再Game视图中清楚的看到我们的物体)添加一个平行光。添加方发如图:技术分享
Game中的物体如图

技术分享

发现贴图丢失

第一步我们就要把贴图添加到物体上面,我们点击Hierarchy视图中player的下拉按钮得到如图:

技术分享
player下拉列表下第一个物体为空的,不管他,第二个物体为人体,下面一个是绑定的骨骼。

选择第二个物体。查看Inspector视图。

技术分享

发现有两个材质球(一般我们导入的物体都会自带材质球,不需要我们新建)第一个材质球为人物背后的荧光板我们不用管它。第二个材质球是人物主体。现在要给他添加贴图,一般有两种方式

1点击材质球下放的sellect按钮 选择点击接你需要的图片 如图:

技术分享

方法2:在project视图中找到你需要的图片直接拖放的材质球的Texture中

如图:

技术分享

加入图片后的效果

技术分享

你还可以试一下其他的材质类型。我在附件里面提供了法线和环境贴图。可以增加效果和真实感。








以上是关于贴图纹理材质的区别是什么? 还有shader的主要内容,如果未能解决你的问题,请参考以下文章

材质,着色器,纹理

为啥我vr渲染时候不显示贴图

Unity3D使用 FBX 格式的外部模型 ② ( FBX 模型与默认 3D 模型的区别 | FBX 模型贴图查找路径 | FBX 模型可设置多个材质 )

(四)Unity纹理、贴图和材质

Unity ShaderShader纹理映射的例子

Unity3D之Material(材质着色器纹理)