关于Unity中的几何体,材质和FBX模型
一、创建几何体的类型
1: 创建平面 Plane;
2: 创建立方体 Cube;
3: 创建球体 Sphere;
4: 创建胶囊体 Capsule;
5: 创建圆柱体 Cylinder;
6: 3D文字 3D text;
创建出来的几何体,自带这些组件:
1.transform
2.Mesh Filter:网格
3.Collider:碰撞体
4.Mesh Renderer:网格绘制,把材质拖进Material属性中就可以绘制出几何体的图案
二、材质
在resources文件夹下面创建一个metarial文件夹,里面放几何体的材质球。
一般是先创建材质球,把贴图拖进材质球的贴图属性中,然后在几何体中的材质属性栏,把贴好图的材质球拖进去,几何体才可以显示纹理,
还有一种方法就是直接把贴图拖到scene视图的几何体上面,然后Unity编辑器会自动帮我们在Materials文件下面生成一个材质球。
1.材质球的shader着色器
shader着色器常用Standard和Mobiie/Diffuse模式
(1)Standard模式
Albedo:反射贴图,也就是材质的贴图
Metallic:反射光线强度
(2)Mobiie/Diffuse(使用的比较多)模式
漫反射,用的是贴图的本色。
Tiling:如果贴图属性Wrap Mode为Repeat,那么这里是设置平铺的个数,x=1,y=1:在x轴上贴图只显示1次,在y轴上贴图只显示1次。x=2,y=1:在x轴上贴图显示2次,在y轴上贴图只显示1次。足球场的制作。
如果贴图属性Wrap Mode为Clamp,那么这里如果x=2,y=2:最后会显示一个四分之一的贴图与在右上角,其他位置用贴图拉伸填充。
Offset
2.贴图的属性
Wrap Mode:Repeat平铺,Clamp拉伸
Filter Mode:图片拉伸的算法,Point缩放时没有插值,效果差,Bilinear缩放时带插值,效果好。
三、FBX模型导入
在resources文件夹下面,以模型的名字命名一个文件夹,把相应的FBX和png贴图文件放进去,会自动帮我们生成一个材质文件夹。
(导入前:FBX和图片文件,导入后:FBX,图片文件,模型文件,Materials 文件夹),使用FBX是因为美术和动画比较好
1.各大工具导出到Unity的模型比例
2.FBX文件里面记录的内容
a.模型顶点坐标,三维的
b.模型材质的纹理坐标[0,1]
c.模型动画
3.导入FBX和png文件到模型文件夹后自动生成的材质文件夹,里面的那个材质球可能没有正确关联到我们的贴图,这是因为材质球的命名不规范,这时候就需要手动关联贴图,Standard模式下,点击材质球的Albedo属性,选择对应的贴图。
Mobiie/Diffuse模式下,点击图片,把贴纸放进去,再点击一些属性并变化(随便选),Materials Naming,Materials Search然后点击Apply应用就行了。
如果是比较复杂的模型,没有关联好贴图
可以先试一下改变复杂模型的Materials Naming,Materials Search属性看能不能自动导入。
不行的话进行手动关联。
手动关联的步骤:
a.先把空的模型拖入场景。
b.点击场景中的空模型的其中一个子节点BodyL。
c.BodyL子节点的Materials属性里面的Element 0,Element 1表示的是这个子节点用到的材质球。
d.在BodyL子节点的Inspector面板下,找到Element 0,Element 1对应的那两个材质组件。
e.把Element 0,Element 1对应的那两个材质组件的模式改为Mobiie/Diffuse模式。
f.把和BodyL子节点名字一样的图片BodyL.png(贴图)拖到Element 0,Element 1对应的那两个材质组件的图片的位置。
但是美术一般都是自己先在Unity里面试好模型后,交给程序员的,所以模型一般没什么问题,但是从网上下载下来的资源就会遇到命名不规范,必须自己手动导入的情况。
如果是Standard模式,则贴图的显示的颜色是混合了贴图和自定义的颜色的,看起来有点奇怪
如果是Mobiie/Diffuse模式,则贴图是显示原来的颜色,最佳的品质,但是性能消耗比较大
4.一个模型下面有好多子节点,不可能是只有节点,这些节点也有自己的材质,有时候不确定是哪个贴图,可以看这些子节点的材质属性的名字。
5.美术把资源文件夹Resources整个从Unity里面导出来,用的是Assets-->Export Package,最后生成一个XXX.Package文件
程序员用的是Assets-->Import Package,把XXX.Package文件导进来可以直接用
其实Export Package还可以一起打包资源,脚本和场景,可以打包一整个项目,所以看到XXX.Package文件就应该知道这是别人打包好的东西,可以直接导入。
关于Unity中的几何体,材质和FBX模型的更多相关文章
- C#使用ProtocolBuffer(ProtoBuf)进行Unity中的Socket通信
首先来说一下本文中例子所要实现的功能: 基于ProtoBuf序列化对象 使用Socket实现时时通信 数据包的编码和解码 下面来看具体的步骤: 一.Unity中使用ProtoBuf 导入DLL到Uni ...
- Unity教程之再谈Unity中的优化技术
这是从 Unity教程之再谈Unity中的优化技术 这篇文章里提取出来的一部分,这篇文章让我学到了挺多可能我应该知道却还没知道的知识,写的挺好的 优化几何体 这一步主要是为了针对性能瓶颈中的”顶点 ...
- 【Unity技巧】Unity中的优化技术
http://blog.csdn.net/candycat1992/article/details/42127811 写在前面 这一篇是在Digital Tutors的一个系列教程的基础上总结扩展而得 ...
- 浅析Unity中的Enlighten与混合光照
0x00 前言 在Unity的5.6版本之前的5.x中,主要使用了Geomerics公司的Enlighten[1]来提供实时全局照明以及烘焙全局照明,在5.6之后Unity引入了新的Lightmapp ...
- Unity中资源打包成Assetsbundle的资料整理
最近在研究Unity中关于资源打包的东西,网上看了一堆资料,这里做个整合,说整合,其实也就是Ctrl-C + Ctrl-V,不是原创 首先为了尊重原创,先贴出原创者的文章地址: http://blog ...
- 关于Unity中场景的导入与导出(专题九)
Unity场景 场景虽然是由场景美术做好的,但是我们经常需要自己去导导出以及从别的项目导入,所以我们需要对场景的导入和导出有一个详细的了解 1: 场景是由美术人员搭建完成后提交给程序;2: 场景一般包 ...
- 关于Unity中旧版动画系统的使用
Unity在5.X以后,有一个旧版的动画系统和新版的动画系统. 新版的动画系统是使用Unity动画编辑器来调的,调动画和控制动画 旧版的动画系统是用其他的第三方软件调好后导出到一个FBX文件里面,就是 ...
- 关于Unity中Mesh网格的详解
3D模型 通过3D建模软件所建出来的点和面,如以三角形为主的点和面,比如人的脑袋一个球,就是由各种各样的三角形组成的点和面. 点和面以及纹理坐标都是通过3D建模软件建模出来的. Unity会帮我们把模 ...
- 关于Unity中的光照(三)
法线贴图 次时代游戏用的比较多 1:法线贴图是凹凸贴图技术上 的一种应用,有时也称为Dot3(仿立体)凹凸纹理贴图;2: 法线贴图是不增加多边形的情况下,增强模型的细节;3: 法线贴图是高精度模型导出 ...
随机推荐
- KineticJS教程(7)
KineticJS教程(7) 作者: ysm 7.图形变换 7.1.线性变化 Kinetic提供了一个图形对象的transitionTo(config)方法实现图形的线性变换,也就是从原始的状态线性变 ...
- UNIX网络编程读书笔记:基本TCP套接口编程
编写一个完整的TCP客户和服务器程序所需要的基本套接口函数: 1.socket函数(客户端.服务器端都必须调用) 参数family指明协议族(family),该参数也往往被称为协议域(domain). ...
- setTimeout模拟setInterval调用
在开发环境下,尽量不用间歇调用,原因是后一个间歇调用可能会在前一个间歇调用结束之前启动. 尽量使用超时调用来模拟间歇调用. 示例代码: <!DOCTYPE html> <html l ...
- form表单元素设置只读
form表单元素设置只读 CreateTime--2017年5月5日11:42:41 Author:Marydon 1.设置文本框只读 <!-- 方法一:简写 --> <inpu ...
- javascript 字符串中单引号和双引号区别
最近在使用JavaScript编程,遇到使用字符串的情况. 以下是一些测试代码: var str = 'This is Jack'; var str2 = "This is Tom" ...
- UVA1492 - Adding New Machine(扫描线)
UVA1492 - Adding New Machine(扫描线) option=com_onlinejudge&Itemid=8&page=show_problem&cate ...
- Android系统示例分析之AndroidBeamDemo
在这个示例工程中,只有一个Activity: public class Beam extends Activity implements CreateNdefMessageCallback, ...
- 【centos6.5】CentOS 6.5系统安装配置LAMP(Apache+PHP5+MySQL)服务器环境(linux公社)
准备篇: 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dp ...
- JS 校验,检测,验证,判断函数集合
http://jc-dreaming.iteye.com/blog/754690 /** *判断对象是否为空 *Check whether string s is empty. */ funct ...
- Javascript遍历页面控件
function validate(){ //var Elements = document.all; var Elements = document.getElementsByTagName(&q ...