3DsMax基础教程:开发3DsMax插件方法和应用

修改
鏉ユ簮: 貌似殊途 浏览 4714 日期 2011-11-12 0

在三维虚拟互动场景中,存在着由大量的静止物件构成的背景。如室内场景中的桌子、墙壁、壁饰等。室外场景中的楼房、马路、草坪等。这些通常是由建模软件构建好之后,再导入场景中的。常用的建模软件如max、maya都提供了sdk以快速开发导出插件,来导出这些物件的位置、材质、光照以及其它信息。在我们的应用中,利用max的sdk开发了两个版本的插件,分别导出不同的内容以供渲染使用。

  场景导出dle插件导出的信息包括:相机、光源、几何体、单位、背景等信息。几何体信息包括:位置、法向量、纹理坐标、材质和纹理等信息。支持max中包括:stand、bakeshell、multi/sub-object、blend、matte/shadow、double sided、composite、top_bottom等8种材质和bitmap、mask、checker、marble 3d、mix、noise、gradient、tint、reflect/refract、flat mirror、composite、rgb multiply、falloff、output、plate glass、vertex color等16种纹理信息的导出。

[next]

  动画导出dlu插件导出的信息包括:相机动画、轨迹动画、bezier/tcb/采样关键帧动画、bone/physique骨骼动画、逐帧动画。

  使用插件导出场景后,渲染的示意图如下:

  

  场景渲染图-

  

  场景渲染图二

  

  关键帧动画渲染图

  

  骨骼动画渲染图

  开发max插件,通常的做法就是阅读sdk help和sdk sample的示例代码以及autodesk的官方帮助网站。对于导出插件而言,这些就足够了。再根据自己项目的需要,有针对性的做一些研究就够了。这里需要注意的几点是:1,场景导出后,根据max坐标系和渲染使用的坐标系之间的不同,进行相应的坐标转换。2,最好同时导出相机信息和单位信息,这样,在显示和合并场景时,就不会出现有些物件忽大忽小,或者压根就看不见的情况。3,物件相应的文件,如:几何物件的材质、纹理文件,最好打包后随身携带。以免显示时,因文件丢失而显示错误。

评论

{{ username ? username.charAt(0).toUpperCase() : '?' }}
Ctrl+Enter 发布
{{ (c.username || c.author_name || '?').charAt(0).toUpperCase() }}
{{ c.username || c.author_name }} {{ Utils.formatDate(c.created_at) }}