搜档网
当前位置:搜档网 › Unity3D教程:导入贴图和模型

Unity3D教程:导入贴图和模型

Unity3D教程:导入贴图和模型
Unity3D教程:导入贴图和模型

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 此时刚才被选中保持的对象这时候又被全部选中了。

Unity3D模型软件使用说明书

Unity3D模型软件使用说明书 目录 第一部分设计说明 一、系统概况 二、使用环境 三、这几依据 第二部分系统功能介绍 一、进入及退出系统 (一)启动系统 (二)进入主界面 (三)退出系统 二、主菜单 第三部分系统故障及维护 一、系统故障处理 二、使用注意

第一部分设计说明 一、系统概况 Unity3D模型,采用C#语言编写,该模型实现了音频播放、自动漫游、画线、视频播放等功能,是一款多功能的、基于Unity3D的,以C#为开发语言的三维模型。 二、使用环境 基于C#的Unity3D模型。 操作系统: Windows XP 、 Windows 7、 Windows 8 硬件:CPU Intel 双核@ 2.50GHz或者以上(CPU性能越好,运行越流畅) 硬盘:100G及以上 内存:1G及以上 显示器:分辨率1024*768及以上 该系统在1024*768的浏览器下能够达到最佳的浏览效果,但是在其他分 辨率下亦不影响系统的正常功能 三、设计依据 (1)《计算机软件开发规范》GB 8566; (2)《软件开发规范》 (3)《计算机软件可靠性和维护性管理》 (4)《计算机软件质量保证计划规范》 (5)《中华人民共和国公共安全行业标准》

第二部分系统功能介绍 一、进入及退出系统 1 启动系统 启动计算机后,进入系统点击桌面上“Unity3D模型”图表,然后点击下图中标注的按钮后软件即可进入运行状态。 2 进入主界面 3退出系统 点击“退出系统”按钮,在弹出的画面选择“确定”按钮就可退出画面,选择“取消”返回先前画面。

二、主菜单 在主菜单画面里可以选择要运行的功能 音频播放自动漫游 画线音频播放

Unity3D游戏开发之添加背景图片

Unity3D游戏开发之添加背景图片 每个游戏在开始前都有登陆注册界面,但是登陆注册界面不只是几个Label,几个Button 组成的,还要有背景图片,可以怎么我们在只学习了GUI的前提下,怎么添加背景图片呢?我今天主要的任务就是做登陆注册界面,登陆注册界面要想好看点就要有背景图片,在unity中添加背景图片有两种方法,一种是通过代码来完成,还有一种是手动添加,我们都 来看看吧。 先来看看效果图: 通过代码完成: 1.//声明一张图片 2.public Texture2D img; 3. 4.//通过OnGUI方法执行下面操作 5.void OnGUI() 6.{ 7. string aa = ""; 8. 9. //构造一个空的GUIStyle 10. GUIStyle bb = new GUIStyle(); 11. 12. //设置bb正常显示时是背景图片

13. bb.normal.background = img; 14. https://www.sodocs.net/doc/d947059.html,bel(new Rect(0, 0, 1370, 780), aa, bb); 15.} 手动添加: 1、先创建一个新的摄像机,命名为Background Camera; 2、新建一个GUI Texture,命名为Background Image; 3、在Background Image的Inspector面板【狗刨学习网】中点击Layer下拉窗口, 选择“Add Layer”添加一个新的层名称为“Background Image”; 4、选中Background Image,做如下操作: 5、该GameObject的Layer值设置为之前你添加的Background Image; 6、选中Background Camera,进行如下操作:

3D max模型导入unity 3D中注意事项

3D max模型导入unity 3D中注意事项 一.单位,比例统一 在建模型前先设置好单位,在同一场景中会用到的模型的单位设置必须一样,模型与模型之间的比例要正确,和程序的导入单位一致,即便到程序需要缩放也可以统一调整缩放比例。统一单位为米。 二.模型规范 ⒈所有角色模型最好站立在原点。没有特定要求下,必须以物体对象中心为轴心。 ⒉面数的控制。移动设备每个网格模型控制在300-1500个多边形将会达到比较好的效 果。而对于桌面平台,理论范围1500-4000。如果游戏中任意时刻内屏幕上出现了大量的角色,那么就应该降低每个角色的面数。比如,半条命2对于每个角色使用2500-5000个三角面。 正常单个物体控制在1000个面以下,整个屏幕应控制在7500个面以下。所有物体不超过20000个三角面。 ⒊整理模型文件,仔细检查模型文件,尽量做到最大优化,看不到的地方不需要的面要删除,合并断开的顶点,移除孤立的顶点,注意模型的命名规范。模型给绑定之前必须做一次重置变换。 ⒋可以复制的物体尽量复制。如果一个1000面的物体,烘焙好之后复制出去100个,那么他所消耗的资源基本和一个物体消耗的资源一样多。 三.材质贴图规范 ⒈我们目前使用的unity3d软件作为仿真开发平台,该软件对模型的材质有一些特殊的要求,在我们使用的3dsMax中不是所有材质都被Unity3D软件所支持,只有standard(标准材质)和Multi/Sub-Objiect(多维/子物体材质)被Unity3D软件所支持。注:Multi/Sub-Objiect(多维/子物体材质)要注意里面的子材质必须为standard(标准材质)才能被支持。

Unity3D之调整画质(贴图)质量

Unity3D之调整画质(贴图)质量 当我们在Unity中,使用图片进行2D显示时,会发现显示出来的画面有明显的模糊或者锯齿,但是美术给的原图却十分清晰。 要改善这一状况实际上很简单。 造成这样的原因,是Unity在导入图片(或者纹理)时会自动进行压缩,以便减少运行时游戏的内存占用率,提供性能。 注意:下面实例使用的Unity版本为4.3.4。版本不同的话可能某些显示不完全相同,但关键点是一样的。 实现 我们以下列背景图为例(大小为2048*640): 当我们把它作为背景显示时,在Game界面会看到下面的效果: 可以发现,上面的画质不怎么尽如人意,例如左上角的帆船和右上角的皮球,有明显的模糊和锯齿。 观察该图片对应的Inspector面板(注意这里的纹理类型是Sprite),如下所示:

其中对画质有影响的部分,已经用红框圈出。根据官网文档的解释,其含义分别如下: Filter Mode 当该纹理由于3D变换进行拉伸时,它将如何被过滤插值。共有三种选择: Point 单点插值,纹理将变得块状化(blocky up close); Bilinear 双线性插值,纹理将变得模糊(blurry up close); Trilinear 三线性插值,类似Bilinear,但是纹理还会在不同的mip水平之间(between the different mip levels)进行模糊; Max Size 导入的纹理的最大尺寸。因为美术人员往往喜欢使用较大的纹理进行创作,所以可以使用这个选项来选择我们游戏中适合的尺寸。 Format 该纹理使用的内部表现格式。这是在大小和质量之间的权衡。共有三种格式: Compressed 压缩的RGB纹理。这是漫反射贴图最长江的格式。每个像素占4bits(一张256*256大小的纹理将占用32KB大小的内存); 16 bit 低质量的真彩(truecolor)显示。每个像素占16bits;

unity3d模型制作规范V10

Unity3d数字模型制作规范 本文提到的所有数字模型制作,全部是用3D MAX建立模型,即使是不同的驱动引擎,对模型的要求基本是相同的。当一个VR模型制作完成时,它所包含的基本内容包括场景尺寸、单位,模型归类塌陷、命名、节点编辑,纹理、坐标、纹理尺寸、纹理格式、材质球等必须是符合制作规范的。一个归类清晰、面数节省、制作规范的模型文件对于程序控制管理是十分必要的。 首先对制作流程作简单介绍: 素材采集-模型制作-贴图制作-场景塌陷、命名、展UV坐标-灯光渲染测试-场景烘培-场景调整导出第一章模型制作规范 1 在模型分工之前,必须确定模型定位标准。一般这个标准会是一个CAD底图。制作人员必须依照这个带有CAD底图的文件确定自己分工区域的模型位置,并且不得对这个标准文件进行任何修改。导入到MAX里的CAD底图最好在(0,0,0)位置,以便制作人员的初始模型在零点附近。 2 在没有特殊要求的情况下,单位为米(Meters),如图所示。 3 删除场景中多余的面,在建立模型时,看不见的地方不用建模,对于看不见的面也可以删除,主要是为了提高贴图的利用率,降低整个场景的面数,以提高交互场景的运行速度。如Box底面、贴着墙壁物体的背面等。 4 保持模型面与面之间的距离推荐最小间距为当前场景最大尺度的二千分之一。例如:在制作室内场景时,物体的面与面之间距离不要小于2mm;在制作场景长(或宽)为1km 的室外场景时,物体的面与面之间距离不要小于20cm。如果物体的面与面之间贴得太近,会出现两个面交替出现的闪烁现象。模型与模型之间不允许出现共面、漏面和反面,看不见的面要删掉。在建模初期一定要注意检查共面、漏面和反面的情况; 5 可以复制的物体尽量复制。如果一个1000个面的物体,烘焙好之后复制出去100个,那么他所消耗的资源,基本上和一个物体所消耗的资源一样多。

美术模型制作规范

美术模型项目工程的创建规范 如下图所示 文件夹内所有文件必须英文或字母命名(游戏引擎导入模型或贴图如果含有汉字会报错)2.文件提交规范 .一工程内文件,材质球,贴图命名规范 例如 1模型文件叫红色大门 Door-red-01 (这里模型加颜色加编号是为了区别大项目中出现重名的情况) 2材质球命名 Door-red-01-mat (mat是材质球的缩写、必须保证文件名,材质球名,贴图名的统一性) 3贴图名 Door-red-01-cm(颜色贴图)Door-red-01-sm(高光贴图) Door-red-01-nm(法线贴图)

(注意;如果模型是放在地面上那么以模型底部为坐标轴原点,如果模型是挂在墙上那么以靠墙侧中心点为坐标轴原点,) 二模型轴心,模型属性重置,正反面 首先使用reset XForm重置模型而后打开背面消隐检查模型是否有反面 之后检查模型是否有废点废线废面 再模型以及轴心归到世界坐标原点模型三个旋转轴向数值清零缩放三轴向数值100%

一.单位,比例统一 在建模型前先设置好单位,在同一场景中会用到的模型的单位设置必须一样,模型与模型之间的比例要正确,和程序的导入单位一致,即便到程序需要缩放也可以统一调整缩放比例。统一单位为米。 二.模型规范 ⒈所有角色模型最好站立在原点。没有特定要求下,必须以物体对象中心为轴心。 ⒉面数的控制。移动设备每个网格模型控制在300-1500个多边形将会达到比较好的效果。而对于桌面平台,理论范围1500-4000。如果游戏中任意时刻内屏幕上出现了大量的角色,那么就应该降低每个角色的面数。比如,半条命2对于每个角色使用2500-5000个三角面。 正常单个物体控制在1000个面以下,整个屏幕应控制在7500个面以下。所有物体不超过20000个三角面。 ⒊整理模型文件,仔细检查模型文件,尽量做到最大优化,看不到的地方不需要的面要删除,合并断开的顶点,移除孤立的顶点,注意模型的命名规范。模型给绑定之前必须做一次重置变换。 ⒋可以复制的物体尽量复制。如果一个1000面的物体,烘焙好之后复制出去100个,那么他所消耗的资源基本和一个物体消耗的资源一样多。 三.材质贴图规范 ⒈我们目前使用的unity3d软件作为仿真开发平台,该软件对模型的材质有一些特殊的要求,在我们使用的3dsMax中不是所有材质都被Unity3D软件所支持,只有standard(标准材质)和Multi/Sub-Objiect(多维/子物体材质)被Unity3D软件所支持。注:Multi/Sub-Objiect(多维/子物体材质)要注意里面的子材质必须为standard(标准材质)才能被支持。 ⒉Unity3D目前只支持Bitmap贴图类型,其它所有贴图类型均不支持。只支持DiffuseColor(漫反射)同self-Illumination(自发光,用来导出lightmap)贴图通道。Self-Illumination(不透明)贴图通道在烘焙lightmap后,需要将此贴图通道channel设置为烘焙后的新channel,同时将生成的lightmap指向到self-Illumination。 四.贴图文件格式和尺寸 原始贴图不带通道的jpg,带通道的为32位tga或者png,尺寸最大别超过2048,贴图文件尺寸须为2的N次方(8、16、32、64、128、256、512、1024)最大贴图尺寸不能超过1024x1024,特殊情况下尺寸可在这些范围内做调整。 五.贴图材质应用规则 ⒈贴图不能为中文命名,不能有重名; ⒉材质球命名与物体名称一致,材质球的父子层级的命名必须一致;

Unity3D入门中文教程

Unity3D基本操作 1.建模中使用的图片、文件、文件夹等以及模型中物体、材质等的名称都不能 使用中文或者特殊符号,可以使用英文字母、数字、下划线等 2.调整Max的单位为米 3.烘培光影的设置 4.模型的中的植物效果,第一种是单面片植物,需要设置其轴心为其物体的对 称中心;第二种是十字交叉的植物效果;第三种则是到Unity3D编辑器中通过地形编辑器系统添加 基本设置 5.Fbx导出插件下载地址: https://www.sodocs.net/doc/d947059.html,/adsk/servlet/item?siteID=123112&id=10775855 6.将Max文件中用到的图片都拷贝到Textures目录下,如 7.再打开Max文件,导出为FBX文件,使用默认设置,FBX文件也放置在和Max 文件相同的目录下,如 导出的时候,可以将模型简单的分类,如地面、植被、楼房等,也可以将模型分为几个区域,如小区1,小区2,学校等等分开导出 8.将包含Max文件、Fbx文件和Textures文件夹的文件夹拷贝到Unity3D项目的 Assets目录下,如下图中红圈

在下一次用Unity3D编辑器开启本项目的时候,编辑器将自动导入/更新该文件夹中的信息,并生成Materials文件夹,如 9.启动Unity3D编辑器 10.选择刚才拷贝进来的文件中的Fbx文件,如 修改其中的Meshes下的Scale Factor和Generate Colliders,如

点击其他Fbx文件或者单击其他区域将弹出如下的对话框 注意,其中植物/植被类的Fbx文件不需要设置Generate Colliders项 11.将Fbx文件直接拖放到Hierarchy区域,如

unity3d模型制作规范

unity3d模型制作规范 本文提到的所有数字模型制作,全部是用3D MAX建立模型,即使是不同的驱动引擎,对模型的要求基本是相同的。当一个VR模型制作完成时,它所包含的基本内容包括场景尺寸、单位,模型归类塌陷、命名、节点编辑,纹理、坐标、纹理尺寸、纹理格式、材质球等必须是符合制作规范的。一个归类清晰、面数节省、制作规范的模型文件对于程序控制管理是十分必要的。首先对制作流程作简单介绍:素材采集-模型制作-贴图制作-场景塌陷、命名、展UV坐标-灯光渲染测试-场景烘培-场景调整导出 第一章模型制作规范 1 在模型分工之前,必须确定模型定位标准。一般这个标准会是一个CAD底图。制作人员必须依照这个带有CAD底图的文件确定自己分工区域的模型位置,并且不得对这个标准文件进行任何修改。导入到MAX里的CAD底图最好在(0,0,0)位置,以便制作人员的初始模型在零点附近。 2 在没有特殊要求的情况下,单位为米(Meters),如图所示。 3 删除场景中多余的面,在建立模型时,看不见的地方不用建模,对于看不见的面也可以删除,主要是为了提高贴图的利用率,降低整个场景的面数,以提高交互场景的运行速度。如Box底面、贴着墙壁物体的背面等。 4 保持模型面与面之间的距离推荐最小间距为当前场景最大尺度的二千分之一。例如:在制作室内场景时,物体的面与面之间距离不要小于2mm;在制作场景长(或宽)为1km的室外场景时,物体的面与面之间距离不要小于20cm。如果物体的面与面之间贴得太近,会出现两个面交替出现的闪烁现象。模型与模型之间不允许出现共面、漏面和反面,看不见的面要删掉。在建模初期一定要注意检查共面、漏面和反面的情况; 5 可以复制的物体尽量复制。如果一个1000个面的物体,烘焙好之后复制出去100个,那么他所消耗的资源,基本上和一个物体所消耗的资源一样多。

Unity3d 实验指导书

6.实验6U n i t y3d基本操作1实验目的 通过本实验的学习,使学生掌握利用软件开发工具unity3d进行三维模型的创建,以及掌握Unity3d软件的基本操作方法。 2实验环境 Windows10操作系统、实验内容 Unity3D操作方法,地形、树、草的绘制,天空盒、雾及影子效果的添加方法,材质贴图的编辑,地形中贴图的编辑设置 4实验步骤 (1). 在菜单栏GameObject->3DObject->Terrain里创建地形,在右面的Inspector设 置面板里点击来修改地形的面积,选择一个合适的 大小(如图)。 图4-地形示意图 (2). 在菜单栏GameObject->Light->Directionallight里创建平行光(如下图)创建项目的时候默认会添加一个,如果没有就手动添加一个。 (3). 选中地形对象,在右边的Inspector面板里面设置Terrain参数,Terrain菜单栏有一行图标,其中该图标用于建立无极限高的山峰,该图标比第一个图标多了一个参数值Height,设置该参数可以限定山 的高度,因此可以创建高地平台,使用该图标可平滑山峰,通过改变BrushSize 和Opacity的参数建立不同的山峰(如图3); (4). Terrain菜单栏里面的图标可用于给地形贴图,点击 Assets->Importpackage->Environment->TerrainAssets导入软件自带的地形的贴 图4-平行光示意图

图数据库,点击选择AddTexture选择已导入的贴图材料进行贴图(如下图); (5). 该图标分别可用于给场景添加树木和草,方法为点击菜单Assets->Importpackage->SpeedTree和TerrainAssets分别导入树木和草的数据库,点击或,选择AddTree在弹窗中点击 来添加已导入的树木和草材料(如下图所示);草 材料通过EditDetail添加,属于细节部分,放大后方可看见。 图4-5添加草木 (6). 打开Project菜单下的Assets文件夹,找到前面导入的Environment包文件夹,找到Water文件夹,选择一个水模型(例如:WaterProDayTime)放在水池中,选中 该水对象用图标来调整水的大小和位置使其覆盖水池,如下 所示。 (7). 点击Assets->Importpackage->Sykboxes导入天空的材料数据库(没有Skyboxs 的话可以去AssetStore下载导 入)。 a)在Hierarchy中添加一个camera,创建项目的时候默认会添加一个,如果没有 就手动添加一个。 b)选中MainCamera。然后在右边的Inspector视图中会显示出MainCamera的各 个组件。 c)在上方菜单栏中选择”Component“,然后鼠标移动至下拉菜单中的”Rendering “,右边列出的菜单中就有一项是”Skybox“。点击”Skybox“,就可以将” Skybox“组件添加到MainCamera上面。要注意的是,点击前必须在Hierarchy 视图中选中MainCamera,否则无法添加。如果选中了别的对象,会添加到别的 对象上去。 图4-6添加水模型

《3D游戏场景设计实训》课程标准

《3D游戏场景设计实训》课程标准 1. 概述 1.1课程的性质 本课程是软件技术(游戏软件技术)专业学生的专业必修课。理实一体的形式,逐步掌握基本的游戏开发知识和技能,在学习的过程中让学生磨砺意志、发展思维、陶冶情操、拓展视野、丰富生活经历、发展个性、提高人文素养。本课程对Unity3D引擎进行了全面、系统的讲解,从结构上主要分为3大部分:概论、引擎知识讲解以及实例制作讲解。概论主要针对游戏图像技术的发展以及当今游戏制作领域的主流引擎技术进行介绍,引擎知识讲解是针对Unity3D引擎的理论与实际操作进行全面系统的讲解;野外游戏场景和室内游戏场景两大实例的制作讲解带领大家学习利用Untiy3D引擎编辑器制作游戏场景的整体流程、方法和技巧。 1.2课程设计理念 1.面向专业学生,注重素质教育。 2.倡导活动教学,鼓励实际应用。 3.精选教学内容,重视学习过程。 4.突出学生主体,尊重个体差异。 5.利用现代技术,开发课程资源。 1.3课程开发思路 结合大学生身心发展的特点,将本课程目标定为“培养学生的专业高级技能运用能力”。以任务教学法、案例教学法、交流教学法、启发引导式教学为主,积极开发真实项目模拟教学法。这些教学方法充分体现了“自我学习”、“信息处理”、“与人交流”、“与人合作”、“解决问题”等学习、交流能力对大学生的要求。以分组形式、竞赛、课堂小组讨论为主。

2.课程目标 总体目标是培养学生的3d游戏场景设计能力,为学生的终身学习和身心健康发展奠定基础。Unity3d场景设计能力的形成建立在学生的游戏基础知识、编程能力、文化素养以及情感态度和学习策略等方面综合发展的基础之上。 2.1知识目标 掌握Unity3d工具的使用,场景的设置、角色的设置、UI界面、背包系统、角色运动路径、激光特效的制作、视图控制及游戏的操控设置等。 2.2素质目标 能在学习中主动请教,积极探索适合自己的学习方法。对3d游戏开发表现出积极性和初步的自信心,能在学习中积极与他人合作,互相帮助。能初步运用认知策略掌握知识和技能;初步运用调控策略监控、调整自己的情绪和行。能初步运用资源策略,合理利用周围环境,制定简单的学习计划,实现自管理,提高学习效率;初步运用交际策略,提游戏开发的能力。 2.3能力目标 能够熟练掌握游戏开发工具,能够设计相对复杂的3d游戏场景,包括模型的创建,模型导出与导入,地形创建,水,光,天空,落叶等,并能够设计野外和室内游戏场景。 3.课程内容和要求 根据专业课程目标和涵盖的工作任务要求,确定课程内容和要求,说明学生应获得的知识、技

我学院:unity3d修改Cube每个面的贴图UV方法

unity3d修改Cube每个面的贴图UV方法 修改一个Cube中每个面的贴图UV,也就是贴图中有多个矩形贴图,需要程序从贴图中读取一部分赋值给Cube每个面。 看下最终效果图: 废话不多说,贴上代码using Unity Engine; using System.Collections; [ExecuteInEditMode] public class CustomUVS : MonoBehaviour { public Vector2 topPoint; public Vector2 bottomPoint; public Vector2 leftPoint; public Vector2 rightPoint; public Vector2 frontPoint; public Vector2 backPoint; private Mesh m_mesh; public enum CubeFaceType { Top, Bottom, Left, Right, Front, Back }; // Use this for initialization void Start () {

MeshFilter meshFilter = GetComponent(); if (meshFilter == null) { Debug.LogError("Script needs MeshFilter component"); return; } #if UNITY_EDITOR Mesh meshCopy = Mesh.Instantiate(meshFilter.sharedMesh) as Mesh; // Make a deep copy https://www.sodocs.net/doc/d947059.html, = "Cube"; m_mesh = meshFilter.mesh = meshCopy; // Assign the copy to the meshes #else m_mesh = meshFilter.mesh; #endif if (m_mesh == null || m_mesh.uv.Length != 24) { Debug.LogError("Script needs to be attached to built-in cube"); return; } UpdateMeshUVS(); } // Update is called once per frame void Update () { #if UNITY_EDITOR UpdateMeshUVS(); #endif } void UpdateMeshUVS() { Vector2[] uvs = m_mesh.uv; // Front SetFaceTexture(CubeFaceType.Front, uvs); // Top SetFaceTexture(CubeFaceType.Top, uvs); // Back SetFaceTexture(CubeFaceType.Back, uvs); // Bottom SetFaceTexture(CubeFaceType.Bottom, uvs); // Left SetFaceTexture(CubeFaceType.Left, uvs); // Right SetFaceTexture(CubeFaceType.Right, uvs); m_mesh.uv = uvs; } Vector2[] GetUVS(float originX, float originY)

Unity3D 美术资源规范

Unity3D 美术资源规范 一.单位,比例统一 在建模型前先设置好单位,在同一场景中会用到的模型的单位设置必须一样,模型与模型之间的比例要正确,和程序的导入单位一致,即便到程序需要缩放也可以统一调整缩放比例。统一单位为米。 二.模型规范 ⒈所有角色模型最好站立在原点。没有特定要求下,必须以物体对象中心为轴心。 ⒉面数的控制。移动设备每个网格模型控制在300-1500个多边形将会达到比较好的效果。而对于桌面平台,理论范围1500-4000。如果游戏中任意时刻内屏幕上出现了大量的角色,那么就应该降低每个角色的面数。比如,半条命2对于每个角色使用2500-5000个三角面。 正常单个物体控制在1000个面以下,整个屏幕应控制在7500个面以下。所有物体不超过20000个三角面。 ⒊整理模型文件,仔细检查模型文件,尽量做到最大优化,看不到的地方不需要的面要删除,合并断开的顶点,移除孤立的顶点,注意模型的命名规范。模型给绑定之前必须做一次重置变换。 ⒋可以复制的物体尽量复制。如果一个1000面的物体,烘焙好之后复制出去100个,那么他所消耗的资源基本和一个物体消耗的资源一样多。 三.材质贴图规范

⒈我们目前使用的Unity3D软件作为仿真开发平台,该软件对模型的材质有一些特殊的要求,在我们使用的3dsMax中不是所有材质都被Unity3D软件所支持,只有standard(标准材质)和Multi/Sub-Objiect(多维/子物体材质)被Unity3D软件所支持。注:Multi/Sub-Objiect(多维/子物体材质)要注意里面的子材质必须为standard(标准材质)才能被支持。 ⒉Unity3D目前只支持Bitmap贴图类型,其它所有贴图类型均不支持。只支持DiffuseColor (漫反射)同self-Illumination(自发光,用来导出lightmap)贴图通道。Self-Illumination(不透明)贴图通道在烘焙lightmap后,需要将此贴图通道channel设置为烘焙后的新channel,同时将生成的lightmap指向到self-Illumination。 四.贴图文件格式和尺寸 原始贴图不带通道的jpg,带通道的为32位tga或者png,尺寸最大别超过2048,贴图文件尺寸须为2的N次方(8、16、32、64、128、256、512、1024)最大贴图尺寸不能超过1024x1024,特殊情况下尺寸可在这些范围内做调整。 五.贴图材质应用规则 ⒈贴图不能为中文命名,不能有重名; ⒉材质球命名与物体名称一致,材质球的父子层级的命名必须一致;

unity3d游戏课程设计报告报告

游戏程序设计课程报告 课程: Unity3D课程设计【 题目:探索迷宫 班级: 学号: 《 姓名: 日期:

一、… 二、摘要 UNITY游戏是一种新型的 IT引擎。我们研究主要内容是UNITY 游戏设计方法。指以游戏客户端软件为窗口的旨在实现娱乐、休闲、交流和取得虚拟成就的具有可持续性的个体性单人游戏。 本报告主要讲述了这个小游戏的设计思路及初步使用Unity3D 软件的感受和总结。设计过程中,首先建立自己想要的模型,然后在此基础上进行需求迭代,详细设计时不断地修正和完善,经过测试阶段反复调试和验证,最终形成达到设计要求的小游戏。 基于UNITY基础,构建了一个益智游戏风格的游戏,并有主角与关卡、游戏逻辑、游戏环境界面等设计,使得玩家可以在场景中进行寻找神龛的冒险游戏。 本游戏的控制很简单,及用键盘的WASD及SPACE五个控制人物的上下左右跳跃五个方向,用户根据自己的战略方式选择寻找油桶点亮煤油灯然后寻找神龛。 三、】 四、概述 《UNITY游戏程序设计》这一课程以大作业形式进行考核,能更

好地锻炼学生综合运用本课程所授知识的能力。大作业主要内容为设计完成面向某一主题内容的游戏演示程序。 自选游戏主题,并根据所选定的主题内容设计一个典型的游戏场景及玩家逻辑,其中包含主角与关卡,游戏逻辑,游戏环境界面与交互过程等的设计;开发完成与设计相符的游戏Demo。 要求使用Unity3D游戏开发软件实现上述游戏Demo。 五、具体要求 1、每人单独完成,特殊可由多人合作完成。 2、游戏主题自拟。 3、根据所设游戏主题、场景及玩家逻辑,实现完成相应的游戏 Demo,并撰写设计开发报告。 六、. 七、设计主题 基于视频教程“平衡球”的基础,构建了一个益智游戏风格的游戏,并有主角与关卡(一关)、游戏逻辑(触碰油桶、神龛)、游戏环境界面(通道)等设计,使得玩家可以在场景轨道中进行吃油桶、神龛的冒险游戏。 八、设计思路 本游戏以几个环环相扣的通道作为人物运动的轨迹,在通道上分别设计一些油桶,通过电脑上的WASD SPACE分别控制人物的运动方向;如果人物运动位置没有偏离所设计通道平面而且碰触到油桶,即算初步成功,当人物吃掉所设计的油桶,油灯就会点亮。当人物找到

unity3d游戏课程设计报告

游戏程序设计课程报告 课程:Unity3D课程设计 题目:探索迷宫 班级: 学号: 姓名: 日期:2014.12 一、摘要

UNITY游戏是一种新型的IT引擎。我们研究主要内容是UNITY 游戏设计方法。指以游戏客户端软件为窗口的旨在实现娱乐、休闲、交流和取得虚拟成就的具有可持续性的个体性单人游戏。 本报告主要讲述了这个小游戏的设计思路及初步使用Unity3D 软件的感受和总结。设计过程中,首先建立自己想要的模型,然后在此基础上进行需求迭代,详细设计时不断地修正和完善,经过测试阶段反复调试和验证,最终形成达到设计要求的小游戏。 基于UNITY基础,构建了一个益智游戏风格的游戏,并有主角与关卡、游戏逻辑、游戏环境界面等设计,使得玩家可以在场景中进行寻找神龛的冒险游戏。 本游戏的控制很简单,及用键盘的W ASD及SPACE五个控制人物的上下左右跳跃五个方向,用户根据自己的战略方式选择寻找油桶点亮煤油灯然后寻找神龛。 二、概述 《UNITY游戏程序设计》这一课程以大作业形式进行考核,能更好地锻炼学生综合运用本课程所授知识的能力。大作业主要内容为设计完成面向某一主题内容的游戏演示程序。 自选游戏主题,并根据所选定的主题内容设计一个典型的游戏场景及玩家逻辑,其中包含主角与关卡,游戏逻辑,游戏环境界面与交

互过程等的设计;开发完成与设计相符的游戏Demo。 要求使用Unity3D游戏开发软件实现上述游戏Demo。 三、具体要求 1、每人单独完成,特殊可由多人合作完成。 2、游戏主题自拟。 3、根据所设游戏主题、场景及玩家逻辑,实现完成相应的游戏 Demo,并撰写设计开发报告。 四、设计主题 基于视频教程“平衡球”的基础,构建了一个益智游戏风格的游戏,并有主角与关卡(一关)、游戏逻辑(触碰油桶、神龛)、游戏环境界面(通道)等设计,使得玩家可以在场景轨道中进行吃油桶、神龛的冒险游戏。 五、设计思路 本游戏以几个环环相扣的通道作为人物运动的轨迹,在通道上分别设计一些油桶,通过电脑上的WASD SPACE分别控制人物的运动方向;如果人物运动位置没有偏离所设计通道平面而且碰触到油桶,即算初步成功,当人物吃掉所设计的油桶,油灯就会点亮。当人物找到并吃掉所设计的神龛,就会通过关卡。 本报告主要讲述了这个小游戏的设计思路及初步使用Unity3D 软件的感受和总结。设计过程中,首先建立自己想要的模型,然后在此基础上进行需求迭代,详细设计时不断地修正和完善,经过测试阶段反复调试和验证,最终形成达到设计要求的小游戏。

游戏美术制作要求规范

1.项目工程的创建规范 如下图所示 文件夹内所有文件必须英文或字母命名(游戏引擎导入模型或贴图如果含有汉字会报错)2.文件提交规范 .一工程内文件,材质球,贴图命名规范 例如 1模型文件叫红色大门 Door-red-01 (这里模型加颜色加编号是为了区别大项目中出现重名的情况) 2材质球命名 Door-red-01-mat (mat是材质球的缩写、必须保证文件名,材质球名,贴图名的统一性) 3贴图名 Door-red-01-cm(颜色贴图)Door-red-01-sm(高光贴图) Door-red-01-nm(法线贴图)

(注意;如果模型是放在地面上那么以模型底部为坐标轴原点,如果模型是挂在墙上那么以靠墙侧中心点为坐标轴原点,) 二模型轴心,模型属性重置,正反面 首先使用reset XForm重置模型而后打开背面消隐检查模型是否有反面 之后检查模型是否有废点废线废面 再模型以及轴心归到世界坐标原点模型三个旋转轴向数值清零缩放三轴向数值100%

一.单位,比例统一 在建模型前先设置好单位,在同一场景中会用到的模型的单位设置必须一样,模型与模型之间的比例要正确,和程序的导入单位一致,即便到程序需要缩放也可以统一调整缩放比例。统一单位为米。 二.模型规范 ⒈所有角色模型最好站立在原点。没有特定要求下,必须以物体对象中心为轴心。 ⒉面数的控制。移动设备每个网格模型控制在300-1500个多边形将会达到比较好的效果。而对于桌面平台,理论范围1500-4000。如果游戏中任意时刻内屏幕上出现了大量的角色,那么就应该降低每个角色的面数。比如,半条命2对于每个角色使用2500-5000个三角面。 正常单个物体控制在1000个面以下,整个屏幕应控制在7500个面以下。所有物体不超过20000个三角面。 ⒊整理模型文件,仔细检查模型文件,尽量做到最大优化,看不到的地方不需要的面要删除,合并断开的顶点,移除孤立的顶点,注意模型的命名规范。模型给绑定之前必须做一次重置变换。 ⒋可以复制的物体尽量复制。如果一个1000面的物体,烘焙好之后复制出去100个,那么他所消耗的资源基本和一个物体消耗的资源一样多。 三.材质贴图规范 ⒈我们目前使用的unity3d软件作为仿真开发平台,该软件对模型的材质有一些特殊的要求,在我们使用的3dsMax中不是所有材质都被Unity3D软件所支持,只有standard(标准材质)和Multi/Sub-Objiect(多维/子物体材质)被Unity3D 软件所支持。注:Multi/Sub-Objiect(多维/子物体材质)要注意里面的子材质必须为standard(标准材质)才能被支持。 ⒉Unity3D目前只支持Bitmap贴图类型,其它所有贴图类型均不支持。只支持DiffuseColor(漫反射)同self-Illumination(自发光,用来导出lightmap)贴图通道。Self-Illumination(不透明)贴图通道在烘焙lightmap后,需要将此贴图通道channel设置为烘焙后的新channel,同时将生成的lightmap指向到self-Illumination。 四.贴图文件格式和尺寸

Unity3D光照贴图的Lightmapping技术教程

学IT技能上我学院网https://www.sodocs.net/doc/d947059.html, Unity3D光照贴图的Lightmapping技术教程今天我们来讲解Unity3d中光照贴图Lightmapping技术,Lightmapping光照贴图技术是一种增强静态场景光照效果的技术,其优点是可以通过较少的性能消耗使静态场景看上去更加真实,丰富,更加具有立体感;缺点是不能用来实时地处理动态光照。当游戏场景包含了大量的多边形时,实时光源和阴影对游戏的性能的影响会很大。 这时使用Lightmapping技术,将光线效果预渲染成贴图使用到多边形上模拟光影效果。 烘焙参数 Object选项卡 “All”组中的参数 Lightmap Static:选中则表示该物体将参与烘焙。 Scale In Lightmap:分辨率缩放,可以使不同的物体具有不同的光照精度。这样可以根据实际场景,令远景中的物体采用较低的分辨率,节省光照贴图的存储空间。而较近的物体采用较高的分辨率,使贴图更加逼真。

学IT技能上我学院网https://www.sodocs.net/doc/d947059.html, Lightmap Index:渲染时所使用的光照贴图索引。值为0,表示渲染时使用烘焙出来的第一张光照图;值为255,表示渲染时不使用光照图。 Tiling X/Y和Offset X/Y共同决定了一个游戏对象的光照信息在整张光照图中的位置,区域。 “Lights”中的参数 Lightmapping:有3种类型可选 1)RelatimeOnly:光源不参与烘焙,只作用于实时光照。 2)Auto:表示光源在不同的情况下作不同的响应。在烘焙时,该光源会作用于所有参与烘焙的物体;在实际游戏运行中,该光源会作为实时光源作用于那些动态的或者没有参与过烘焙的物体,而不作用于烘焙过的静态物体。在使用Dual Lightmaps的情况下,对于小于阴影距离(shadow Distance,Unity中用于实时生成阴影的范围,范围之外将不进行实时生成阴影)的物体,该光源将作为实时光源作用于这些物体,不管是静态还是动态。 3)表示光源只在烘焙时使用,其他时间将不作用于任何物体。

unity3D代码规范及项目目录结构分解

项目目录及代码规范 一、目录部分(公共规范) 1.自定义目录以”_”开头(一级目录也是就在Assets目录下面的自定义目录)(之前有看过一篇文章说如此做法的好处是:文件夹下如果没有用到的资源,打包时不会被打入进去);建议场景以双下划线”__”开头,保证场景永远在所有文件夹的最前边。 2. --Editor 自写的灵活方便插件 --Editor_NGUI 较大型三方的插件(前面加上Editor是为了让所有编辑器都集中在一块) (--NGUI 较大型三方的插件,如果你们目录不多,看起来不乱不改名字也没问题。方便更新。如果用的插件比较多的话,还是将它放到Plugins下面。只是更新的时候需要注意一下就是了。) --Gizmos 使用GIZMOS所需要的标志等临时文件 --StreamingAssets (包括JsonData目录/Assetbundle目录/各种只读文件预储存目录,这个目录将自动打包到导出程序,用Application.streamingAssetsPath读取) --Models 模型文件,其中会包括自动生成的材质球文件 --Others 其他类型的文件(一般作为不常修改的文件类型,例如添加的Shader、物理材质、动画文件。)若认为是比较常用的话,可以提取成一个文件夹。 --Plugins 主要是DLL的外部插件文件,例如JsonFx、SmartFoxClient等

--Prefabs 预储存文件 --Resources 动态加载的资源文件,一般这里只用少量,多的话,需要自己打ASSETBUNDLE 包,有选择性的动态加载 --Scenes 场景文件 --Scripts 脚本代码文件 --Sounds 音效文件 --Textures 所有的贴图 增加一个大写字母Z打头的测试文件夹,比如Ztest,所有的测试内容都可以放到这个文件夹,好处是该文件夹永远处于所有文件夹的最下面,而且最后打包的时候可以完全删掉,保证测试的内容都剔除出去。 二、代码部分(程序规范) 基本命名规范: 命名原则 Pascal Case :所有单词第一个字母大写,其他字母小写。 Camel Case :除了第一个单词,所有单词第一个字母大写,其他字母小写。 原则:MicroSoft建议,对于简单的变量使用CamelCase,而对于比较高级的命名规则使用PascalCase。 3.1.2. Namespace「名空间」命名规范 1) 使用公司名.产品名这样的格式。(例:B abybus.xxx) 2) Namespace中类的依赖关系应该体现在命名上,比如System.Web.UI.Design中的类以来于System.Web.UI。 3) 使用Pascal大小写形式命名。(例:GameSceneScript) 4) 当商标(产品名)的命名风格和Pascal风格不符时,以商标(产品名)为准。(例:iOS) 5) 在语意合适的情况下使用复数,比如System.Collections。例外是缩写和商标的情况。 6) Namespace的名字不一定和Assembly一一对应。 3.1.3. Class[类] 命名规范 1) 使用名词或者名词性词组命名class。

unity3d游戏开发之UV贴图教程

一、理解UV贴图 UVs是驻留在多边形网格顶点上的两维纹理坐标点,它们定义了一个两维纹理坐标系统,称为UV纹理空间,这个空间用U和V两个字母定义坐标轴。用于确定如何将一个纹理图像放置在三维的模型表面。 本质上,UVs是提供了一种模型表面与纹理图像之间的连接关系,UVs负责确定纹理图像上的一个点(像素)应该放置在模型表面的哪一个顶点上,由此可将整个纹理都铺盖到模型上。如果没有UVs,多边形网格将不能被渲染出纹理。 通常在创建MAYA原始对象时,UVs一般都被自动创建(在创建参数面板上有一个Create UVs选项,默认是勾选的),但大部分情况下,我们还是需要重新安排UVs,因为,在编辑修改模型时,UVs不会自动更新改变位置。 重新安排UVs,一般是在模型完全做好之后,并且在指定纹理贴图之前进行。此外,任何对模型的修改都可能会造成模型顶点与UVs的错位,从而使纹理贴图出现错误。更多精彩请点击【狗刨学习网】 二、UVs和纹理映射 NURBS表面与多边形网格的贴图机制不同,NURBS表面的UV是内建的(已经自动定义出U、V),这些UV不能被编辑,移动CV将会影响纹理贴图。而多边形的UVs并非一开始就存在,还必须明确地创建并且可以随后进一步修改编辑。 三、UV贴图

为一个表面创建UVs的过程叫UV贴图(UV mapping)。这个过程包括创建、编辑。其结果是明确地决定图像如何在三维模型上显示,这项技术的熟练程度直接影响模型的最后表现。 四、创建UVs Maya中有很多UVs创建工具:如,自动UV工具、平面UV工具、圆柱UV工具、球形UV工具、用户自定义UV工具等。 每种创建工具都是使用一种预定的规则将UV纹理坐标投射到模型表面,自动创建纹理图像与表面的关联。 通常,对自动产生的UV还必须使用UV编辑器进一步编辑才能达到所需要的效果。因为每次对模型的修改(如挤压,缩放,增加、删除等等)都会造成UVs错位,所以最好的工作流程是等模型完全设计好了之后,再开始创建UVs。 五、观察和评估UVs 一旦已经为一个模型创建了UVs,即可使用UV编辑器编辑它。这个编辑器,可以在一个二维平面上观察UV坐标点和它与纹理图像的关系,并且能手动编辑UV及它的各种元素。 通常,使用创建工具默认产生的UVs可能不符合我们的需求,因此,可以在UV 编辑器里,用眼睛观察评估,并且手动调节UVs的位置(重新排列)。 调节UVs的参考原则是信赖最终需要贴图的纹理图像。也可以说,不同的图像需要不同的UVs位置。

相关主题