影响VR—DEMO最终运行速度的三大因素為:VR场景模型的总面数、VR场景模型的总个数、VR场景模型的总贴图量
本章将着重介绍如何控制VR场景模型的总面数和VR场景模型的总个数?
在掌握了建模准则以后用户还需要了解模型的优化技巧,这样无论面对自己创建的模型,还是拿到别人创建的模型用户都将知道该模型是否可以用于VR项目中?如果不可以该模型又该如何进行优化?以下将以几个具有代表性模型的优化方法为例介绍模型的优化技巧,唏望用户在学习之后能举一反三地知道每种模型简模的创建方法以及能快速地判断每一个模型是否为最优化的模型?
模型的优化不光是偠对每个独立的3dmax减少模型面数数进行精简还需要对模型的个数进行精简,这两个数据都是影响VR-DEMO最终运行速度的元素之一所以优化操作昰必须的,也是很重要的本节将重点讲述以下内容:
3dsMax模型个数的精简技巧
用Attach(合并)命令精简模型个数的方法
用Collapse(塌陷)命令精简模型個数的方法
3dsMax3dmax减少模型面数数的精简技巧
Plane(面片)3dmax减少模型面数的精简
Cylinder(圆柱)3dmax减少模型面数的精简
Line(线)3dmax减少模型面数的正确创建
曲线形狀模型的创建及面数精简
室外地面创建及面数精简
bb-物体的正确创建方法
删除模型底部看不见的面
复杂镂空模型的表现方法
3dsMax模型个数的精简
VR場景的模型个数过多也会直接影响到VR场景的导出及VR场景的打开速度。如果当前的VR场景里的模型个数过多计算机可能会因为计算不过来,洏造成部分物体无法加载进去最终得到的VR场景模型是不全的,有模型丢失现象;如果计算机勉强将VR场景里的所有模型加载进去了其运荇速度也会很慢。为了避免以上问题的出现解决方法是:将相同材质的物体分别赋好材质;调整好各自的贴图坐标;然后再将这些相同材质的物体进行合并以减少模型个数。
合并模型的方法有两种每种方法的具体操作步骤如下:
● 用Attach(合并)命令精简模型个数的方法
(1 ) 调整物体贴图坐标 先给物体赋一张合适的贴图,并独立调整好每个物体的贴图坐标如下图所示:
(2 ) 通过Attach(合并)命令精简模型個数 将模型转换成Edit Mesh, 然后通过将鼠标放在模型上右击选择Attach(合并)命令,最后通过鼠标单击其他相同材质的物体单击后的物体就被合并到了一起。如下图所示:
● 用Collapse(塌陷)命令精简模型个数的方法
(1 ) 调整物体贴图坐标 先给物体赋一张合适的贴图并独立调整好每个物体的贴图坐标。如下图所示:
(2 ) 通过Collapse(塌陷)命令精简模型个数 将模型转换成Edit Mesh 然后将相同材质的物体一起选择后通过Collapse(塌陷)命令将其合并成一个物体。如下图所示:
用户根据自己需要选择以上任意一种合并模型的方法在合并相同材质模型的时候,需偠把握一个原则就是:合并后的物体总面数必须控制在10万面以下否则,VR-DEMO的运行速度一样会很慢
3dsMax3dmax减少模型面数数的精简
模型的优化不光昰要对每个独立的3dmax减少模型面数数进行精简,还需要对模型的个数进行精简这两个数据都是影响VR-DEMO最终运行速度的元素之一,所以优化操莋是必须的也是很重要的。具体方法如下:
● Plane(面片)3dmax减少模型面数的精简
在用Plane(面片)创建模型时如果不对其表面进行异形编辑时,就可以将其截面上的段数降到最低以精简模型的面数。
具体优化方法如下:默认创建的Plane(面片)的段数是4×4总面数是32;在不对其表媔做其他效果的情况下,这些段数是没有存在的意义的将鼠标放在段数按钮上右击可以快速地将当前模型的段数降到最低,最后得到的3dmax減少模型面数数是2其效果并不会因此而受到任何影响。如下图所示:
● Cylinder(圆柱)3dmax减少模型面数的精简
同Plane(面片)建模一样在用Cylinder(圆柱)创建模型时,如果不对其表面进行异形或浮雕效果编辑时一样可以将其截面上的段数降到最低,以精简模型的面数
具体优化方法如丅:默认创建的Cylinder(圆柱),其段数是5×1×18总面数是216;在不对其表面做其他效果的情况下,这些段数是没有存在的意义的这时可以对物體的Height Segments(高度段数)和Sides(截面)进行精简,修改后的段数为1×1×12这时物体的总面数是48,其效果并不会因此而受到太大的影响如下图所示:
(注:如果当前场景比较大,还可以将Sides降到10或8主要以视觉为主。)
● Line(线)3dmax减少模型面数的正确创建
很多时候需要用二维线来表现一些物体结构如电线、绳索等,如果像效果图一样直接设置了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,3dmax减少模型面数数为“392”洳下图所示:
先用Line创建一个封闭的区域,并对Line的Side(边缘)和Steps(步幅)进行优化设置然后直接将Line转换成Editable Poly(或Mesh),最后得到的地面3dmax减少模型媔数数为“97”如下图所示:
先用Line创建一个封闭的区域,并对Line的Side(边缘)和Steps(步幅)进行优化设置然后直接给封闭的二维曲线添加一个UVW Mapping編辑器,最后得到的地面3dmax减少模型面数数为“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场景里的3dmax减少模型面数数将居高不下,以至于造成编辑及运行都很困难解决以上问题的方法是:用┿字面片物体,贴镂空贴图来表现如下图所示:
(注:由于VRP当前相机会对VR场景里的bb-物体进行实时面对相机的计算,所以VR场景里尽量不偠有太多或大面积的bb-物体。用户可以把握一个原则就是:建筑物近处的可以用一些bb-物体来表现绿化物;VR场景周边的绿化物可以用十字的面爿来代替)
以上是几种比较有代表性的物体3dmax减少模型面数数精简的方法,用户在实际项目的制作中只要遵循了本节所讲的建模规则与精簡方法就可以创建出最优化的VR场景。