关于Unity中的几何体,材质和FBX模型

摘要:
使用FBX的原因是艺术和动画更好1.通过各种工具导出到Unity的模型比例2.FBX文件中记录的内容a.模型顶点的坐标,三维b.模型材质的纹理坐标[0,1]c.模型动画3.将FBX和png文件导入模型文件夹后自动生成的材质文件夹。着色器中的着色器可能无法与我们的贴图正确关联,因为着色器未正确命名。在这种情况下,需要手动关联贴图。在“标准”模式下,单击着色器的“Albedo”属性并选择相应的贴图。e、 将与Element0和Element1对应的两个材质组件的模式更改为Mobie/漫反射模式。

一、创建几何体的类型

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模型》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇java解析json字符串详解(两种方法)VMWare DOS 文件共享下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Unity3D 物体移动方法总结

1. 简介     在Unity3D中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position。 2. 通过Transform组件移动物体     Transform 组件用于描述物体在空间中的状态,它包括 位置(position), 旋转(rotation)和 缩放(scale)。 其实所有的移动都会导致position的改...

Unity依赖注入使用详解

关于控制反转(Inversion of Control)和依赖注入(Dependency Injection)大家网上可以找下相关概念,在《小菜学习设计模式(五)—控制反转(Ioc)》这篇文章中本人也有详细的解释,这边再说明下,有很多人把控制反转和依赖注入混为一谈,虽然在某种意义上来看他们是一体的,但好像又有些不同,就比如在上篇文章中所提到的示例。控制反转...

教你高速高效接入SDK——Unity统一接入渠道SDK(Android篇)

U8SDK的设计之初,就是为了可以支持各种游戏引擎开发的游戏,而不不过Android的原生平台。眼下一大半的手游,都是採用Unity3D和Cocos2dx开发,那么这里,我们就先来一步步给大家演示,用Unity开发的游戏,怎样通过U8SDK来高速地完毕多家渠道SDK的接入。 Unity研发的手游,仅仅须要调用U8SDK抽象层就可以完毕多家渠道SDK的接...

自已编写C# DLL 绑定到unity进程进行单步调试

测试环境一:mac Catalina-10.15.4, vs2019 for mac, unity2019.3.6f1 for mac 要在VS2019的 【适用于UNITY的工具】中,将 【调试程序引擎】设置为 MONO,否则单步调试时会提示:Debugger operation failed : operation is not valid due t...

unity中实现静态的3D对象对其他对象的跟随

using UnityEngine; public class FollowPosition : MonoBehaviour { public Transform targetTrans; public Transform lookAtTrans; public Vector3 offsetPos; //与本跟随者...

Unity Android路径及注意事项

Application.temporaryCachePath==/storage/emulated/0/Android/data/com.***.***/cache Application.persistentDataPath==/storage/emulated/0/Android/data/com.***.***/files 或许你碰到过,在电脑读取该...