第三节
3ds max模型设计从简到繁
上一节:
我们入门先设计一些简单的模型
1.草丛的模型制作
1.a. 草的制作
做一个竖直的圆柱体,高5段,面1,边环6段即可
调整尺寸至高30cm,半径2cm左右即可。R键调整形状scale,变成扁平。然后转为editable poly
形状按自己喜好调整,这里先调整叶子中部两条竖直控制线靠近中部:v+f或者F键获得前视角镜头,然后选择顶点模式,框中中间两排所有顶点,Alt+X透视模式查看背面顶点是否选中,如果你开启了右侧菜单selection的Ignore backfacing背面忽略,建议取消勾选,或者通过旋转后按住ctrl选中背面的顶点都行,此刻注意Selection菜单提示24 Verticaes Selected辅助确认已选中的顶点个数。
然后点击右侧菜单Edit Geometry项目里Constraints约束选项,选中Edge按边约束,然后R键就可以调整顶点往中间移动了,获得合适位置后,Constraints约束选中默认的None,继续调整顶点位置获得合适的叶面厚度
Editable Poly选中模式(selection)切换为Edge,通过swift loop增加竖直居中环绕线圈控制叶脉,再选择叶面的两条控制线稍微凸出(注意正反两面都操作一次),获得叶片基本形状,或者调整两侧叶脉线凹进也可,自己灵活调整。
Editable Poly选中模式(selection)切换到Polygon面模式,选中上下面删除。
Editable Poly选中模式(selection)切换到Vertex(顶点),选中顶部的顶点,通过R键调整到扁平贴合,点击上方菜单weld合并多余顶点,如果合并范围出现异常,点击weld右侧设置箭头,调整合适的weld范围即可。weld完毕后测试点是否成功合并,尤其新手,如果你的weld范围设置过小,可能部分顶点并未成功合并。(我们这里的草宽度设置的2cm,而weld阈值默认是10cm,一般来说是无需手动调整范围)
草的模型调整满意后,切换vertex为选择Editable Poly,我们开始快速展UV map,选中右侧modifier list的UVW map编辑器,如果你之前按我推荐的增加了修改器列表快捷按钮,只需要点击一下即可。然后V-F选择正面视角方便快速匹配UV,mapping参数选中planar(平面),点击view Align,使得展uv的平面与当前front视角一致,然后再点fit部署拓展到整个叶面,collapse all,保存当前uvw map配置,就算完成展uv了
点击M打开材质编辑器,我们为这根草快速添加材质,这里演示下用基本渐变色彩(gradient)示意材质分布:展开Blinn basic parameter(明暗器基本参数栏目)这些参数里面一般常用的就是ambient(环境光) , diffuse(漫反射)
和specular(高光),其中diffuse漫反射通常用来选择贴图材质,物体表面漫反射效果是最主要的材质表现通道,我们一般经常在diffuse设置里选择基本色或者bitmap材质位图,给模型赋予基本的皮肤
而其他的参数主要用来模拟真实环境一些物理现象,让三维物体表现更加自然用的。
如果你的材质编辑器不是我这样的,可以选择Modes >compact material editor即可,任意右键一个材质格子即可选择材质格子分布尺寸3x2,5x3,6x4,或者点击编辑器右边的齿轮按钮,在设置里选择需要的排版
大致介绍下,入门阶段大致了解下即可,因为材质编辑器是最常用也最容易熟悉的模块,不用刻意记忆
接下来我们修改diffuse参数,选择漫反射材质为Gradient,用基本调色盘渐变色来赋予草材质贴图。
如果你嫌颜色梯度不够用,可以选择Grandient Ramp范围,自由增加控制点
Gradient Type和Interpolation选择linear线性过渡即可,如果你想要卡通效果,interpolation过渡效果选择Solid固定色即可,角度Coordinates选择VW方向,因为这里我们颜色是竖直方向过渡,具体方向按自己的模型需求更换。然后点击Assign material to selection ,Show shaded materials in view point ,应用,这样我们就能看到渲染后的效果了。
我们的草算是基本完成了,接下来自行发挥调整尺寸和色彩,做一些基础草的变种,为我们的草丛构建提供一些基础素材。
如果你想要添加材质,可以自己拍照或者网络找非商业素材,加工获得贴图导入,另外,我们也可以通过substance designer制作材质,为模型赋予更加真实细腻的材质效果,当然一般情况下,草丛不需要做太精细,毕竟数量多还是比较吃配置的。
Substance designer 的设计以后专门再说,这里简单演示下通过photoshop制作贴图材质:
导入合适的图片,网络的,自己拍照的,画出来的都行,商业项目注意版权问题
这里导入一张我随手拍的照片,通过ps加工提取合适的叶子
一般使用魔棒工具加上一点涂抹和仿制图章修复,差不多就行,草丛毕竟实际场景注意不到多清楚的细节的
使用编辑>>操控变形,开始拉伸展平我们的草叶
根据实际情况自行调整模式和密度,这里选中正常模式,较多的密度,然后就可以在叶子合适位置加点,移动控制点到合适的竖直位置,通过不断加点和位移,将弯曲的叶子贴图展平,获得较合适的效果就行,选中草叶,图像>>裁剪,保存此正常贴图为png格式或者tga格式
然后魔棒工具shift在草叶外部点击选中所有空白部分,ctrl+shift+i反选获得草叶选区,点击通道选项,新增通道,ctrl+delete将草叶选区填充背景白色(x键快速切换前背景色,或者点击左侧菜单前背景色上的切换按钮),或者shift+F5填充纯白色到选中的草叶选区,获得白草叶黑底图案,我们可以在选择菜单>>修改>>平滑,选择合适像素点,获得比较柔和的选区,然后选择>>修改>>收缩2-3个像素点,然后编辑>>描边8个像素,位置选择居外,不透明度90%,模式:变暗,这样可以修正叶子边缘留白的问题。
最后ctrl+A全选此通道,ctrl+C复制,点击图层选项,ctrl+shift+n新建图层,ctrl+V粘贴通道图案到此图层,然后保存此黑白图案为alpha贴图
打开3ds max,我们选中一根草,按m进入材质编辑器,在diffuse选项后的小方框点入选中bitmap,导入我们的正常叶子贴图。
然后在opacity选项后方框点入,导入alpha贴图。回到此材质父目录,应用所有材质到选中的草模型,然后显示渲染后效果,就可以得到简略的透明贴图了。如果你想微调贴图大小和位置,进入材质管理器的bitmap对应cropping/placement选框,点击view Image,手动拖动裁剪框直到满意,返回勾选Apply即可生效,注意对应的alpha贴图也需要相应调整合适的位置,以免出现留白。
另外,我们也可以直接调整草的uvmap和贴图形状相匹配,不过这个方法会出现比较明显的拉伸变形,自己酌情调整,可以看到,贴图和草的uv map大小是不一致的,我们可以简单调整一下uvw map大小,使贴图材质匹配uv,点击modifier list预设的unwrap uvw按钮>>edit uvs选项下的Open uv editor编辑器,框选所有uv map,右上角调整视图为贴图材质,灵活使用移动,旋转,缩放功能,调整uv map大小到草的材质贴图覆盖范围即可。
如果你需要较为贴合的效果,可以点击freefom mode,选中需要的控制点,改变uv map形状,当然,如果贴图材质形状和uv map形状差异较大,会不可避免出现材质的拉伸,扭曲变形,在高标准的制作中,这样的方式并不可取,一般材质绘制我们都会拿到uvw map后手工绘制相匹配的材质,或者使用substance painter之类的3d 材质制作工具直接在模型上绘制,才能得到真实合理的贴图效果和较高的品质。
好了,草的雏形算是基本完成,接下来我们开始制作草丛并渲染获得高质量低面数的草材模型,导入unity使用
1.b. 草丛的组建
(1)基础拐角柔化
选择草叶,modifier list 点击edit poly按钮,我们对草叶进行柔化,选择polygon面模式,再次全框选所有的草叶,然后填入数字75,代表75°阈值以下角度任意相邻平面夹角纳入柔化区域,点击auto smooth。查看效果
(2)FFD自由形变+使用
我们继续在modifier list 点击FFD 4x4x4 自由变换模组,点开编辑模块,选择control points,这样我们就可以选择需要的控制点进行拉伸旋转缩放,个性化草叶形状了。调整合适后,collapse all
我们对调整后的叶面,勾选使用use NURMS 曲面分割功能,就可以获得比较顺滑自然的弯曲效果了
接下来我们对剩余草叶进行FFD自由形变和NURMS曲面柔化,加工每一颗草,根据需要我们可以搭建长中短绿色草叶各一根,枯黄草叶长短各一根,带贴图材质草叶长两根,一根直,一根柔软圆润,两根grandient ramp 一瘦一肥,总共11根。
当然你也可以创建更多的类型,先制作标准模型再分化成高低两类,以及各种色彩风格搭配,可以自由发挥:
然后列表全选,rename,基础名字Grass_Base_,Numbered命名,初始数字01,step步进1即可
(3)灵活组合搭配草丛
选取中等长度草叶4根做第一个标准高度草丛,灵活使用前上视角和旋转扭曲,获得比较美观的风格,复制一份基础草丛,对其进行微调旋转,组合成更多的草丛,最后保持草丛草叶总数量20根左右合适,获得一个完整的草丛主体,重命名为Grass_Base_Mid_01系列,保存项目副本,以便后期修改调整。保存完毕后框选此草丛所有物体,alt+q隐藏其他物体,通过规范命名组件物体名称和隐藏无关模型,再通过Attach >>attach from list就不容易错选漏选,命名合并的整体为Grass_MId_Green,alt+U恢复隐藏物体
如有需要调整此草丛的pivot归零,选中此草丛状态下,点击右侧齿轮Utilities中的Reset Xform 两次(第一次是以local坐标系将xForm归位,第二次是将xForm以世界坐标系归位),然后Modify页面查看效果Xform恢复标准形状后,collapse all,再点击Hierarchy面板选择affect pivot only,调整轴心为坐标为0,即可
再此选择中短草叶3根搭配1根短黄草叶,做一个低矮高度草丛,灵活调整高度,两侧较矮,总数量16根左右,搭配点缀草丛边缘用,完毕后记得Attach组合,命名Grass_Low_Green,调整pivot
再选择1高1低绿色草叶搭配一长一短黄色草叶,做一个枯黄风格高草丛,调整黄色草叶长度,使得整体黄色中高草叶为主,1最高,2次高,2中等,4-5中矮,2最矮,搭配两根中长绿草点缀,1中绿草,和4根短绿草点缀,整体20根左右合适,用于单独枯黄草丛或者点缀在绿色草丛中,attach组合命名Grass_High_Yellow
再选择中高绿叶4根,搭建中高绿色草丛,总数量16根左右,8高8中高,适用于点缀绿色草丛中央,与枯黄高草丛对应。attach组合命名Grass_High_Green
推荐你自由发挥,打造自己心目中的效果,最后演示草丛如图:
这里简单制作一丛水仙花,凑个整:
拉三条圆柱体,调整形状,可以手动调整顶点vertex,或者modifier list选择bend弯曲皆可
获得简单的花茎
接下来制作水仙花瓣,类似叶子的制作,由于花瓣很薄,我们改成5x1x3规格的plane即可,调整vertex获得花瓣形状即可,可以尝试使用bend弯曲或者之前的FFD整体形变皆可,适当搭配NURMS曲线/turbo smooth和polygon:auto smooth,获得柔和的形状和轮廓,别忘记给花瓣做UVw map后rotate生成copy旋转多份,自行调节,花朵部分attach完毕后,调整合适角度与花茎摆放合并,最后attach成整体后,别忘记reset XForm 两次。
我们再新建一个plane 1x1尺寸,x轴旋转90°,垂直放置于原点,shift拖拽所有草丛到plane前端合适位置,注意不得触碰到plane
接下来做草丛的平面投影渲染到plane平面上,获得高清渲染贴图材质,这样最低仅需1个平面模型,就可以获得草丛的较为真实细腻效果了,当然我们会做一定的裁剪和弯曲,实际一张草丛贴图模型大概10个面以内,可以承载16-20根高清草丛,性价比还是非常不错的,如果你直接用高清模型,一个经过了ffd和NURMBS弯曲的草丛,起码有600多个三角面了,如果场景有数千草丛,代价是非常大的
2.a. 草丛的高清贴图渲染
接下来我们做渲染高清材质的一些预设和配置
渲染这是一门技术和经验并用的领域,专业的渲染工具和参数配置,已经是一门专业的领域,这里我们仅使用3ds max默认的渲染插件,做简单的渲染配置,能满足自己的基本需求就好,不深入,因为实在需要时间的沉淀,是一门经验活
Rendering>render to texture ,点击左侧列表添加plane进入渲染清单,
Projection mapping投影选择列表4个草丛,模式投射即可,设置Projection option投影参数,选择filtering option,筛选过滤菜单打开global supersampler全局超级采样,选择默认的2.5 star模型即可,即每个采样点和周围4个点进行分析处理,对于草丛取色足够,关闭filtering option,回到projection option选择ray miss color为贴近整体绿叶颜色,并微调较浅色域即可,用来填充草丛材质外部空白区域,防止一些贴图周围出现醒目的边缘,这是一个简单的柔化处理以防贴图不匹配导致空白区域亮眼白色被显示渲染。
关闭 projection option菜单,我们回到初始的renderring to texture菜单,选择output 选项,这里输出3个贴图:
diffuse,alpha,normal,修改size为2k,配置一下输出文件夹和文件类型为tga
最后Baked material选项勾选render to files only,仅输出渲染文件,keep source materails,保留初始材质。
点击最下方render,查看render效果
如果颜色偏暗或者偏亮,可从rendering菜单,environment环境配置修改ambient环境亮度为合适的亮度,达到满意为止。
这样,我们的草丛高清材质渲染就
完成了
2.b.最终草丛模型加工
我们新建空白plane,1x1规格,大小随意,这里用的100cmx100cm,然后旋转为竖直,右键菜单选择object properties,勾选backface culling,使得背部渲染透明,获得正反方向,渲染模式换成standard ,edged faces,M键打开材质编辑器,添加我们的diffuse ,alpha贴图到此平板,alpha贴图记得选择Mono Channel output为alpha,作为opacity透明通道贴图,应用后即可获得高清贴图效果,接下来选择Modify面板》edge模式,swift loop添加新的边,隔断每块草丛贴图,完毕后选择polygon模式将每块隔断的草丛选中,shift移动新添copy副本,这样就可以开始制作我们的低模高清材质草丛了,
每块草丛低模,我们勾选Edit Geometry的Preserve UVs,保持所有草丛UV来源于原plane,这样我们微调每块草丛模型时,就可以实时获得原贴图区域,而不会出现扭曲拉伸了。
接下来按需增减线条,选中edge后ctrl+Backspace删除此线段和它两端交点,Backspace则仅删除线条而保留交点。
Swift loop添加水平方向线条,按草丛高矮配置3-4条不等,方便之后我们设置每条线上顶点alpha权重,控制草丛随风飘荡的幅度,alpha权重位于vertex模式的vertex properties中,0表示最低权重,受风力影响为零,不会摇摆,100则完全展现风力效果,从草根到顶部建议配置为0-25-50-75-100
所有草丛中央增加竖直edge,方便我们制作十字形草丛,以及缩小transparency透明部分面积,降低系统运算占用,通过调整四周顶点位置,尽量让模型贴近贴图,减少不必要的开支,部分草丛可以考虑增加顶点或者竖直边(edge),以适应草丛规模,或者减少透明部分面积,注意顶点的增加也会增加系统运算负担,请慎重取舍,获得平衡点。
所有草丛制作完毕,我们新建一个1unit方块,用于参考草丛高度,缩放调整所有草丛高度合适后,Untilities菜单,选择reset xform后collapse all
通过s和a键的snap吸附开启,将所有草丛贴紧地面全部摆放规整
来到hierarchy面板,affect pivot only,归位轴心为 center to object,取消affect pivot only后,右键select and move 移动图标,将x和y轴位置归零,使草丛模型回到原点,再次点击affect pivot only后将z值归零,此刻轴心pivot应该位于原点,即草丛模型正下方中间位置,再右键select and rotate按钮,x轴输入90度,保证unity模型预览方向正确。
将此草丛命名Grass_Clump_HG(high/middle/low,green/yellow),然后隐藏,依次处理加工所有草丛后,保存save+,作为阶段性还原点
我们将草丛逐个显示,shift拖拽copy备份,通过snap angle角度对齐,旋转copy 90度后,合并成十字形草丛,再attach,检查vertex的alpha值和pivot位置,如果你要增加三角形草丛和一定倾斜角度的交叉十字,请再次检查pivot方向,如果发生变化,请再次调整hierarchy面板的pivot位置使之居于原点。
这里注意三角形草丛搭建,建议旋转copy 60度后,我们选择local视角后,z轴方向移动2-3cm即可,attach合并后如果pivot位置发生变化,输入-2-3cm归位原点即可。
如果是倾斜角度交叉十字模型,pivot 方向发生倾斜,依然是hierarchy面板选择affect pivot only后,再次选择align to
world 即可对准归位世界坐标系,再次调整后回到原点。
保存每个选中的草丛最终模型,菜单File>>save selected…保存为max格式即可,将plane高清平板保存为Plane001DiffuseMap.tga,tga格式,作为unity中albedo map使用,所有草丛都是公用此plane的贴图uv,节省资源
3.a.将草丛导入unity
首选新建meshes>vegetation 植被文件夹于assets目录下,拷贝所有草丛max文件于vegetation文件夹下,内部新建Materials和Textures文件夹,将Plane001DiffuseMap.tga文件粘贴到Textures文件夹下,在unity里新建材质球命名GrassAlbedoMap于Materials文件夹下,选择贴图为Textures文件夹下的tga map贴图,shader选择nature leaves,自行调整alphaoff,全局动态光照等参数合适后,将所有草丛模型贴图元素选择此materials材质球后apply,再放置到场景里观察调整效果,满意后,在Assets文件夹下新建Prefabs文件夹,拖拽加工满意后的草丛模型到prefabs文件夹下,统一管理这些预制体。
这样我们的草丛算是顺利导入unity了,接下来就是地形的绘制和草丛detail刷刷刷了。