2013-05-23 09:07:12 XiaoXuanYunMeng 阅读数 4528
  • Unity3D入门到精通-(3)Unity资源管理精讲

    本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,网络程序开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。

    4631 人正在学习 去看看 张刚

unity3d导入贴图和模型

Unity资源导入:

对于游戏中资源导入可以导入图片,网格等。Project面板右键—〉import new asset

图片:

导入图片后再Project面板选中,会在Inspector面板出现其属性设置。

说说几个重要的:

TextureType:贴图类型,这会影响选择类型贴图时候有限选择。

AlphafromGrayscal:使用灰度创建Alpha,当需要unity为贴图创建一条alpha通道,使用它转换得到的灰度值来渲染透明度,可以开启它。

WrapMode:所谓的包裹模式,决定贴图会无限次平铺还是只会一次。Repeat就是重复平铺。Clamp会让贴图的边缘拉升并在改变大小时候填满任何缝隙。

FilterMode:所谓的图像过滤模式,在拉伸时候对贴图过滤,比如[Point]点过滤,在很近看贴图时候,可能感觉不均。Bilinear它会时近看贴图显得模糊。Trilinear它会在不同mipmap层次之间模糊。

AnisoLevel:设置各项异性过滤器的级别,同属的可以理解为当你从一个比较陡的角度来看,贴图现实的可以有多细腻,渲染的等级越高,越占内存。

想要确定贴图页面会占用多大内存,可以长X宽,再乘以他的位深度[bpp,每像素位数],如果贴图包含mipmap,还需要扩大1.33倍。Unity3D教程手册

网格:

网格就是那些Maya ,C4D,3DSMAX,C3D,LW等软件导出的文件。比如导入一个.fbx文件。选中后,在Inspector面板中。看到居多属性。慢慢解释吧。

ScaleFactor:缩放系数,使用这个属性在导入资源后设置其大小,调整资源在场景现实过大,或者过小的问题。

MeshCompression:网格压缩的比例[Off,Low,Medium,High]不可否认,压缩时可以节约内存的。

OptimizeMesh:为提高GPU性能记录网格顶点和索引。

GenerateColliders:是否在场景中让网格对象具有碰状体表现,通俗的说就是实心的,不可以穿体而过。

SwapUVs:交换UV,当你导入一个网格对象时候,着色器可能会使用错误的UV通道,若果发现资源异常[比如带光照图时候],选中这个复选框。Unity3D教程手册

Generate Lightmap UVs:为UV2生成光照贴图。

Normals&Tangents:

该项设置计算法线切线

Normals:计算法线,import表示使用导入的网格法线,Calculate表示从新计算网格法线。

Tangents:计算切线,import表示使用导入的网格切线,Calulate表示从新计算切线。

Smoothing angle:法线平滑角度,告诉引擎在角度值为多少时候吧一个边缘视为硬边缘。

Split Tangents:是否分离切线,如果模型在场景渲染后现实UV缝隙,要开启它。

Materials:

Import Materials:是否导入材质,默认选中。

Material Naming:材质名字生成模式。请自便。

Material Search:材质搜索方案。请自便。

大量对象选择分组和控制:

往往有一群对象需要整体移动。常见方法有2种。

1.创建一个空的游戏对象,放在[0,0,0]处,再把所有对象作为该对象子对象。随后选择该对象进行位移,就可以控制整体群组的位移。

2.使用选择分组。选中场景中几个物体,进入EditàSaveSelection1.此时取消场景中被选中的后,再次进入EditàLoadSelection1 此时刚才被选中保持的对象这时候又被全部选中了。

2018-08-28 14:51:00 gaoyu1253401563 阅读数 3040
  • Unity3D入门到精通-(3)Unity资源管理精讲

    本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,网络程序开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。

    4631 人正在学习 去看看 张刚

将sketup中生成的fbx模型和贴图导入到unity3D中,导入时注意先导入贴图文件,再导入fbx文件,这两个文件名需要同名,这样可以保证模型导入unity3D中时,模型上的贴图可以贴到所在位置。

 

模型导入到unity3D中后,为了防止模型被穿透,进行如下设置:

1.在project中选中你的模型;

2.在inspector中勾选Generate Colliders;

3.Apply,即可生成模型的mesh collider。
 

 

 

 

 

2014-04-04 15:11:51 dzyi_ 阅读数 25484
  • Unity3D入门到精通-(3)Unity资源管理精讲

    本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,网络程序开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。

    4631 人正在学习 去看看 张刚

问题: 从3dsMax导出fbxUnity用,总是会丢失贴图。尽管Unity导入fbx时会自动导入材质球,但是贴图文件都会变成空的,要重新一个一个贴图填进去,真是太浪费时间了

解决方案: 3dsMax中模型和贴图采用统一命名,贴图文件拷贝到Unity项目中,然后再导入fbx,就会为自动创建的材质找到对应贴图了。

2019-02-02 00:56:22 Jaihk662 阅读数 6073
  • Unity3D入门到精通-(3)Unity资源管理精讲

    本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,网络程序开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。

    4631 人正在学习 去看看 张刚

 

前文:https://blog.csdn.net/Jaihk662/article/details/86746464(Unity3D基础模型)

一、贴图与材质球

材质(Material):物体的质地,物体看起来是什么做的

贴图(Texture):普通的材质图片

  +      =   

贴图 + 着色器(Shader) = 材质球

所谓着色器(Shader)实际上就是一小段程序,它负责将输入的网格(Mesh)以指定的方式和输入的贴图或者颜色等组合作用,然后输出,着色器是一种可以精确控制材质球的工具,通过贴图和着色器的配合开发人员可以创造出非常逼真的模型

Shader是个非常复杂的东西,学习Unity中的Shader编程,最好是之前对OpenGL或Direct3D的渲染状态等相关知识有一个基本的了解,所以可以暂时使用默认的Shader,以后再进行了解/学习

材质球文件后缀:.mat

 

二、创建与使用材质球

一个网上分享的贴图资源:https://pan.baidu.com/s/1hrPKck8

下载后会得到一个.unitypackage的文件,先直接将其拖到Project中,也可以使用其它任意贴图

之后在Assets中建立“Materials”和“Textures”文件夹,用于存放材质球和贴图(为了方便管理)

然后就可以在“Materials”文件夹中新建材质球了,如下:

  →  

编辑材质球:

使用材质球就非常简单了,直接将材质球往物体上托即可

效果如下:

 

tiling缩放:表示贴图在UV坐标的缩放倍数,直接举例子:

将其由(1,1)改为(2,2)后变化如下:

  →  

 

2017-01-17 00:16:38 qq_26651375 阅读数 3360
  • Unity3D入门到精通-(3)Unity资源管理精讲

    本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,网络程序开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。

    4631 人正在学习 去看看 张刚

导入模型、贴图和材质

导入资源包文件

1.新建Unity3d项目SpaceShoot。

2.从Asset Store下载SpaceShoot资源包。https://www.assetstore.unity3d.com/cn/#!/content/13866


3.在浏览器中点击【在Unity中打开】按钮,会跳转到Unity3d软件界面。


4.点击下载,同意协议,当下载完毕后,弹出导入资源包界面。选择【Import】。


5.导入完成,在Project栏出现多个目录,_Completed-Assets目录下为已经完成的Demo,其他文件夹为资源文件夹,双击Scenes文件夹下的Done_Main场景,即可打开该场景,点击运行,游戏Demo运行。


6.依次点击File->New Scene,创建一个新场景,然后再次点击File->Save Scene或者【Ctrl+S】保存场景。在弹出的对话窗中新建文件夹“_Scene_Self”,打开文件夹,文件名Main,单击【保存】按钮。


7.此时可看到Project视图中文件夹”_Scene_Self”和空场景文件“Main”。


9.依次单击菜单项File->Build Setting->PlayerSetting。取消Default Is Full Screen的勾选,然后依次设置Width为400,Height为600。


10.这时在Game窗口中,可以看到Standalone模式下运行窗口的尺寸为400 x 600。


创建飞船对象

1.从Project视图下Asset/Models拖动模型文件vehicle_playerShip到Hierarchy视图,重命名为Player,按图重置Transform组件。

2.添加Rigidbody(刚体)组件:在Hierarchy视图中选择Player,在右侧的Inspector视图中点击Add Component->Physics->Rigidbody。刚体的作用是提供作用力,受到力的作用。另外取消Use Gravity的勾选,否则开始游戏,飞船将受到重力的作用而下坠。


3.添加Mesh Collider组件:选择Player,在Inspector视图中点击Add Component->Physics->Mesh Collider(碰撞体)。作用是让飞船可以玉其他物体产生碰撞,并触发碰撞后的事件(比如销毁等)。还需勾选Convex和Is Trigger,从而将Mesh Collider设置为触发器。

4.添加飞船尾部的粒子效果:在Project/Prefads/VFX/Engine下的预制体engine_player拖动到Hierarchy视图下的Player上,使其成为Player的子对象,并重置Transform组件,其Position的Z为-0.8。


设置摄像机参数

1.在Hierarchy视图中选中Main Camera,将其Transform组件的Rotation设置为(90,0,0),使摄像机处于俯视视角。调整Position(0,10,5),此时飞船处于Game窗口下方。

2.设置投影方式(Projection)为正交投影(Orthographic),并设置size为10,Clear Flags改为SolidColor,Background设为黑色,此时飞船处于合适的位置。



添加背景图片

1.单击GameObject->3DObject->Quad,创建一个平面,重命名Background,重置Transform,移出Mesh Collider,背景不需要碰撞体。此时平面垂直飞船,看不到,须设置其Transform组件的Rotation为(90,0,0),绕X轴逆时针旋转90度。

2.为Background添加纹理图片。将Assets/Textures目录下的tile_nebla_green_dff拖动到Background上。注意图片宽高比是1:2,放大平面时须遵守该比例,不然会失真。

3.选中Background,将Shader改为Unlit/Texture。

4.改变Background大小,Transform组件的Scale为(15,30,0)时,基本充满窗口。此时,飞船与Background重叠,将Background的Transform组件的Position的Y设为-10,使飞船处于Background上方。

添加粒子效果

从Project视图中Assets/VFX/Starfield目录下,拖动预制体Starfield到Hierarchy视图中,Transform组件默认不便,运行游戏,繁星点点。

unity3d 火焰燃烧

阅读数 804

没有更多推荐了,返回首页