Unity3D学习笔记之五为Prefab添加材质

本次笔记中,我们将利用unity来创建并使用材质,把材质添加到我们的Prefab中去。
这一系列教程以及素材均参考自人人素材翻译组出品的翻译教程《Unity游戏引擎的基础入门视频教程》,下载链接附在第二篇学习笔记中。
      继续上次笔记中所记录的东西,在Project视图中,ImportedAssets-Meshes-Materials下我们可以看到一个没有纹理的材质球,这个材质是跟随我们的3d Max模型来的默认材质。因为这里我们要添加自己的材质,所以我们直接把这个材质球删除。 


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


接下来我们在Materials文件夹下,右键新建一个材质(Material),命名为Stone_Floor。现在这是一个空白的材质,我们要为他选择着色器,Unity提供了十分多样的着色器(shader),这里我们先不做深入的讨论,直接选择Bumped Specular(凹凸高光),这是十分常用的着色器。
     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的数值保持一致,否则有时候效果会看起来怪怪的。
     我们可以通过下面两个图地面和右下角预览的对比中观察出来。




  这里视频的原作者为大家推荐了一款功能强大的纹理制作软件叫做Substance Designer,可以结合PS来处理十分细节的纹理图案,我们即将导入的两个纹理就是视频作者使用这款软件制作的,大家有兴趣的可以自己探索一下~我现在真的还不会用。
      我们知道如何导入纹理制作自己的材质后,我们再引入几种材质,来将墙壁和天花板的材质也填充完毕。在Materials文件夹下,右键,Import New Asset,选择工程文件Materials文件夹下的Rock.sbsar和WoodPlank.sbsar。我们会发现,Materials文件夹下会多出两个材质球。这是石头和木板的纹理。
      这里要说明一下,这两个纹理是使用第三方插件制作,所以有一个小弊端就是,在Project视图中无法将材质球拖动赋予给一个物体。我们需要这样将材质赋予给一个物体。首先选中Rock.sbsar材质球,我们会在Inspector中发现有关这个材质的更多细节。我们需要拖动Inspector中间的小Rock材质球才可以将材质赋予物体。如下面第二张图。



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



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

     2015.2.28     19:42
     By Mr.Losers



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/277665.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式版本控制系统之Git

Git Git 是目前世界上最先进的分布式版本控制系统(没有之一)作用 源代码管理为什么要进行源代码管理? 方便多人协同开发方便版本控制Git的诞生 作者是 Linux 之父:Linus Benedict Torvalds当初开发 Git 仅仅是为了辅助 Linux 内核的开发&…

oo第三次博客-JML规格

这三周的作业主要是围绕以JML来约束代码开发,以确保程序的正确性与鲁棒性。 Part 1:三次作业的实现与bug 第一次作业没有任何算法和数据结构上的难度,对于Path和PathContainer的各个方法的实现按照给出的规格复读即可。唯一的难点&#xff08…

Kinect开发笔记之一Kinect详细介绍

毕业设计的课题我选择了结合Kinect和Unity3D开发体感游戏,这是我十分感兴趣的一个课题,所以做好当然责无旁贷。准备再写一系列Kinect的学习笔记,记录自己毕设一步一个脚印的历程。1、Kinect背景介绍众所周知,Kinect是一款集成了很…

获取2个地址之间的距离(高德API)

2019独角兽企业重金招聘Python工程师标准>>> string startLonLat SiteHelper.GetLonLat("大连"); //获取起始地经度纬度 string endLonLat SiteHelper.GetLonLat("沈阳"); //获取目的地经度纬度 int distance SiteHelper.GetDistance(star…

WPF属性学习

一.WPF属性系统 CLR属性 .NET中的属性称为CLR属性 转载于:https://www.cnblogs.com/programme-maker/p/10910166.html

Unity3D学习笔记之六创建更多的Prefab

在写完第五篇后,因为不知名的原因,我突然不能够上传100KB以上的图片在博客中了。等了几天还是这样,所以我用PS把图片的分辨率一张张调低,让图片的大小都在100左右,将积攒了四篇的学习笔记一起发上来,也算弥…

四、构建Node Web程序

---恢复内容开始--- 一、HTTP 服务器的基础知识 1、Node如何向开发者呈现HTTP请求 2、一个用“Hello World”做响应的HTTP服务器 它用了默 认的状态码200(表明成功)和默认的响应头 3、读取请求头及设定响应头 Node提供了几个修改HTTP响应头的方法&#x…

datagrid 什么时候结束编辑_2020年中考结束后,什么时候出分?什么时候报志愿?...

导语7月19日下午16:00,2020年北京中考正式落下帷幕。考试结束后,很多家长和考生都会长舒一口气,但北京中考在线团队提醒你,现在还不是放松的时刻,中考结束后,还有成绩查询和填报志愿等重要事件等着你。那么…

Unity3D学习笔记之七创建自己的游戏场景

到现在为止我们已经拥有了比较完备的Prefab,已经可以创建宏大的游戏场景,并以第一人称视角在场景中漫游了。这里给大家做个小的示范,建一个小场景大家在创建场景的时候需要自由发挥,做个尽量大的场景出来。这一系列教程以及素材均…

excel if in函数_【Excel函数】Small+Index+IF 一对N返回

通常情况下,Vlookup和lookup函数只能返回满足条件的第一个,剩余的都不会返回。 这也是其函数的一个弊端之一。 若是按照条件,返回所有满足条件的数据(1->N)的,可是适用组合函数。 Index返回位置&#xf…

Unity3D学习笔记之八为场景添加细节(一)

这一系列教程以及素材均参考自人人素材翻译组出品的翻译教程《Unity游戏引擎的基础入门视频教程》,下载链接附在第二篇学习笔记中。我花了30分钟做了一个中等大小的迷宫场景,不知道大家自己发挥,做的场景大小如何。在完成场景之后&#xff0c…

哪个app最费电_微波炉和烤箱,买哪个划算?

微波炉和烤箱不能说买哪个划算,而是看哪个更适合?我家微波炉和烤箱两个都有,所以这个问题我来回答一下。虽然外形上看起来,微波炉和烤箱似乎没有多大的区别,从功能上看,它们也都是加热,但它们侧…

Unity3D学习笔记之九为场景添加细节(二)

上节为场景中添加了第一块带有碰撞器的石头,本节我们来利用Prefab,将场景细节都添加进去,并且做的更完善。这一系列教程以及素材均参考自人人素材翻译组出品的翻译教程《Unity游戏引擎的基础入门视频教程》,下载链接附在第二篇学习…

wifi名称可以有空格吗_收购公司后可以变更公司名称吗,变更公司名称和股权如何处理?...

【点击文末小程序,免费咨询法律问题】公司收购是指二手设备收购,指向目标公司的二手设备,废旧物资,进而获取目标公司的全部或部分业务,取得对拆除的控制权。那么,收购公司后可以变更公司名称吗,…

震惊的网站,都是干货

分享15个鲜为人知的的小众网站,每一个可以让你打开新世界的大门,让你震惊。 1:仿知网 https://www.cn-ki.net/ 仿知网是一个完全可以代替知网的精品网站;是一个非常强大的论文搜索网站。 首先这个网站的论文检索结果和知网的搜索结…

怎样制作滴滴截图_滴滴老了吗?

作者 / 薛静 来源 / 盒饭财经(ID:daxiongfan)滴滴最近有点忙。6月11日,滴滴地图与公交事业部负责人柴华还在忙于解答消费者对于滴滴司机绕路的质疑,网上就流传出了滴滴司机直播性侵的消息。当晚,滴滴急忙在官方微博中做出回应称已…

Kinect开发笔记之三Kinect开发环境配置详解

0、前言:首先说一下我的开发环境,Visual Studio是2013的,系统是win8的64位版本,SDK是Kinect for windows SDK 1.8版本。虽然前一篇博文费了半天劲,翻译了2.0SDK的新特性,但我还是决定要回退一个版本。其实我…

opencv python 图像缩放/图像平移/图像旋转/仿射变换/透视变换

Geometric Transformations of Images 1图像转换 OpenCV提供了两个转换函数cv2.warpAffine和cv2.warpPerspective,可以使用它们进行各种转换。 cv2.warpAffine采用2x3变换矩阵,而cv2.warpPerspective采用3x3变换矩阵作为输入。 2图像缩放 缩放只是调整图…

.net调用c++方法时如何释放c++中分配的内存_C/C++编程笔记:C语言编程知识要点总结!大一C语言知识点(全)...

一、C语言程序的构成与C、Java相比,C语言其实很简单,但却非常重要。因为它是C、Java的基础。不把C语言基础打扎实,很难成为程序员高手。1、C语言的结构先通过一个简单的例子,把C语言的基础打牢。C语言的结构要掌握以下几点&#x…

Kinect开发笔记之四检测并调试Kinect设备

之前我们已经装好了Developer Toolkit 1.8,下面我们来做进一步的测试。首先到开始菜单中找到Kinect for Windows SDK v1.8,点击其中的Developer Toolkit Browser v1.8.0。打开后,有许多东西,我们选择最右边的Tools来筛选一下&…