unity3dunity 3d 生成游戏的游戏很卡

当前位置: >
游戏模型精简技巧
时间: 21:36 来源:互联网 作者:网络 浏览:
3dsMax中的建模准则与面数精简技巧一个VR场景在计算机上演示流畅不流畅,与场景中的模型个数、模型面数、模型贴图(请参见详细教程:3dsMax模型贴图制作技巧)这三个方面的数据量系系相关,用户只有在前期处理好这三个方面的数据量,才不会导致后期DEMO在演示时出现卡、顿现象。本节将重点讲述:& && &&&3dsMax模型个数的精简技巧& && && & 用Attach(合并)命令精简模型个数的方法& && && & 用Collapse(塌陷)命令精简模型个数的方法& &&&3dsMax模型面数的精简技巧& && && & Plane(面片)模型面的精简& && && & Cylinder(圆柱)模型面的精简& && && & Line(线)模型面的正确创建& && && & 曲线形状模型的创建及面数精简& && && & 室外地面创建及面数精简& && && & bb-物体的正确创建方法& && && & 删除模型之间的重叠面& && && & 删除模型底部看不见的面& && && & 删除物体之间相交的面& && && & 单面窗框的创建& && && & 复杂镂空模型的表现方法& && && & 树木花草的表现方法3dsMax中的建模准则&&VR场景模型的优化对VR-DEMO的演示速度影响很大,前期如果不对场景的模型进行很好的优化,到了制作后期再对模型进行优化时就需要重新回到MAX里重新修改模型,并进行重新烘焙后再导入到当前的VRP场景里,这样就出现了重复工作情况,大大降低了工作效率。因此,VR场景模型的优化需要在创建场景时就必须注意,并遵循游戏场景的建模方式创建简模。&&虚拟现实(VR)的建模和做效果图、动画的建模方法有很大的区别,主要体现在模型的精简程度上。VR的建模方式和游戏的建模是相通的,做VR最好做简模,& &不然可能导致场景的运行速度会很慢、很卡、或无法运行。&&在3dsMax中的建模准则基本上可以归纳为以下几点:&&●做简模&&●模型的三角网格面尽量为等边三角形,不要出现长条型&&●在表现细长条的物体时,尽量不用模型而用贴图的方式表现&&●重新制作简模比改精模的效率更高&&●模型的数量不要太多&&●合理分布模型的密度&&●相同材质的模型,远距离的不要合并&&●保持模型面与面之间的距离&&●删除看不见的面&&●用面片表现复杂造型&&其具体要求如下:&&(1 ) 做简模&&尽量模仿游戏场景的建模方法,把效果图的模型拿过来直接用是不推荐的。虚拟现实中的运行画面每一帧都是靠显卡和CPU实时计算出来的,如果面数太多,会导致运行速度急剧降低,甚至无法运行;模型面数的过多,还会导致文件容量增大,在网络上发布也会导致下载时间增加。&&(2 ) 模型的三角网格面尽量是等边三角形,不要出现长条型&&在调用模型或创建模型时,尽量保证模型的三角面为等边三角形,不要出现长条型。这是因为长条形的面不利于实时渲染,还会出现锯齿、纹理模糊等现象。如下图所示:&&&&(3 ) 在表现细长条的物体时,尽量不用模型而用贴图的方式表现&&在为VRP场景建立模型时最好不要将细长条的物体做成模型,如窗框、栏杆、栅栏等。这是因为这些细长条形的物体只会增加当前场景文件的模型数量;并且在实时渲染时还会出现锯齿与闪烁现象。对于细长条型的物体可以像游戏场景一样,利用贴图的方式来表现,其效果非常的细腻、真实感也很强。如下图所示:&&&&(4 ) 重新创建简模比改精模的效率更高&&实际工作中,重新创建一个简模一般比在一个精模的基础上修改的速度快,在此推荐尽可能地新建模型。如从模型库调用的一个沙发模型,其扶手模型的面数为“1310”,而重新建立一个相同尺寸规格的模型的面数为“204”,制作方法相当简单、速度也很快。如下图所示:&&&&(5 ) 模型的数量不要太多&&如果场景中的模型数量太多会给后面的工序带来很多麻烦,如会增加烘焙物体的数量和时间,降低运行速度等,因此,推荐一个完整场景中的模型数量控制在2000个以内(根据个人机器配置)。用户可以通过VRP导出工具查看当前场景中的模型数量。如下图所示:&&&&(6 ) 合理分布模型的密度&&模型的密度分布的不合理对其后面的运行速度是有影响的,如果模型密度不均匀,会导致运行速度时快时慢,因此,推荐合理地分布VR场景的模型密度。如下图所示:&&&&(7 ) 相同材质的模型,尽量合并;远距离模型面数多的物体不要进行合并&&在VRP场景中,,尽量合并材质类型相同的模型以减少物体个数,加快场景的加载时间和运行速度;如果该模型的面数过多且相隔距离很远就不要将其进行合并,否则也会影响VR场景的运行速度。如下图所示:&&& &&&(注:在合并相同材质模型时需要把握一个原则,那就是合并后的模型面数不可以超过10万个面,否则,运行速度也会很慢。)&&(8 ) 保持模型面与面之间的距离&&在VRP中,所有模型的面与面之间的距离不要太近。推荐最小间距为当前场景最大尺度的二千分之一。例如:在制作室内场景时,物体的面与面之间距离不要小于2mm;在制作场景长(或宽)为1km的室外场景时,物体的面与面之间距离不要小于20cm。如果物体的面与面之间贴得太近,在运行该VR场景时,会出现两个面交替出现的闪烁现象。如下图所示:&&&&(9 ) 删除看不见的面&&VR场景类似于动画场景,在建立模型时,看不见的地方不用建模,对于看不见的面也可以删除,主要是为了提高贴图的利用率,降低整个场景的面数,以提高交互场景的运行速度。如Box底面、贴着墙壁物体的背面等。如下图所示:&&&&(10 ) 对于复杂的造型,可以用贴图或实景照片来表现&&为了得到更好的效果与更高效的运行速度,在VR场景中可以用Plant替代复杂的模型,然后靠贴图来表现复杂的结构。如植物、装饰物及模型上的浮雕效果等。如下图所示:&&&&3dsMax模型个数的精简&&VR场景的模型个数过多也会直接影响到VR场景的导出及VR场景的打开速度。如果当前的VR场景里的模型个数过多,计算机可能会因为计算不过来,而造成部分物体无法加载进去,最终得到的VR场景模型是不全的,有模型丢失现象;如果计算机勉强将VR场景里的所有模型加载进去了,其运行速度也会很慢。为了避免以上问题的出现,解决方法是:将相同材质的物体分别赋好材质;调整好各自的贴图坐标;然后再将这些相同材质的物体进行合并以减少模型个数。&&合并模型的方法有两种,每种方法的具体操作步骤如下:&&● 用Attach(合并)命令精简模型个数的方法&&(1 ) 调整物体贴图坐标  先给物体赋一张合适的贴图,并独立调整好每个物体的贴图坐标。如下图所示:&&&&(2 ) 通过Attach(合并)命令精简模型个数  将模型转换成Edit Mesh, 然后通过将鼠标放在模型上右击,选择Attach(合并)命令,最后通过鼠标单击其他相同材质的物体,单击后的物体就被合并到了一起。如下图所示:&&&&● 用Collapse(塌陷)命令精简模型个数的方法&&(1 ) 调整物体贴图坐标  先给物体赋一张合适的贴图,并独立调整好每个物体的贴图坐标。如下图所示:&&&&(2 ) 通过Collapse(塌陷)命令精简模型个数  将模型转换成Edit Mesh, 然后将相同材质的物体一起选择后通过Collapse(塌陷)命令将其合并成一个物体。如下图所示:&&&&用户根据自己需要选择以上任意一种合并模型的方法,在合并相同材质模型的时候,需要把握一个原则就是:合并后的物体总面数必须控制在10万面以下,否则,VR-DEMO的运行速度一样会很慢。&&3dsMax模型面数的精简&&模型的优化不光是要对每个独立的模型面数进行精简,还需要对模型的个数进行精简,这两个数据都是影响VR-DEMO最终运行速度的元素之一,所以优化操作是必须的,也是很重要的。具体方法如下:&&● Plane(面片)模型面的精简&&在用Plane(面片)创建模型时,如果不对其表面进行异形编辑时,就可以将其截面上的段数降到最低,以精简模型的面数。& && &具体优化方法如下:默认创建的Plane(面片)的段数是4×4,总面数是32;在不对其表面做其他效果的情况下,这些段数是没有存在的意义的,将鼠标放在段数按钮上右击可以快速地将当前模型的段数降到最低,最后得到的模型面数是2,其效果并不会因此而受到任何影响。如下图所示:&&& &● Cylinder(圆柱)模型面的精简&&同Plane(面片)建模一样,在用Cylinder(圆柱)创建模型时,如果不对其表面进行异形或浮雕效果编辑时,一样可以将其截面上的段数降到最低,以精简模型的面数。& && && & 具体优化方法如下:默认创建的Cylinder(圆柱),其段数是5×1×18,总面数是216;在不对其表面做其他效果的情况下,这些段数是没有存在的意义的,这时可以对物体的Height& &&&Segments(高度段数)和Sides(截面)进行精简,修改后的段数为1×1×12,这时物体的总面数是48,其效果并不会因此而受到太大的影响。如下图所示:&&& && &&&(注:如果当前场景比较大,还可以将Sides降到10或8,主要以视觉为主。)&&● Line(线)模型面的正确创建&&很多时候需要用二维线来表现一些物体结构,如电线、绳索等,如果像效果图一样直接设置了Rendering(渲染)面板下的Thickness(厚度),渲染效果图是没问题,但导出到VRP时是不识别的。& && && & 解决方法是:根据视觉效果设置线型物体Rendering(渲染)面板下的Thickness(厚度),然后再将该线型物体转换成Editable& &&&poly(或Mesh)后再执行【导出】操作就可以了。如下图所示:&&&&在将应用Line(线)创建的模型导入VRP编辑器时,事先需要将Line(线)转换成Editable Mesh或Editable Poly后,再执行模型导出操作。否则,导出会失败。&&● 曲线形状模型的创建及面数精简&&有些曲线形状的模型在制作时很麻烦,通常需要应用Loft(放样)来实现,所以,模型的优化就需要从放样的路径及截面着手进行,在保证视觉效果不受太大影响的情况下,适度减少放样物体的Shape& &&&Steps(形状步幅)和Path Steps(路径步幅)参数,以达到精简放样物体总面数的目的。& && & 以下是创建曲线物体的两种方法,在进行同样的精简之后,它们的面数是一样的。&&& & 第一种方法:& & 用Loft(放样)的方法创建模型,具体的操作步骤如下:& & 1、对Line进行Loft(放样)操作& & 2、添加一个Normal编辑器& & 3、调整材质的Offset(偏移值)、Tiling(平铺值)、Angle(角度)的参数(这都是参考值,制作时需要根据具体的情况调整)& & 4、适度减少放样物体的Shape Steps(形状步幅)和Path Steps(路径步幅)参数& & 5、制作好后的曲线物体& & 6、当前物体的面数是:56&&& & 如下图所示:&&& &第二种方法:用Bevel Profile(斜角轮廓)编辑器的方法创建模型,具体的操作步骤如下:& & 1、对Line添加一个Bevel Profile(斜角轮廓)编辑器,然后单击Pick Profile(拾取轮廓)按钮,再拾取事先绘制好的截面& & 2、调整材质的Tiling(平铺值)、Angle(角度)的参数(这都是参考值,制作时需要根据具体的情况调整)& & 3、制作好后的曲线物体& & 4、当前物体的面数是:56&&& & 如下图所示:&&&&针对以上两种曲线物体的制作,用户可以根据自己项目的实际需求选择一种最方便的建模方法。&&● 室外地面创建及面数精简&&在制作室外地面时,很多人喜欢用二维的Line画一个封闭的区域,然后通过Extrude为0得到一个地面,但这个地面除了上面,其他的几个面都是多余的面,所以此方法不适合VR场景模型的创建。&&下面介绍几种不同创建地面的方法:&&第一种方法:& & (1)先用Line创建一个封闭的区域,并对Line的Side(边缘)和Steps(步幅)进行优化设置。如下图所示:&&&&(2)直接添加Extrude(挤出)编辑器,设置Amount(数量)为0,模型面数为“392”。如下图所示:&&&&第二种方法:& & 先用Line创建一个封闭的区域,并对Line的Side(边缘)和Steps(步幅)进行优化设置,然后直接将Line转换成Editable Poly(或Mesh),最后得到的地面模型面数为“97”。如下图所示:&&&&第三种方法:& & 先用Line创建一个封闭的区域,并对Line的Side(边缘)和Steps(步幅)进行优化设置,然后直接给封闭的二维曲线添加一个UVW Mapping编辑器,最后得到的地面模型面数为“97”。如下图所示:&&&&以上用几种不同方式创建的地面,用户可以根据自己需要选择一种建模方法。&&● bb-物体的正确创建方法&&bb-物体创建的方法有多种如:& & 第一种:直接用Plane创建,面数为:2;& & 第二种:用Rectangle(矩形)创建,然后添加一个Extrude(挤出)编辑器,挤出的Amount(数量)为0,面数为:12;& & 第三种:用Rectangle(矩形)创建,然后直接转换其为Editable& &&&Mesh, 面数为:2;& & 第四种:用Rectangle(矩形)创建,然后直接给物体添加一个UVW Mapping,面数为:2。&&& & 最后在同时给以上用四种方法创建的模型赋一个材质,并统一命名为“bb-物体”,然后将这四种方法创建的模型同时导入到VRP中,这时可以发现用第二种方法创建的物体不能适时地面向相机旋转,并且物体面数也是最多的。如下图所示:&&&&从最后的结果可以看出,用Rectangle(矩形)创建,然后添加一个Extrude(挤出)编辑器,挤出的Amount(数量)为0,得到一个bb-物体的方法是错误的,因此用户需要避免用此方法建bb-物体,以免得不到正确的结果。&&● 删除模型之间的重叠面&&在将选择物体将其转换成Mesh或Poly,然后切换到Polygon(面)级别下,将各个物体之间重叠的面进行删除。如下图所示:&&&&● 删除模型底部看不见的面&&在将选择物体将其转换成Mesh或Poly,然后切换到Polygon(面)级别下,将该物体向下或其他朝向看不到的面进行删除。如下图所示:&&&&● 删除物体之间相交的面&&在将选择物体将其转换成Mesh或Poly,然后切换到Polygon(面)级别下,将该物体向下或其他朝向看不到的面进行删除。如下图所示:&&&&● 单面窗框的创建&&窗框是室外建筑必不可少的一个组成元素,如果按常规的二维挤出一个厚度得到这个模型的话,接下来还需要再通过删除看不见的面来达到优化窗框的目的,工作量不但很大,也很繁琐。以下是一个快速创建单面窗框的方法,由此方法得到的窗框不需要再通过删除面达到优化模型的目的。其具体操作方法如下:&&(1) 绘制窗框的线框结构  首先应用Rectangle(矩形)配合捕捉工具,绘制窗框的线框结构。如下图所示:&&& && &&&(注:在表现虚拟场景时,可以跟效果图有所不同,创建模型时可以忽略一些细节,展现大体轮廓就可以了。)&&(2)&&复制边得到窗框厚度  接下来将窗框的二维线转换成Poly物体,然后在Poly的Border(边)级别下,选择物体的内线框,按住键盘上的Shift键沿Y轴向后拖动鼠标,由此可以通过复制边框得到窗框的厚度。如下图所示:&&& && &&&(注:由此创建的物体为单面物体,为后面优化模型时删除看不见的面节省了步骤,也提高了建模速度和效率。)&&(3 )&&调整窗框位置与厚度  按照“一层平面”调整该窗框的位置,切换到Vertex级别下调整窗框的厚度。如下图所示:&&&&● 复杂镂空模型的表现方法&&日常生活中处处可见结构造型复杂的铁艺物体,如楼梯、窗框、大门及围墙等。对于这些铁艺的物件,在VR场景里可以通过在面片物体上赋一张镂空贴图来表现,为了在半鸟瞰处避开看到片的单薄,可以在栏杆上方加一个有宽度的矩形。如下图所示:&&&&● 树木花草的表现方法&&在制作室外VR场景时,难免会遇到大量的绿化问题,如果每颗树和花都用模型来表现的话,最终的VR场景里的模型面数将居高不下,以至于造成编辑及运行都很困难。解决以上问题的方法是:用十字面片物体,贴镂空贴图来表现。如下图所示:&&& && &&&(注:由于VRP当前相机会对VR场景里的bb-物体进行实时面对相机的计算,所以,VR场景里尽量不要有太多或大面积的bb-物体。用户可以把握一个原则就是:建筑物近处的可以用一些bb-物体来表现绿化物;VR场景周边的绿化物可以用十字的面片来代替。)&&以上是几种比较有代表**的物体模型面数精简的方法,用户在实际项目的制作中只要遵循了本节所讲的建模规则与精简方法,就可以创建出最优化的VR场景。
(责任编辑:雷小雨)
免责声明:Unity之家部分内容来源于互联网,如有侵权,请联系我们,本站将立即进行处理。
猜你也喜欢看这些 ······
其他类型的三维设计 ······xiaominghimi 的BLOG
用户名:xiaominghimi
文章数:190
评论数:227
访问量:1083500
注册日期:
阅读量:5863
阅读量:12276
阅读量:339180
阅读量:1041804
51CTO推荐博文
&那么从下个月开始Himi将陪大家一起关注下Unity3D的开发,主要是针对于iOS和Android两个平台,当然在Unity3D(3.5)的项目当今支持导出的平台有如下:
1.Web Player
2.PC &and Mac
5. Flash Player
6.Xbox 360
虽说Unity3D项目能同时导出这些平台确实很不错,但是不光使用收$,而且平台的导出都需要对应license才行的,反正不少$噢,而且后期如果想使用一些第三方插件一样$; 反正各种$了。。
对于Unity3D与Cocos2dx之间Himi只想说一句:
2D-Game-&Cocos2dx & & &3D-Game-&Unity3D
最新的3.5版本下载地址:
下载***后,第一次打开可以免费注册试用30天噢。观看版本在Unity-&About Unity&中可以看到,如下图Himi***的Unity3D版本信息(右下角):
OK,这里对于Unity3D的***部署比较简单不再说了,下面介绍如何导出Unity3D自带的项目 AngryBots 项目;
1. &打开你的Unity后,然后通过 File-&Build Settings &如下图:
2.选中你想要导出的平台(试用版本无法导出Android和iOS等项目哦):
这里Himi是Unity3d Pro版所以下面导出几个平台来供大家参考;
首先导出的iOS版本项目与运行截图:
下面是mac os版本:
最后导出一个web版:
OK,本章不多介绍了,从下篇开始Himi将与大家一起真正的走入Unity 世界~&650) this.width=650;" src="/wp-content/plugins/smilies-themer/graemlins/himi.gif" alt=":Himi:" class="wp-smiley" style="margin-top: 0 margin-right: 0 margin-bottom: 0 margin-left: 0 padding-top: 0 padding-right: 0 padding-bottom: 0 padding-left: 0 border-top-width: 0 border-right-width: 0 border-bottom-width: 0 border-left-width: 0 border-style: border-color: font-weight: font-style: font-size: 14 font-family: vertical-align: max-width: 100%; " />
本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)扫一扫,访问微社区
后使用快捷导航没有帐号?
签到成功!您今天第{todayrank}个签到,签到排名竞争激烈,记得每天都来签到哦!已连续签到:{constant}天,累计签到:{days}天
当前位置: &
_____________________________________________________________________________________________________________
问答求助版块规则:
  1、问题尽量描述清楚
& && &2、代码要放在代码块里
& && &3、附件最好放到云盘,然后把链接放到TXT文档里,上传TXT文档。【最好没有附件,你懂得】
& && &4、本版块回复不得无意义,如:顶、呵呵、不错......以及擦边!【真的会扣分的哦】严重者,封IP!
& && &5、问题得到解决,请选择最佳***。
& && &6、若问题是你自己解决了,可以联系管理员,返还蛮牛币,写下你的***,另有蛮牛币奖赏。
_____________________________________________________________________________________________________________
查看: 620|回复: 4
游戏导出后切换场景时卡死!!非常着急
3152/300排名 偶尔光临, 积分 152, 距离下一级还需 148 积分
偶尔光临, 积分 152, 距离下一级还需 148 积分
在线时间51 小时
导出后有一个文件夹和exe,本来导出后是这样吗?
每日推荐:
3152/300排名 偶尔光临, 积分 152, 距离下一级还需 148 积分
偶尔光临, 积分 152, 距离下一级还需 148 积分
在线时间51 小时
问题自己解决了
每日推荐:
61045/1500排名

参考资料

 

随机推荐