当前位置导航:炫浪网>>网络学院>>图形图像>>3D MAX教程

用3DSMax制作带影子或光斑的贴图

假影子是假三维的一种,有时候为了节省运算,让程序的效率提高,将静止物体的影子或者光斑直接赋予纹理之上,最著名的游戏里很多使用这种方便的方法,如下:

  有时候,有的影子或者光斑完全不会动,那么就没有必要用即时的方法来浪费宝贵的资源,方便得方法就是直接把影子或者光斑画在贴图纹理上,现在,我们用一个实际例子来如何便捷的制作这样的贴图。

  一般来讲,在纹理上画影子或者光是一件麻烦的事情,因为你不可能在游戏中直接为他画上影子,有时候则需要反复对贴图进行修改,我敢打赌您一定不愿意做这样的费力工作。在此,我们将了解如何简单便捷的为场景中的静止物体“画”影子。
3DMax5以上的版本提供一个功能,可以直接将影子渲染到贴图的功能。通过本节的介绍,您不需要为静止的物体初始化影子和麻烦的灯光调整而发愁。

  请参照附带的一些例子资源。

  我们先来看看效果:我们所有的演示将由3DMax导出没有任何灯光及正常纹理的.x文件在d3d9的模型查看器里查看即时效果(用其他的工具也无所谓)。

  您可以在例子资源中将.3ds导入3DMax进行研究,也可以在DirectX Utilities的MeshView工具打开.x文件进行测试。

  这个是没有任何灯光,也没有任何影子,能够看出来,缺少影子的场景看起来很不协调。(mm0001.x就是这个文件。)

  为了产生最终效果我们进入3Dmax为我们的场景打几盏灯,调整你想要的光源,并且让灯源能够照出影子。

  然后,使用菜单项Rendering下的Render to Textrue选项,当然这个时候,请确认您的场景模型已经被选中,如果您的是一个大场景,那么笔者建议您将场景合并成为一个mesh后再使用该功能。

  首先先不考虑其他设置,我们直接点击Add为其添加需要渲染得纹理,这时出现如下对话框,

  选择DiffuseMap,其他的选项程序员可以研究,笔者不推荐美术人员在这个地方太过关注。

  选择之后,主窗口就会出现相关的信息,例如纹理路径、名称、精度等可调整项,稍加修改即可为您导出适合您程序的纹理贴图,选择Render,将得到如下样子的贴图:

很明显,纹理上已经拥有了“影子”和“光斑”,得到纹理同时模型的身上就已经拥有了Automatic Flatten UVs修改器,实际上它和Unwrap UVW是一样的,从字面意义上可以看出,是由max自动为其修改的贴图坐标,您可以做一下其他尝试,便于了解。

于是我们使用这个贴图和贴图坐标生成新的模型(mm0002.x),下面是最终的效果

  这一张就是使用上面的贴图贴图的最终效果,再次说明,这个场景里面除了环境光以外的没有任何光源,影子的效果全靠贴图实现。

  使用这种方法可以为场景减少运算负担的同时润色不少。以上是一个简单的盒子,下面是一个较复杂的场景,得出的效果也是不错,相信我,再复杂的场景,一样能够通过上面的方法,便捷制作一张精美的带各种光照效果的贴图:P

  最后,我们搞定一下常见的错误,错误如下:

  这个问题是,贴图坐标修改器不被导出插件辨认,解决的方式是先导出成为3ds文件后,再导入到3DMax,您可以看到原来的修改器已经没有了,然后重新赋予由Render to Textrue生成的贴图纹理即可解决。除此之外,先将UVWs坐标信息Save下来,然后Load给模型也是一种好方法,但是比较麻烦,如果您对此有兴趣,请和我联系了解。

  刚开始,您可能找不到窍门,而觉得制作起来非常的麻烦且困难重重,这一切都是因为经验不足而造成的,如果您能实际制作1-2个事例,这一切很容易熟练掌握。
相关内容
赞助商链接