3Ds MAX骨骼动画导出插件编写
- 格式:pdf
- 大小:269.86 KB
- 文档页数:10
RealFlow 和RealWave 是目前PC 机最好的专用于流体力学模拟的软件,可与包括3ds Max 在内的五款三维软件接口,可将动画场景导入RealFlow 进行碰撞计算,再将得到的粒子和液体模型输出到三维软件中,进行最终渲染,完全没有兼容性的问题。
提供包括倒在杯子中的水、蜡烛流下的液体、气态流动、液体与物体真实碰撞、几种液体混合等在内的真实的、高速的流体力学动态模拟,产生的效果接近高速摄影机拍摄到的水流效果。
RealFlow 和RealWave(流体动力学插件)Realflow和RealWave界面RealFlow 生成的粒子效果可以进行像3ds Max 普通粒子一样进行旋转碰撞、粒子替代和运动继承等操作,可以引入粒子系统模拟多种不同的流体,它基于真实的流体动力学方程,完全CPU 增强,流体的行为取决于粘质、压力、延迟因素等参数,使RealFlow 模拟达到高度真实。
RealWave 可仿真模拟物体与液体的碰撞涟漪效果,可模拟海面、落入物体后水面泛起的涟漪、行驶在水中的船(包括破浪泛起的粒子水花和产生的水面拖尾)。
RealFlow和RealWave实例【摘要】在使用3ds Max 软件进行影视动画制作时,经常会应用到外部插件,本文总结了常用的七个外部插件的特点和操作要点。
这些插件包括:Realflow 和RealWave(流体动力学插件)、C A T (多足动物骨骼系统)、Bones Pro(肌肉蒙皮插件)、Shag:Hair(毛发插件)、DarkTree(程序化材质纹理插件)、AfterBurn (烟雾效果插件)和Phoenix(火焰超现实仿真插件)。
【关键词】3ds Max |外部插件|影视动画|特点|操作3ds Max影视动画制作常用外部插件CAT全称Character Animation Toolkit,是一套专业的角色动画设计包。
这个强大的插件专门用于增强3ds Max的角色动画功能,集非线性动画、I K/F K工具、动画剪辑管理等强大本领于一身。
插件格式介绍:首先需要说明的是,所有外部插件只能对应相应版本的Max,各版本之间不能通用。
除了大型特殊插件,所有外部插件基本都存放于Max安装所在的Plugins和Stdplugs目录下。
Stdplugs 用来存放 3DS Max自身的插件(MAX 的各项功能也是通过插件的方式实现的);外部插件往往被放置在 Plugins 文件夹中。
3DS MAX 外部插件一般表现为几十K、几百K的*.dlo 、*.flt 等文件。
下面详细地列出了各种文件扩展名的含义:*.dlo 位于 Create 面板中,将被用来创建物体*.dlm 位于 Modify 面板中,属新的编辑修改器*.dlt 位于材质编辑器中,是特殊的材质或者贴图*.dlr 渲染插件,在 File > Preferences 菜单的 Rendering 面板中,通过 Production 的Assign 按钮指;也可能位于 Environment 环境编辑器中,属特殊大气效果*.dle 位于 File > Export 菜单中,定义新的输出格式*.dli 位于 File > Import 菜单中,定义新的输入文件格式*.dlu 在 Utility 程序命令面板中,作特殊用途工具栏里*.flt 位于 Video Post 视频合成器中,属特技滤镜,被用来做后期处理*.dls 用于捕捉方面的设置*.dlc 位于Motion移动命令面板中,属于动画控制器或针对于动画控制器的工具*.dlb 其中的Shaders.dlb是作为渲染器类型的外挂*.dlk 用于渲染时预过滤*.bmi 位图文件的增强格式*.dlv 用于渲染特效*.dlh 用于渲染时取样*.dlx 用于系统中的外挂*.dlf 字体类型外挂插件安装方式:1. 标准安装:通常使用标准安装方式的插件都是官方发布的主要大型插件,如:Discreet 3DS Max主程序、Max4.2 Update、Character Studio、Mental Ray 、Reactor ,以及一些其他主要厂商主力推出的插件,如:Cebas 系列、Vector 3D 、Cult 3D Exporter、Hemisphere Deep Paint 3D With Texture Weapons等等。
3Dmax骨骼绑定教程:为角色添加动画效果步骤一:准备工作1. 确保你已经安装了3Dmax软件,并打开一个新的场景。
2. 导入你的角色模型(可以是一个已经完成细节雕刻的角色模型,也可以是一个简单的基础模型,后续可以进行细节添加)。
3. 将场景视图调整为合适的角度,以便于观察和编辑模型。
步骤二:创建骨骼系统1. 选择"Create"(创建) -> "Systems"(系统) -> "Bones"(骨骼)。
2. 在视图中点击一个适当的位置以创建第一个骨骼。
3. 点击鼠标右键,选择"End Create"(完成创建)。
4. 通过继续点击鼠标右键创建其他相关骨骼,构建整个骨骼系统。
5. 使用移动和旋转工具调整每个骨骼的位置和角度,使其适应你的模型。
步骤三:绑定骨骼到模型1. 选择你的角色模型。
2. 在"Modify"(修改)选项卡下,找到"Skin"(蒙皮)工具,并点击。
3. 在弹出的对话框中,点击"Add"(添加)以添加你创建的骨骼系统。
4. 通过拖拽鼠标选择你要绑定的骨骼。
5. 点击"Add"(添加)。
6. 重复以上步骤,将所有骨骼绑定到模型上。
步骤四:权重绘制1. 在"Skin"(蒙皮)选项卡下的"Vertex"(顶点)面板中,找到"Edit Envelopes"(编辑权重)。
2. 点击"Paint Weights"(绘制权重)。
3. 选择一个骨骼,并选择适当的画笔大小和强度。
4. 在模型上点击和拖动鼠标以绘制权重。
5. 重复以上步骤,为每个骨骼绘制权重。
步骤五:测试动画效果1. 在时间轴上选择一个时间范围,用于测试你的动画。
2. 在"Animate"(动画)选项卡下,找到"Auto Key"(自动关键帧)工具,并点击以激活关键帧录制。
MD2是Quake2中使用的模型文件格式,由于其比较简单,容易实现,所以应用很广,是一种经典的动画模型格式。
该文件格式由2部分组成:一部分是文件头,包含了文件ID号、版本号和有关模型的各种数据的起始地址等;另一部分是文件的主体,包含了有关模型的各种数据,如顶点数据、纹理数据、法向量数据等。
通过3DMAX软件你可以自己制作MESH格式的3D模型和贴图,然后转化成MD2格式文件。
需要借助一个小插件md2exporter。
此插件开发较早,通过实践,可以用在当前流行的MAX7或者MAX8上,方法如下下载一个md2exporter插件压缩包,非常小几百K解包,注意里面的MS后缀文件,这就是manscripts文件把它放入你安装3DMAX目录下的scripts目录下,MAX装在哪个区只有你自己知道,一般都是C区默认进入MAX,打开插件面板加载MD2exporter插件,新手按如图步骤,加载成功底下会出现md2exporter对话面板,里面有几个简单选项,可以发现,都是针对动画设置的,钩选save animation,这样才可以保存动画,帧数设置,还有一个framestep 是帧速率设置,通常情况默认导出后会出现动画速度与PV3D里表现不一致,就可以调整这个选项加大倍数,动画速度就会加快。
选中你要导出的模型,export设置下导出路径,OK你就得到一个MD2文件,格式非常小,记得把你绘制的贴图带上。
在导出的时候如果跳出"model not mesh"警告,就说明你的模型不是MESH的,可能是polygon四边形的,请在制作前保证模型是MESH再绑定和加动画。
玩PV3D的大部分都是net ,flash设计人员,可能对3D部分不是很熟悉,此帖希望能对大家有点帮助。
谢谢达达兄的交流平台。
3Dmax骨骼动画制作:给你的角色注入生命随着科技的不断进步,3Dmax这种3D建模和动画软件被广泛应用于电影制作、游戏开发和虚拟现实等领域。
其中,骨骼动画是制作3D角色动作的一种常见方法,通过给角色添加骨骼和控制器,实现角色的自由活动和表达。
本文将介绍使用3Dmax制作骨骼动画的步骤,帮助你给你的角色注入生命。
步骤一:准备工作- 打开3Dmax软件,并导入你已经制作好的角色模型。
- 确定角色的基本姿势,例如站立、行走、奔跑等。
步骤二:添加骨骼- 在3Dmax的菜单栏中选择“创建” - “系统” - “骨骼”。
- 通过鼠标点击在角色模型上创建骨骼链条,骨骼的数量和位置要与角色的动作需求相符。
- 使用“调整”工具栏中的“移动”、“旋转”和“缩放”功能来调整骨骼的位置、角度和大小。
步骤三:给骨骼添加控制器- 选中骨骼链条,点击3Dmax的菜单栏中的“工具” - “控制器” - “点控制器”。
- 在角色模型的关键部位(例如关节处)创建点控制器,用于控制骨骼的移动和旋转。
- 可以使用“智能约束”功能将骨骼与控制器相连,实现控制器对骨骼的实时调整。
步骤四:设置骨骼的权重- 选中角色模型,并转到3Dmax的“编辑” - “多边形” - “编辑多边形对象”面板。
- 在面板中选择“顶点”模式,逐一选中模型上的顶点。
- 调整顶点的权重值,来设置骨骼对顶点的影响程度。
权重值越高,骨骼对顶点的影响越大。
步骤五:制作角色动画- 打开3Dmax的“动画”面板,选择合适的帧范围和帧率。
- 使用关键帧的方式制作骨骼动画,将角色从一个姿势变换到另一个姿势。
- 通过调整控制器的位置和角度,来控制骨骼的移动和旋转。
- 可以使用3Dmax提供的曲线编辑器来调整动画的缓动和流畅度。
步骤六:优化和渲染动画- 在动画制作完成后,对动画进行优化,检查是否有不自然的动作或者交叉问题。
- 使用3Dmax的渲染器来渲染动画,生成最终的动画效果。
- 可以通过调整光照、材质和摄像机设置,来增强场景的逼真度。
3Dmax动画导出与渲染视频教程3D Max是一款功能强大的三维建模和动画软件,它能够创建出令人惊艳的动画效果。
在设计制作完成后,我们通常需要将其导出为视频文件,以供其他人观看或在其他平台上使用。
本文将详细介绍3D Max动画导出与渲染的步骤,帮助读者快速掌握该技巧。
一、准备工作1. 确保你已经安装了最新版本的3D Max软件。
2. 确保你已经完成了动画的制作和编辑,并保存了相应文件。
二、设置导出参数1. 打开3D Max软件并加载你的动画项目。
2. 点击顶部菜单栏中的“文件”>“导出”选项。
三、选择导出格式1. 在弹出的导出窗口中,选择你希望导出的文件格式。
常见的视频格式包括AVI、MP4等。
2. 如果需要调整视频的分辨率、帧率等参数,可以在该窗口中修改。
一般情况下,选择默认设置即可,但根据具体需求可以进行适当调整。
四、选择导出路径1. 在导出窗口中,选择你希望保存的文件夹和文件名。
2. 点击“保存”按钮,确认导出路径和文件名。
五、设置渲染参数1. 在3D Max软件界面的右侧面板中,找到“渲染设置”或“渲染设置器”选项。
2. 点击该选项,打开渲染设置窗口。
3. 在渲染设置窗口中,选择你想要的渲染器。
常见的选项包括“默认扫描线渲染器”或“mental ray渲染器”等。
4. 根据具体需求,可以在该窗口中对光照、材质等渲染参数进行调整。
六、开始渲染1. 在渲染设置窗口中,点击“渲染”按钮。
2. 3D Max软件将开始渲染动画,在处理速度和电脑性能允许的情况下,等待渲染完成。
3. 渲染完成后,你可以在所选择的导出路径中找到导出的视频文件。
七、测试和调整1. 在完成导出和渲染后,你可以观看并检查导出的视频文件。
2. 如果发现任何问题,例如画质不佳或渲染效果不符合预期,可以回到3D Max软件中进行相应调整,重新导出和渲染。
八、保存源文件和相关资源1. 在整个导出和渲染过程完成后,不要忘记保存3D Max项目文件和所使用到的资源文件,以备后续需求或修改使用。
用Maxscript导出3ds Max中骨骼动画数据
何昌霖
【期刊名称】《计算机时代》
【年(卷),期】2010(000)011
【摘要】介绍了从3ds Max导出骨骼动画数据的理论和方法.首先论述了在Max 环境与Direct3D环境中坐标系统的差别、坐标变换原理及其方法,然后介绍了用Maxscript以x文件格式提取Max中的网格、材质数据和骨骼动画关键帧数据的方法.最后对保存数据的基本方法作了简要叙述.
【总页数】3页(P19-21)
【作者】何昌霖
【作者单位】右江民族医学院计算机教研室,广西百色533000
【正文语种】中文
【相关文献】
1.3DS MAXScript在水工结构虚拟现实模型中的应用 [J], 魏群;王宁波;王诗玉
2.3DS MAX及MAXScript在汽车内饰材料定制设计系统中应用 [J], 赵秀栩;李刚炎;杨明忠
3.用MaxScriot从3DS Max导出骨骼动画数据 [J], 何昌霖
4.3DS MAX中数据导入导出问题研究 [J], 许伟
5.MAXScript为3DS Max个性化UI设计过程 [J], 李钰
因版权原因,仅展示原文概要,查看原文内容请购买。
3ds Max插件制作方法3DS Max 插件制作的学习方法要从3ds Max中导出场景信息,大概有两种方式:1.利用3ds Max的sdk制作插件。
2.利用3ds Max的Max Script编写场景输出脚本。
两种方式各有优劣,这里仅叙述我用了数天研究3ds Max SDK并制作插件的学习心得。
1.前期环境配置工作。
首先肯定要安装带SDK的3ds Max,我安装的是3ds Max7。
安装后在maxsdk\help 下有个sdkapwz.zip,把这个文件解压到VS 6.0或VS 2003的application wizard路径下,启动VS就会有3ds Max plug-in的应用程序向导来生成插件程序的框架。
2.制作插件需要了解的几个基本概念。
2.1 我所了解的插件原理是:3ds Max会公布一些接口,插件制作者需要做的是实现这些接口。
例如利用向导生成一个用于场景导出的插件。
就会发现在生成的程序中有一个类继承于class SceneExport,而SDK 中关于这个接口的描述是:This is a base class for creating file export plug-ins. The plug-in implements methods of this class to describe the properties of the export plug-in and a method that handles the actual export process.再看下面的函数说明,可以看到函数是虚函数的方式声明的,所以必须要将其所有的函数进行实现。
2.2 3ds Max是怎样识别插件的接口?还是以上面的场景到处插件为例,程序中还会生成一个继承于ClassDesc2的类,这个类会实现一些关于类的ID,层次信息处理的函数。
估计系统就是根据这个识别处我的插件的接口,没有具体去研究,只了解个大概。
3DMAX5动画导出及模型,动画数据格式分析1 导出⽅法导出unity使⽤的fbx⽂件⽅法⼀般采⽤物体和(⾻骼)动画单独导出的⽅式,物体中不含动画但应该含有相关⾻骼索引,动画中不包含模型(减少资源体积),每个动作单独⼀个动画(这样如果⼀个动作出问题,只需要只对这个动作单独改动即可,美术修改⽅便)导出模型:选中模型和⾻骼,导出选中对象,在弹出框中去掉动画选项(不选⾻骼就不能⽤动画)导出模型时如果要贴图必须把嵌⼊的媒体选项勾上,如果不勾选,3dmax不会⾃动⽣成.fbm格式的贴图也可以不导出贴图,然后把贴图单独放⼊unity,⼿动给模型材质附上贴图导出模型时⼏何体选项⼀个都不选貌似也可以(这个有什么影响以后再试),另外导出模型时动画,摄像机,灯光等都不需要,以unity中的为主单位选厘⽶,另外在3dmax中可以通过菜单-⾃定义-单位设置把单位设置为厘⽶轴向问题显⽰上max(右⼿系)与unity(左⼿)对应关系记录导出时为了保证到unity中旋转没有x轴-90度的问题,要做如下设置缩放问题导出动画:选中⾻骼,导出选中对象(设置可以关了模型全部选项),导出的⽂件名a@b.fbx a是之前导出模型名,b是⾃定义动作名。
动作和模型名称的对应关系在unity中会⽤到关于3dmax默认cs⾻骼与unity⼈型动画不匹配的问题说明直接在max中拖⼀个cs,直接导⼊unity,选择⼈型动画,直接报错原因是max默认⾻骼⽗⼦关系,跟unity⼈型要求不同,感觉上是max特殊了⼀点max中的关系是盆⾻-脊椎0-⼤腿,脊椎-脖⼦-肩膀unity中⼈型的关系需要时盆⾻-⼤腿脊椎-脖⼦脊椎-肩膀这个直接在max中调整下⾻骼⽗⼦关系就能解决上⾯这个强制改变cs⽗⼦关系的⽅法不可⾏,会导致⼀个奇怪的问题,⽐如改完⽗⼦关系后,上半⾝的⾻骼随便转动⼀下,ctrl+z不再恢复17.12.30 ctrl+z的问题原因是没关闭⾻骼体型按钮,调动画之前先关闭这个另外不重新指定⽗⼦⾻骼也能使⽤unity⼈型,上⾯报的只是警告,unity中重新制定下重定向⾻骼就好注意Animation下⾯的Deformations(变形)这个选项要打开,否则动画在unity会报空指针2 模型数据格式3 ⾻骼与动画数据格式。
3Dmax插件开发指南:定制您自己的插件和脚本3Dmax是一款强大的三维建模、动画和渲染软件,广泛应用于电影、游戏、建筑和工业设计等领域。
为了满足用户的个性化需求,3Dmax支持插件和脚本开发,使用户能够根据自己的需求定制功能和工具。
本文将提供一个详细的指南,教你如何开发定制化的3Dmax插件和脚本。
一、了解3Dmax插件和脚本开发的基础知识1.1 插件和脚本的定义插件是一种可以扩展3Dmax功能的外部工具,可以添加新的命令、工具栏按钮或菜单项等,以实现特定的功能。
脚本是一种自动化操作的计算机程序,可以通过编写脚本语言来控制3Dmax软件的各种操作。
1.2 插件和脚本的开发环境3Dmax提供了一个强大的开发环境用于插件和脚本的编写和测试,主要包括Maxscript和.NET插件开发两种方式。
Maxscript是一种基于脚本语言的开发方式,适用于简单的功能和小型工具的开发;而.NET插件开发则提供了更多的灵活性和功能扩展的可能性。
二、使用Maxscript进行插件和脚本开发2.1 学习Maxscript语法和基本命令Maxscript是一种易学易用的脚本语言,可以轻松地执行各种3Dmax操作。
你可以通过阅读相关的文档和教程来学习Maxscript语法和常用命令,如创建对象、修改对象属性、运行动画等。
2.2 开发自定义的脚本功能首先,你需要确定你的脚本的功能和目的,然后使用Maxscript编辑器编写脚本。
例如,你可以编写一个用于自动创建树木的脚本,包括树干和树叶的生成、形状调整和材质设置等。
你可以使用Maxscript提供的一些内置函数和方法进行开发,也可以利用Maxscript的编程能力实现更复杂的功能。
2.3 创建自定义的工具栏按钮和菜单项在3Dmax的用户界面中,你可以创建自己的工具栏按钮和菜单项,以方便调用你的自定义脚本功能。
你可以通过Maxscript编辑器的界面设计工具来创建和调整工具栏按钮和菜单项的样式和位置,然后将它们与你的脚本函数关联起来。
3Dmax中动画导出和后期处理技巧3Dmax是一款专业的三维建模和动画制作软件,在进行动画制作时,我们需要将完成的动画导出并进行后期处理。
本文将详细介绍3Dmax中动画导出和后期处理的技巧和步骤。
一、动画导出技巧1.选择合适的导出格式:3Dmax支持多种动画导出格式,如AVI、MOV、MP4等。
在选择导出格式时,需要根据动画的用途和平台进行选择。
比如,如果动画要用于在社交媒体平台上进行分享,可以选择MP4格式;如果要在大屏幕上播放,可以选择MOV格式。
2.调整动画帧率:在导出动画之前,可以根据需要调整动画的帧率。
帧率决定了动画的流畅度和文件大小,一般情况下,帧率越高,动画越流畅,但文件大小也会相应增加。
根据实际需要,选择适合的帧率。
3.确定导出范围:有时候,我们只需要导出动画的一部分,而不是整个动画。
在3Dmax中,我们可以通过调整时间轴来确定导出的范围。
点击时间轴上的开始和结束帧,然后选择导出范围,即可导出指定范围的动画。
二、后期处理技巧1.剪辑和拼接:根据需要,我们可以使用视频编辑软件对导出的动画进行剪辑和拼接。
比如,可以去掉多余的镜头或者在不同的动画之间添加过渡效果,以增强观赏体验。
2.颜色和色彩校正:有时候,在动画导出后,颜色和色彩可能因为导出格式或者播放平台的差异而受到影响。
在后期处理中,我们可以使用调色工具对颜色进行校正,以保证动画色彩的准确性和一致性。
3.添加特效和音频:后期处理的另一个重要环节是添加特效和音频。
通过添加特效,我们可以增强动画的视觉效果,使其更加生动和有趣。
同时,添加背景音乐或者音效,可以增强动画的氛围和感染力。
4.导出适用于不同平台的格式:不同的平台对于动画的格式有不同的要求。
在后期处理中,我们可以根据需要,导出适用于不同平台的格式,以便在不同的设备和平台上播放。
三、步骤详解1.完成动画制作:使用3Dmax进行动画制作,包括建模、动画绑定、场景搭建等环节,确保动画的质量和效果。
3Dmax中的动画导出与使用技巧3Dmax是一款常用的三维建模和动画软件,它提供了丰富的工具和功能,可以帮助用户创建出精美的动画效果。
本文将介绍一些关于3Dmax中动画导出和使用的技巧,帮助读者更好地利用这一工具进行动画制作。
1. 导出动画前的准备工作:- 在动画制作过程中,确保所有的材质、纹理和模型都已经正确地命名和组织。
- 检查动画中是否存在无效的对象或关键帧,并进行删除或修复。
2. 选择合适的导出格式:- 3Dmax支持多种不同的文件格式,如FBX、OBJ、3DS等。
在导出前,根据具体需求选择合适的格式。
- 考虑目标平台和设备的兼容性,选择一个被广泛支持的格式,以便在其他软件或设备上播放和编辑。
3. 导出动画的步骤:- 在3Dmax中,选择需要导出的模型或动画序列。
- 打开“文件”菜单,选择“导出”选项。
- 在弹出的导出对话框中,选择目标文件格式和保存路径。
- 根据需要设置导出选项,如是否导出动画、是否保留材质等。
- 点击“导出”按钮,完成导出过程。
4. 使用导出的动画:- 导出的动画文件可以用于多种用途,如在其他3D软件中进一步编辑、在游戏中使用或在网页上播放等。
- 在其他软件中导入和编辑动画文件时,确保选择正确的导入设置,并进行必要的调整和修复。
- 在游戏中使用动画时,根据游戏引擎的要求和限制进行适当的优化和调整。
- 将导出的动画文件嵌入到网页中时,使用HTML5等技术实现动画的播放和控制。
5. 提高动画制作效果的技巧:- 使用合适的动画曲线编辑器调整关键帧之间的插值方式,以实现更加流畅和自然的动画效果。
- 使用灯光和材质等技术元素增强动画的视觉效果,营造出逼真的光影和质感。
- 利用3Dmax提供的物理引擎和粒子系统等功能,模拟真实的物理运动和特效。
- 学习并掌握其他相关软件和工具,如ZBrush、After Effects等,以扩展动画制作的可能性。
总结:通过本文的介绍,读者可以了解到在使用3Dmax进行动画制作时,导出和使用动画的一些技巧和步骤。
3Dmax角色动画教程:从骨骼绑定到动作制作3Dmax是一种常见的三维建模软件,广泛应用于电影制作、游戏开发以及广告设计等领域。
在这个教程中,我们将介绍如何使用3Dmax创建角色动画,从骨骼绑定到动作制作的具体步骤。
下面是详细的教程内容:1.准备工作在开始角色动画制作之前,我们需要准备好所需的资源,包括角色模型、纹理贴图和动画素材。
确保这些素材都具备要求的格式和质量。
2.角色建模首先,在3Dmax中创建一个新的空白项目。
然后,根据设计要求使用建模工具创建角色模型。
这一过程涉及到使用基本的几何体进行雕刻和组合,以及添加细节和纹理。
3.骨骼绑定在角色模型建立完成后,我们需要为其添加骨骼系统,以便进行动画控制。
选择"Create"菜单下的"Systems",然后选择"Bone"工具。
在角色模型上单击并拖动,创建骨骼结构,确保骨骼的层级关系和位置符合角色的解剖结构。
4.骨骼调整一旦骨骼创建完成,我们需要对其进行调整,以确保每个骨骼的位置和旋转符合预期。
通过选择骨骼并使用旋转和平移工具进行调整。
5.皮肤绑定完成骨骼调整后,我们需要将角色模型与骨骼进行皮肤绑定,以实现骨骼对角色模型的控制。
选择角色模型,然后选择"Modify"菜单下的"Skin"选项。
选择"Add"按钮,并选择相应的骨骼进行绑定。
6.权重调整一旦皮肤绑定完成,我们需要调整每个顶点与骨骼的权重。
这些权重决定了每个骨骼对角色模型的影响。
选择"Skin"选项下的"Edit Envelopes"按钮,在编辑模式下对每个骨骼的影响范围进行调整。
7.动作制作一旦角色模型与骨骼的绑定完成,我们可以开始制作动作。
选择角色模型,然后选择"Motion"菜单下的"Capture"选项。
Panda DX Exporter
Panda DX Exporter是一个3D Studio Max R 3.x~9.x插件,可以输出场景到.X文件。
支持:网格顶点优化,骨骼,动画,贴图缩放到2^幂,右手坐标系,X File完整的分层结构。
可以到它的官网下载相应的3ds Max的版本对应的插件基本选项,对象参数如下图
动画设置
Options——帧类型,可以是Position, Scale & Rotate keys,也可以直接用一矩阵替换
Animation options——是否循环播放动画,及对动画平滑处理
纹理
texture converted——可以将贴图与.X文件一起输出
scaled to nearest power of 2——贴图缩放到2^幂
Format——输出类型,可以使用各种DirectX支持的纹理格式(bmp,tga,png,jpg)Use full pathname——是否用完整路径名。
(一般不使用绝对路径)
DX File Type——同上
DX frame——框架结构,如果前面选择Include Animation,就不能选No frame
Top frame hierarchy——顶框架结构,所有框架在同一顶层
Sub frame hierarchy——子框架结构。
父框架会影响子框架位置(MAX中的连接操作),对作IK有好处,但矩阵要经过多次变换才能传递到子框架
Left Handed Axis——左手坐标系,一般使用左手坐标系。
3Dmax骨骼绑定教程:为角色添加骨骼动画3Dmax是一款广泛应用于建筑设计、游戏开发和动画制作的三维建模软件。
在3Dmax中,骨骼绑定是非常关键的一步,它能够使得角色模型可以进行骨骼动画,增加模型的可塑性和真实感。
本文将详细介绍3Dmax中的骨骼绑定教程,让读者了解如何为角色添加骨骼动画。
一、准备工作在进行骨骼绑定之前,需要准备好以下工作:1. 角色模型:导入或创建一个角色模型,在3Dmax中进行编辑和调整。
2. 动画需求:确定好角色需要进行的动作和动画效果,这将直接影响骨骼绑定的设置。
二、骨骼系统的介绍在3Dmax中,骨骼系统是用于模拟和控制角色动作的基础。
它由骨骼链和骨骼关节组成,相当于人体的骨骼系统。
骨骼链是由多个骨骼关节连接而成的链状结构,每个骨骼关节具有一定的自由度,可以进行旋转、平移和缩放等变换操作。
三、创建骨骼系统1. 选择角色模型,在“创建”菜单中选择“系统”下的“骨骼”。
在视图中将会出现一个“Bone001”的骨骼对象。
2. 在“层次管理器”中选择“Bone001”,在视图中点击一个点,然后再点击几次,即可创建多个骨骼关节,形成骨骼链。
四、调整骨骼关节的位置和方向1. 选择骨骼链中的一个骨骼关节,通过移动、旋转和缩放等操作调整其位置和方向,使得它与角色模型的相应部位对齐。
2. 逐个调整完成所有的骨骼关节,确保它们能够正确地控制和模拟角色的运动。
五、设置骨骼的影响区域1. 选择角色模型,在3Dmax软件界面的右侧选择“修改器列表”中的“皮肤”。
2. 在“皮肤”面板中,点击“添加”按钮,选择骨骼对象,然后点击“确定”。
这样就将骨骼应用到了角色模型上。
3. 选择角色模型,在视图中选择“顶点”模式,然后通过“选择”、“绑定”等工具将角色模型的一部分与相应的骨骼关联起来。
注意要确保每个骨骼关节只影响其相应的部分。
4. 重复以上步骤,逐个关联角色模型的各个部分和骨骼关节。
六、测试和调整1. 在3Dmax中选择“动画”下的“骨骼”进行测试,看看骨骼是否能够正确地控制角色模型的运动。
如何编写自己的3DsMAX骨骼动画导出插件 潘李亮 2007-12-7 xheartblue@163.com
一 简介 在3D引擎中,骨骼动画系统是非常重要的一个组成部分,虽然在一个游戏的真正开发过程中,一个优秀的游戏引擎也许不需要用户去关心它的骨骼动画系统是如何实现的,但是还是有很多人希望了解这样的一个技术。 一个商业化的骨骼动画系统包含的组件是很多的,比如有DCC(Digital Content Creator 数字内容创建工具,比如3Ds MAX , Maya等)插件,蒙皮计算程序,蒙皮渲染程序,动作计算程序,表情系统,柔体系统,音唇同步,以及针对物理系统的接口等。其中DCC插件包含DCC的导出插件和其他专用数据生成插件。 本文将会介绍骨骼动画系统里的一个基础部件:3Ds MAX 的骨骼动画导出插件。2005年底的时候我在csdn的游戏开发频道里发过一个在linux下可以运行的骨骼动画程序,使用的是自定义的骨骼动画模型。从程序发布以后,就有很多人问我关于3Ds MAX插件的编写和骨骼动画数据管理等问题。网络上相对这方面的资源比较少,希望本文对那些在寻找和学习这方面内容的读者能有一定的帮助。另外鉴于作者水平有限,文中难免出现错误的地方,欢迎指正与批评。 本文是介绍如何编写3DsMAX插件的文章,所以假设读者有一定的骨骼动画原理基础和图形编程经验。如果对这两块还比较陌生的读者,建议先阅读相关资料。
二 3Ds Max SDK和插件系统 选择编写3DsMAX(以下简称MAX)来导出的数据的原因是MAX拥有强大的建模能力,并且通过它美工可以方便的修改动作,材质等属性。同时个人感觉MAX的SDK对初学者来说虽然有些晦涩。但是这个SDK还是能非常直接的反映出MAX本身的工作流程的,在熟练以后,使用起来还是比较顺手的。 最新版本MAX9的MAXSDK包含在安装光盘里,在安装完MAX后直接安装SDK,并在工程里添加maxsdk的包含路径和库的路径就可以开始编译max插件了。MAX SDK还提供了3Ds Max Help for Visual Studio,这个帮助系统可以集成到Visual Studio .NET的帮助系统中,非常方便。建议在安装的时候一起装上。 MaxSDK主要目的就是用来开发MAX插件,虽然Max也提供了MaxScript,也可以用来做插件,但是对C++程序原来说,MaxSDK则更顺手一些。 Max插件根据用途分为好几种,每种对应不同的扩展名,在游戏开发中,我们通常比较关心三种类型的插件,他们分别是: 导入/导出插件,对应扩展名为dli/dle, utility 插件,对应扩展名为dlu , 以及扩展名为dlm的modifier。导入导出插件基本上MAX与其它工具交互的接口。Utility插件则可以为MAX增加很多操作功能面板。Modifier则是3DsMAX 3DsMax自带的插件放在X:\3DsMax\maxsdk\stdplugs目录下,而我们自己编写的插件通常会放到X:\3DsMax\maxsdk\ plugins目录下。只要把插件放到这两个目录下,Max在启动的时候就会自动加载你的插件。很多初学者可能会问dlm/dle这些插件是怎么生成的呢?其实这些都是一些标准的dll程序,只是扩展名不同而已。跟编译一个普通的Windows DLL没有区别。 初学MaxSDK最好的例子应该就是MAXSDK自带的sample。在maxsdk的安装目录下可以找到,一般是X:\3DsMax\maxsdk\samples 下。这个目录下已经对插件的种类进行了分类。一般在做骨骼动画导出插件的时候,我们不会选择导出插件而是选择utility插件,这样做的目的是ultility插件在max启动的时候就处于激活状态, 而导出插件则只会在用户选择export命令的那一刻,并且这些插件都可以访问到MAX的整个环境,因此,使用utility插件会让用户更加的方便,本文的例子就是采用utility插件。
图(1)utility插件例子,XReal3D 的模型导出插件 三 构造第一个3Ds Max 插件 本节我将讲述如何快速的建立一个utility插件的框架, 因为关心的是导出插件本身的功能,而不是插件框架本身,因此我给大家提供一个个比较简洁的方法:使用3dsmaxPluginWizard. 这是MaxSDK提供的一个组件,位于X:\3dsmax\maxsdk\howto\3dsmaxPluginWizard下, 仔细阅读一遍这个目录下的ReadMe.txt文件的Installing一小节,就可安装好3DsMaxPluginWizard. 这时候打开Visual Studio 2005.在新建工程中就可以看到3Ds Max Plugin Wizard一项,选择后,看到标签页一共有三页,在第一页Plugin-Type里,选择Utility项,在接下来的Plugin Detail里填入详细信息如图2所示. 图2 Max Plugin Wizard 最后在Project Detials 选项卡里填入maxsdk的路径,插件输出路径和3dsmax.exe所在的路径就可以生成一个utility工程了。 生成的工程仅仅是一个架子,它包含了两个类和一个IDD_PANEL的对话框。第一个类MyMaxSkinExporter是从UtilityObj派生下来的,代表了插件本身。另外一个类从ClassDesc2派生,用来描述这个插件的一些信息。IDD_PANEL则是我们插件的主界面,我们可以简单的理解它就是我们插件的主窗口。 MyMaxSkinExporter有两个重要的函数: BeginEditParams(Interface *ip,IUtil *iu)和EndEditParams(Interface *ip,IUtil *iu)这两个函数。BeginEditParams可以简单的理解成插件的初始化函数,EndEditParams则在插件退出时候被调用。参数Interface *ip 则代表整个Max对象,用它可以访问到MAX程序的所有功能。 编译这个工程,一个简单的utility插件就已经生成了,你可以在刚才Project Detials选项卡里填入的插件输出路径里找到生成的插件。
四 3Ds MAX的场景组织和几何管道 要编写一个导出骨骼动画的插件,必须先了解MAX是如何组织场景的,并了解MAX中一个mesh对象从建立到最终输出都经历那些阶段。下面首先介绍一下MAX的场景组织。 MAX的整个场景是一个树状结构,树的节点用INode来表示,整个树的根节点可以通过Interface::GetRootNode来获得,场景中的所有物体都是INode。INode中的NumberOfChildren函数和GetChildNode则用来访问INode的子节点。要遍历
整个场景中对象,只需要通过Interface::GetRootNode和GetChildNode做一个递归循环就可以了。如果仅仅是想获得在视口中选定的物体,则可以使用Interface::GetSelNodes函数。 INode仅仅是一个虚拟的节点,它本身仅仅包含一些标记和变换信息,并不表示实际的Object。实际的Object需要附着在INode上,并以INode的坐标系为Object的本地坐标系。Max中常见的Object有形状(各种参数曲线),Camera ,Mesh等。Object有自己的变换矩阵(TM), 在很多情况下这个矩阵都是单位矩阵。 INode的变换矩阵可以通过INode::GetNodeTM来获得,而附着在INode上的Object的变换矩阵则通过INode::GetObjectTM来获得,因为Object相对于Node的变换矩阵通常是单位矩阵,GetNodeTM和GetObjectTM获得的矩阵通常也是一样的,但是在必要的时候一定要加以区别。关于INode和Object的变换矩阵问题的详细讨论可以参考我blog上的一篇文章:http://blog.csdn.net/Nhsoft/archive/2005/01/06/241629.aspx
图3 几何管道实例(图来自3Ds Max 9.0 Help) 接下来我来看一下3DsMax一个几何物体的Pipeline。前面说过Object是附着在INode上的,在MAX里,Node有一个Object Reference的指针,指向一个物体对象。熟悉MAX的操作方式的读者都知道,我们在MAX里建立一个对象后,可以在上面添加各种修改器-Modifier。在Max的几何管道中,我们建立的对象通常称为Base Object。所有施加在这个物体上的修改器形成一个修改器堆栈-ModStack。BaseObject经过这个ModStack后形成一个新的Object Reference。ModStack中的每个Modifier都是输入一个Object Reference输出一个Object Reference, 并且在应用第一个Modifier的时候会自动在几何管道里插入一个Derived Object。最终INode的Object Reference将指向这个Derived Object。 Modifier在管道中的应用实例是ModApp对象,一个ModApp代表一个应用在Object上Modifier修改,ModApp包含一个ModContext的数据对象,Modifier用ModContext中的数据来对Object进行修改,以生成最终数据。 修改器按照应用的坐标系不同分成局部空间修改器和世界空间修改器(World Space Modifier)。局部空间修改器仅仅在Object的局部空间中修改Object,不会对坐标系造成影响。世界空间的修改器比如水波纹修改器则要求先将物体变换到世界空间后再进行修改,修改完成后的坐标也是世界空间的坐标。相对来说处理世界空间修改器会麻烦的多。(如果一个物体应用了世界空间修改器,则通过Mesh对象取得的坐标已经是世界坐标
系中的了。不需要再乘以INode::GetObjectTM了)。
五 导出骨骼动画数据 了解了MAX的场景管理和几何管道以后,我们就可以很方便的建立一个如何取得MAX场景中定点数据的流程了。 骨骼动画系统,首先应该包括物体的蒙皮数据和顶点与骨骼的绑定信息。分两部分两介绍皮肤数据的导出。第一步,我们要导出蒙皮数据,为了简单起见,在这里只导出蒙皮的位置,法向量与切向量纹理坐标等信息留给读者自己去研究。在3DsMax里。要