Unity3D学习笔记之五为Prefab添加材质--爱我你就抱抱我
综合文库 701 2
实名

通过了实名认证的内容创造者

发布于 2017-7-31 19:52:57

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 胖纸_DHW 于 2021-1-6 11:25 编辑



这个类型的帖子估计一般不太受欢迎,不过我还是要更新,也算是自己学习过程中的一个记录,

帖子是别人的我只是转载的,下面是原来博主的链接,


这个博客是基础向不是新手向,算是对学习U3D的过程中的补充

有时候我也会加一些自己的,希望大家不要介意,(ps:我也很有可能是理解错的,如果有不对的地方请跟我说,我会修改,以免误人子弟)



(ps:这节看的是纹理的添加不复杂,但是很基础,最好看完)

本次笔记中,我们将利用unity来创建并使用材质,把材质添加到我们的Prefab中去。

这一系列教程以及素材均参考自人人素材翻译组出品的翻译教程《Unity游戏引擎的基础入门视频教程》,下载链接附在第二篇学习笔记中。

      继续上次笔记中所记录的东西,在Project视图中,ImportedAssets-Meshes-Materials下我们可以看到一个没有纹理的材质球,这个材质是跟随我们的3d Max模型来的默认材质。因为这里我们要添加自己的材质,所以我们直接把这个材质球删除。

20150228195325399.jpg



删除后,我们看到本来的Prefab颜色也发生了改变。

20150228195410624.jpg



接下来我们在Materials文件夹下,右键新建一个材质(Material),命名为Stone_Floor。现在这是一个空白的材质,我们要为他选择着色器,Unity提供了十分多样的着色器(shader),这里我们先不做深入的讨论,直接选择Bumped Specular(凹凸高光),这是十分常用的着色器。

  (PS:shader有一门专门的语言。常用系统提供的shader足够用了,也可以自己写一个新的如果能力足够的话,Shader主要提供材质的质感)

     Bumped Specular中可以从下往上看,BaseMap和Normal map(基础贴图和法线贴图);Shininess是反射度;Specular Color就是高光颜色;Main Color也就不需要解释了。。




现在我们还没有导入任何的纹理(Texture),接下来我们来导入纹理。

      先在ImportedAssets文件夹下面新建一个文件夹,命名为Textures,进入Textures 后,引入我们的第一个纹理。

      右键Import -New Assets,然后进入我们的工程文件中,找到我们想要找的纹理。路径是:Imported Assets——Textures——Floor_Tile_Diffuse.tga。

     Assets文件的下载地址为:http://pan.baidu.com/s/1bn8MSlL



引入纹理贴图之后,选中它,将目光移到Inspector视图上去,首先是Texture Type,材质的类型,有Texture,

Normal Map(法线贴图)等选择,这里我们就选择Texture,如果你要作类似第一人称射击的游戏界面,

我们可以选择GUI相关的类型。




接下来是第二个Texture,继续右键,Import new Assets,将Floor_Tile_Normal_Output.tga引入。顾名思义,我们可以看得出来这个纹理是我们的法线贴图,我们可以直接在Inspector视图中将其Texture Type修改为Normal Map,但Unity可以自动检测,来为我们提供的贴图进行订正,所以这里我们先不修改第二个Texture的类型。

     我们先回到Materials文件夹,找到我们之前创建的那个新材质球,来为他添加贴图。

     方法有两种:

     第一种方法是选中材质球后,移动到Textures文件夹,直接把两个材质拖动到对应位置。下面我们把基础贴图拖动过去。拖动之后,我们会在又下角看到这个纹理的效果。

     第二种方法是选择Normalmap空白纹理框中的select按钮,来选择纹理。我们选中Floor_Tile_Normal_Output.tga,双击就可以导入。










这个时候,你会发现纹理有些不正常,是因为Unity现在没有识别法线贴图。我们看到在效果显示图上方,有一行小字,This texture is not marked as a normal map。正是因为我们引入的时候没有修改纹理的类型,所以才会这样,我们点击Fix Now,就能够迅速修复。

     这个时候,回到我们导入的第二个纹理,会发现它的类型已经被订正为Normal map。









现在,我们的材质球已经制作完成,可以将它拖动到任何我们想赋予此种材质的物体上。





这里还要说的是,我们可以调整此地板材质的分格数量,选中材质球后,Inspector视图中,将两个纹理贴图的Tiling中XY均改为2,那么地面的“瓷砖”就会多一倍。应该尽量让两个Tiling的数值保持一致,否则有时候效果会看起来怪怪的。

(PS:用的贴图为四方连续,所以要保持一致不然有拉伸会很奇怪)

     我们可以通过下面两个图地面和右下角预览的对比中观察出来。







  这里视频的原作者为大家推荐了一款功能强大的纹理制作软件叫做Substance Designer,可以结合PS来处理十分细节的纹理图案,我们即将导入的两个纹理就是视频作者使用这款软件制作的,大家有兴趣的可以自己探索一下~我现在真的还不会用。

      我们知道如何导入纹理制作自己的材质后,我们再引入几种材质,来将墙壁和天花板的材质也填充完毕。在Materials文件夹下,右键,Import New Asset,选择工程文件Materials文件夹下的Rock.sbsar和WoodPlank.sbsar。我们会发现,Materials文件夹下会多出两个材质球。这是石头和木板的纹理。


按照同样的方法,将石头材质再赋给天花板,将木板材质赋给两边的墙。这样我们就已经完成了对组件材质的添加,我们选中当前Scene视图中的组件,点击Apply,就可以将材质变化同步到Prefab中,这样以后添加的所有Prefab都会带有纹理。







至此,我们已经可以自己为物体添加材质了。


还没有设置签名!您可以在此展示你的链接,或者个人主页!
使用道具 <
hjscyl  发表于 2017-8-1 03:29:19  
2#
果断收藏了  谢谢楼主
回复 收起回复
使用道具
Zh_Jason  发表于 2017-8-1 09:27:20  
3#
资源甚好,发帖艰辛,且阅且珍惜!
回复 收起回复
使用道具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表