3ds Max插件制作方法
- 格式:docx
- 大小:19.81 KB
- 文档页数:3
3ds max插件教程-SimCloth3 自然碰撞刚体布料教学
以往的教学中很容易出现如此的状况虽然布料能自然落下却无法与其它对象产生自然的碰撞
这个成果只需靠simcloth即可完成无须动用到reactor来运算
先来建立个简单场景我想这大家都会了吧
将这三个对象加入simcloth 对象类型选择Deflector
建立布料模型细分要多分割些才能正确的模拟
将布料加入simcloth 类型选择cloth
最后就加入运算吧~~~享受成果吧!! 够简单了吧
最后成果
3ds max插件教程-SimCloth3 自然碰撞刚体布料教学
编辑:丝路教育
TAG:3dmax
文章地址: /cg/a/3dmaxpeixun/xuanran/201403121640.html。
3Dmax插件使用教程:ZBrush、SubstancePainter等的整合为了提高3D模型的质量和效果,3Dmax软件提供了许多插件,其中包括了ZBrush和Substance Painter。
本文将详细介绍如何整合和使用这些插件,以提升模型的细节和质感。
一、安装插件1.打开3Dmax软件,点击“自定义”菜单,选择“配置系统意见”。
2.在系统设置对话框中,点击“插件”标签。
3.点击“添加”按钮,选择下载好的插件文件,比如“ZBrush”和“Substance Painter”的插件文件。
4.点击“确定”按钮,完成插件的安装。
二、整合ZBrush插件1.打开3Dmax软件,点击“自定义”菜单,选择“在3Dmax中打开ZBrush”。
2.在ZBrush软件中,打开要编辑的模型文件。
3.在ZBrush的工具栏中,选择“插件”菜单,点击“3Dmax插件”选项。
4.在弹出的对话框中,选择“发送到3Dmax”选项。
三、使用ZBrush插件进行雕刻1.在3Dmax软件中,点击“渲染”菜单,选择“ZBrush插件”选项。
2.在“ZBrush插件”面板中,点击“连接”按钮,将3Dmax和ZBrush软件进行连接。
3.选择要编辑的模型,点击“编辑”按钮,进入雕刻模式。
4.在ZBrush软件中进行细节雕刻,比如增加皱纹、褶皱或纹理等。
5.点击“保存”按钮,将编辑后的模型保存。
四、整合Substance Painter插件1.打开3Dmax软件,点击“自定义”菜单,选择“在3Dmax中打开Substance Painter”。
2.在Substance Painter软件中,打开要编辑的模型文件。
3.在Substance Painter的工具栏中,选择“插件”菜单,点击“3Dmax插件”选项。
4.在弹出的对话框中,选择“发送到3Dmax”选项。
五、使用Substance Painter插件进行贴图1.在3Dmax软件中,点击“渲染”菜单,选择“Substance Painter插件”选项。
好,开始吧,打开3ds Max,建立一个男孩头部的模型,建模不属于本教程的范畴,略!(1)在完成一个头部的模型之后,首先选择模型中把会生长头发的一些面,然后按住键盘的“shift”键用移动工具移动它,从而复制出来一份新的头皮模型,将这个新物体命名为“toupi”,如下图所示。
(2)将移动出来的头皮模型缩小一点儿,放到男孩模型的头顶内部,我们将用这个头皮来生长头发,如下图所示。
(3)打开主菜单的“Rendering”菜单下的“Environment”菜单,如图5所示。
或者按键盘的数字“8”键。
(4)在弹出的“Environment and Effects”面板中,单击“Add”按钮,如下图所示。
(5)单击“Add”按钮后会继续弹出一个面板,在这个面板中选择“furfx”,如下图所示,然后单击“OK”按钮确认选择,并关闭面板。
(6)单击“pick”按钮在视图中拾取头皮模型,如图8所示。
或者单击“select”按钮,在弹出的“按照名称选择”面板中选择“toupi”物体。
(7)拾取完模型之后我们就能看到稀疏的头发已经出现在小男孩的头顶了,不过头发就像钢针一样直直的竖立着,如下图所示。
下面我们要让它的头发弯曲下来。
(8)在“创建面板”下的“帮助物体”栏选择“Hair Trix”物体。
如下图所示。
(9)在顶视图初建这个“Hair Trix”物体,让它的箭头方向朝向头部的下发,如下图所示。
这个“Hair Trix”物体是个一导向器,它能让毛发朝向箭头所指的方向。
(10)新创建出来的“Hair Trix”物体名字叫做“hairfxVector01”。
选择它,在修改面板修改这个导向器的影响范围。
如下图所示。
其中“Near Range”的参数一定要达到至少包括头发的大多数,甚至整个包括头发。
如下图所示。
“Far Range”是导向影响范围的衰减区域。
再次回到“Environment and Effects”面板中,打开“Leaning Bending”卷展栏。
3Dmax插件开发指南:自己设计定制化的插件在3D建模和动画设计领域中,3Dmax是最常用的软件之一。
它为用户提供了各种功能和工具,但有时我们可能需要一些额外的功能来满足特定的需求。
这时候,自己开发定制化的插件就成为一种有效的解决方案。
本文将针对初学者,提供一个详细的3Dmax插件开发指南,帮助读者自己设计和开发定制化的插件。
1. 确定需求插件的开发开始于明确需求。
首先,你需要明确自己的目标是什么,要开发的插件能为你的3Dmax工作流程带来哪些改进。
考虑到3Dmax的功能限制和你的工作需求,决定插件的主要功能是非常重要的。
2. 学习3Dmax插件开发基础知识在进行插件开发之前,你需要了解一些基础知识。
首先,你需要学习3Dmax的Scripting语言,这是用于编写插件的语言。
其次,你需要熟悉3Dmax的对象模型,包括各种对象和属性的概念与用法。
最后,你还需要了解3Dmax插件的API,这些API提供了访问和控制3Dmax功能的接口。
3. 选择合适的开发工具和编程语言3Dmax插件可以使用多种编程语言开发,比如MaxScript、Python和C++等。
根据自己的技术背景和需求,选择合适的编程语言。
同时,你还需要选择一个适合插件开发的集成开发环境(IDE),例如Autodesk的自带开发工具或者Visual Studio等。
4. 编写插件代码一旦你熟悉了3Dmax的Scripting语言和相关的API,就可以开始编写插件代码了。
首先,你需要创建一个新的脚本文件或者项目,并导入3Dmax的相关库文件。
然后,根据插件的功能需求,编写相应的代码实现。
代码编写的过程中,可以参考3Dmax的官方文档和API手册,以及一些开发者社区的资源。
5. 调试和测试插件在插件开发过程中,调试和测试是非常重要的环节。
你需要逐行检查插件代码,确保其逻辑正确无误。
另外,还需要模拟实际的工作场景,测试插件在各种情况下的稳定性和性能。
第一部分的教程先做下菜单翻译。
可以简单作为命令中文化的对照表使用。
作为沟通请大家提出异议和批评。
好及时进行修改。
——————————————————————————————————↑为file下命令的原创翻译。
肯定有不准的。
希望大家多多沟通以便及时修正更新——————————————————————————————————————————————↓edit下命令翻译——————————————————————————————————————————————↓VIEW下命令翻译——————————————————————————————————————————————↓是布局的菜单——————————————————————————————————————————————↓工具菜单——————————————————————————————————————————————↓输出菜单——————————————————————————————————————————————↓导入与命令菜单——————————————————————————————————————————————↓最后2个菜单OK完成了第一部分了。
然后开第二部分。
阐述粒子和场还有区域网格流体粒子属性关系数据比较复杂,所以需要点时间来做整理和翻译。
只是按照个人理解来做的。
肯定会有缺失。
不过我已经努力了。
都说最好的教程就是自己去将软件从头到尾的进行下分析整理。
所以希望这一批次的整理会给大家带来用处。
————————————————————————————————————____________________________________________________________________________________________———————————————————————————————————————————————————————————————↑是粒子属性。
2DExtruder随机挤出插件使用教程2DExtruder随机挤出插件是一个MAXScript脚本,可以对选择的多个样条线图形进行随机挤出厚度,还可以设置简单的生长动画。
【主要特征】- 对多个样条线图形随机挤出高度- 设置生长动画【版本要求】3ds Max 2015或更高版本【快速开始!】1.绘制多个样条线图形并选择它们。
2.打开2Dextruder挤出插件。
方法有两种:- 直接拖动2DExtruder脚本文件到3dMax窗口。
- 点击3dMax主菜单–脚本–运行脚本,选择2DExtruder脚本,点击“打开”按钮打开2DExtruder窗口面板。
【2DExtruder界面】3.设置参数。
-最小高度、最大高度:设置随机高度的区间。
-封口:勾选后挤出模型底部加盖(默认为不勾选)。
4.点击“创建”按钮生成。
【生长动画(一)】1.绘制并选择所有样条线图形。
2.打开2DExtruder插件,勾选“开启”开启动画功能;设置动画的“开始”和“结速”时间(帧)。
3.点击“创建”按钮创建模型和动画。
4.点击3dmax的“播放动画”按钮,在视口中播放动画。
【生长动画(二)】1.绘制并选择所有样条线图形。
2. 打开2DExtruder插件,勾选“开启”开启动画功能;勾选“随机”选项,并设置后面的参数(每个生长动画的时长);设置动画开始的时间区间,在“开始”和“结速”时间(帧)之间。
3.点击“创建”按钮创建模型和动画。
4.点击3dmax的“播放动画”按钮,在视口中播放动画。
附:参数说明参数:-最小高度、最大高度:设置随机高度的区间。
-封口:勾选后挤出模型底部加盖(默认为不勾选)。
动画:-开启:勾选开启动画记录功能。
-开始:动画的开始时间(帧)。
-结速:动画的结束时间(帧)。
-随机:后面参数为每个生长动画时长(帧),上面“开始”和“结束”参数转义为定义每个生长动画随机开始的时间区间(帧)。
Guruware Ivy(Max制作藤蔓插件)简介及使用帮助1)放置藤蔓根部(IvyRoot)2)点“Grow”按钮3)在视口里观察藤蔓的生长4)再次点“Grow”按钮停止生长5)藤蔓会自动赋予一个多维材质6)要做生长动画?请给藤蔓年龄设置关键帧v0.76b变更- 增加参数的可调节范围- 支持3ds Max 7/8- 更好的叶面朝向,我认为。
v0.8b变更- 可以存取预设参数- 通过叶片年龄影响顶点颜色- 修正:变更CS-Distance参数时枝条过细的问题v0.81b变更- 再次增加参数的可调节范围v0.82b变更- 修正:用backburner致使藤蔓移至世界中心的问题- 修正:删除生长中的藤蔓会当机的问题OK,现在来种一棵。
创建:首先在场景里放置藤蔓根部。
从哪里找到这玩意呢?创建面板->第一项,几何体->从下拉菜单找到“Guruware”,下面出现的“gwIvy”就是了。
你也可勾选上自动栅格|AutoGrid用来对齐物体。
将它放到你的场景中,比如地面就不错。
事实上它可以种到任何位置,只要保证它不在某个面的下方即可(因为一个面的背侧阻碍藤蔓生长)。
你可以移动它,但(按照设计)不能旋转或缩放。
想要藤蔓向上生长,要把根部靠着墙放,否则它就只会在地上——如果有地面的话——爬了。
生长参数展卷栏:如果你的场景是真实比例的,则无需改变“Grow-Params”展卷栏的任何参数——显然的,这些参数只是为更好调整生长过程。
如果场景未经正确缩放,你可能花些时间调一下这些数值了~Grow-Parameters,生长参数Grow-Size,设定每次增长的长度Up-Vector,向上生长的数量(Probe:可以负值,即悬垂生长)Primary Weight,沿之前增长方向的数量Random Weight,随机增长的数量Gravity,重力影响Adhesion,支撑强度(吸附到周围物体的程度)Adh.Distance,支撑起效的最大距离Branching,分出新枝条的几率Max Length,一个分支的最大长度Length Variation,分支最大长度的变化程度Max.Parents,母枝的最大数量,设为0则一直不分枝Seed,随机种子Threads,使用多少CPU线程,最大值跟电脑的CPU/CPU核心数有关Grow Ivy,启动/停止藤蔓生长Age,藤蔓年龄(一龄增加Grow-Size的长度),唯一一个可动画的参数Stop at,勾选后设置一个年龄,在到达此年龄时停止生长,这样你可以在运行时去喝咖啡了living branches,统计值,活枝条数量(只有活枝条能生长)grow-time,统计值,总生长时间现在请点击“Grow”按钮,藤蔓将生长,如魔法般的运行。
3d s M a x插件A u t o g r a s s教程-CAL-FENGHAI.-(YICAI)-Company One1Autograss插件是通过在已有对象的场景中添加草。
跟做地面上的平面或者稍复杂的多边形网格一样简单。
让我们一起学习下吧!打开3DMax,导入一个有地形的场景,或者创建一个新的地形,要确保地形大小为实际尺寸(比例1:1)。
Autograss可以创建出和现实世界一样尺寸大小的草来。
例如,你可以创建一架大小为20*20的平面(适宜休闲玩耍的那种草坪)。
接着,选中地形,创建Autograss,也可以在3DMAX中按住Tab键创建。
点击地形按钮(小球)。
然后选择VRay菜单目录,点击pop-up 选择器。
然后点击Autograss创建出自动生草的对象,由于前面我们选中了地形,自动生草对象会自动附在地形上。
这样一个Autograss效果就基本完成了,现在你的场景里面有了自动生草对象是和地形连在一起的,默认状态下,草的设置为Kentucky牧草。
下面我们讲述如何自定义草的外观。
要修改自动生草功能的设置,通过在窗口点击选择生草对象,然后点击修改键Viewport display窗口显示卷展栏此卷展栏里设有控制草在3dmax中的显示设置1.窗口预览点击此栏下窗口预览(Preview in viewport)前的选择框,可以预览出草在MAX 中的效果。
默认状态下是没有勾选,草的预览和渲染出来的草不完全相同,但是能够给我们一个最终草的尺寸和形状的印象。
同时也表现出了真实的草和枯草的差别.2.预览密度设置你可以在预览模式下调解预览密度,大小在(没有草)至(最多草)之间。
这些设置只是影响预览效果,不影响渲染出的草。
blades seenMax blades seen 参数可以对窗口中草的显示设置一个上限值,这样我们可以在一个大的区域内预览同时又不拖慢窗口显示速度。
当最大值都不能满足窗口显示的草时,我们可以通过调解草的密度而限制其大小。
3D3dsmax7 插件maxscript3dmaxSDK游戏开发作者:卢立祎来自:愤怒的犬夜叉在游戏开发过程中需要大量的模型数据来描述人物、建筑、场景,如果开发编辑器来编辑网格、顶点,代价太大,因此往往利用一些现成的3D建模软件来代替。
使用 3dsMax7 进行模型、动画数据导出是3D引擎开发过程中的一个必然环节(或者使用Maya等类似的3D建模工具)。
然而discreet公司在指导用户进行二次开发的方面做得并不是太好,有一些问题是在开发过程中会常常遇到。
美术工作人员在3dsMax环境中编辑好了三维人物或物体,加入了动作动画,指定了渲染方式,编辑了贴图和UV坐标之后,我们就必须想方设法把这类数据从编辑环境中导出成文件以供引擎使用。
一般来说,最主要有三种方式来取得需要的数据:1. 利用已有的导出格式取得数据2. 制作max的export插件输出数据3. 编写maxscript输出数据利用已有的导出格式取得数据使用3ds文件和XML文件作为导出源文件,然后直接在引擎中读取数据转化为自己定义的数据格式。
一般来说会使用一些转换工具转换为更加高效的文件格式。
比如在早期的MS DirectX SDK 中,就有一个convert3DS 的工具,把3ds 格式的文件转换为D3DX使用的X文件。
由于这种方式受到源文件信息固定的限制,渐渐的不被采用。
DirectX SDK 也开始使用插件的方式导出数据。
Max7中,在菜单文件中选择导出,可以看到“IGame Exporter”,可以导出XML格式的文本文件,由于现在解析XML文件已经非常简单,甚至可以用序列化直接映射到数据结构,因此此方法有一定的使用价值。
制作max的export插件输出数据使用maxSDK进行插件开发是大家普遍采用的方法,网上也可以查到相关的很多资料。
在3dsmax7的目录中,可以找到maxsdk的目录,其中的help目录可以找到一些使用和开发帮助:1. Sdk.chmSDK的帮助文件。
给你的3DMAX装个矢量渲染插件Illustrate
喜欢欣赏和制作Flash动画的朋友应该会发现,网上很多Flash作品中带有表现三维效果的内容。
本文是给你的3DMAX装个矢量渲染插件的介绍,下面是该介绍的详细信息。
安装Illustrate!插件后,它就成为3DS MAX中的一个渲染器,用它可以将三维场景渲染输出成二维的。
它除了能输出平常的位图格式文件,最大的特点就是输出矢量图格式文件。
1. 建立场景,在场景中创建一个茶壶,并给茶壶做旋转的动画,我做了20帧。
2. 渲染设置,Illustrate!安装好后,在3DS MAX的菜单中就会增加一栏Illustrate!。
点击其Options菜单项,首先会弹出渲染向导对话框,通过回答向导提出的问题实现渲染的主要设置。
第一步是选择输出的格式,这里选择ShockwaveFlash;第二步是设置输出场景的背景,笔者选择了白色背景;第三步是有两个问题,一个是选择渲染的风格,一个是选择渲染的部位,这里选择Cartoon风格和渲染边线Lines部分;第四步是设置输出的文件的位置、窗口大小等的,其实可以在渲染的时候设置;最后一步就是点Finish按钮。
到这一步我们基本完成了渲染前的准备工作,此时你如果要进行细节上的修改,就要进入Illustrate!窗口进行操作了。
3d max各种模型操作手册1-地形模型制作1-1 利用“编辑多边形”修改器制作1)启动3D,新建空白的场景文件2)在顶视图创建一个平面,调整平面物体的分段数(参考值为30),使其尽量大点3)进入“修改”面板,为平面物体添加“编辑多边形”修改器,使用其最下端的“绘制变形”卷展栏里的推拉操作(注意调整推拉强度值和笔刷大小),从而完成地形效果的效果1-2 利用“地形”命令制作1)新建场景文件,利用线工具在顶视图绘制地形的底部、中间、顶部等若干条封闭的轮廓线2)在前视图中调整各轮廓线的上下位置,选中底部的轮廓线,后使用“地形命令”(创建>几何体>复合对象>地形)构建地形形状模型3)选中地形模型,进入修改器面板,勾选“缝合边界”和“重复三角算法”选项,使其变得光滑4)进入地形的“操作对象”子层级,修改曲线的形状5)进入“按海拔上色”卷展栏,给山脉不同的海拔高度上色,后添加“网格平滑”修改器,使山脉变得光滑一点1-3 利用“面片栅格”编辑修改1)新建场景文件,(创建>几何体>面片栅格>四边形面片)利用“面片栅格”命令创建四边形面片(提高分段数)2)选中面片,右键将其转换成“可编辑面片”3)进入面片子集,进行顶点和控制柄的调整1-4利用“澡波”修改器制作1)启动3D,新建空白的场景文件2)在顶视图创建一个平面,调整平面物体的分段数(参考值为30),使其尽量大点3)进入“修改”面板,为平面物体添加“澡波”修改器,调整“澡波”修改器的基本参数,修改“强度”xyz1-5 利用“置换”修改器制作1)在顶视图中创建一个500×500×1长方体,设置长度、宽度以及高度分段数分别为50、50、12)给以上长方体添加“置换”修改器,设置强度为100,置换位图为“小岛.bmp”2-草地材质的配置2-1 利用草地贴图进行配置1)配置材质:漫反射贴图为“草地.jpg”,后将凹凸贴图设置为30%的“澡波贴图”,并设置高光级别为7,光泽度为102)给草地模型添加“UVW贴图”修改器,改变贴图的大小2-2 利用“混合材质”进行配置3)在顶视图中创建一个500×500×1长方体,设置长度、宽度以及高度分段数分别为50、50、14)给以上长方体添加“置换”修改器,设置强度为100,置换位图为“小岛.bmp”5)打开材质编辑器,选择一个示例球,选择材质类型为“混合材质”6)配置子材质1:漫反射贴图为“泥土.jpg”,进入其参数卷展栏中,将其U和V向平铺数都设置为20;后将凹凸贴图设置为80%的“澡波贴图”,进入其参数卷展栏中,将其X和Y以及Z向平铺数都设置为107)配置子材质2:漫反射贴图为“草地.jpg”,进入其参数卷展栏中,将其U和V向平铺数设置为30;后将凹凸贴图设置为30%的“澡波贴图”,并设置高光级别为7,光泽度为108)设置遮罩贴图为“小岛.bmp”,勾选“使用曲线”,调整混合曲线上部和下部值分别为0.42和0.12,后将材质赋予给小岛模型2-3 利用AutoGrass插件进行创建3-水面效果的制作3-1 有反射纹理的水面1)在顶视图创建一个尺寸较大的长方体作为水面模型,设置足够的分段数(100段),后调整其位置2)打开材质编辑器,选择一个未使用的示例球,设置其反射贴图为“水面波光.jpg”,其U和V向平铺数都为4,坐标类型为“球形环境”,返回顶层级设置数值量为1003)设置其折射贴图为软件自带的“波浪”贴图,返回顶层级设置数值量为54)设置其凹凸贴图为软件自带的“噪波”贴图,X/Y/Z方向的平铺数都为20,噪波的大小为40,返回顶层级设置数值量为655)设置高光级别为87,光泽度为18,柔化值为0.28,后将材质赋予给水面模型3-2 无反射纹理的水面1)在顶视图创建一个尺寸较大的长方体作为水面模型,设置足够的分段数(100段),后调整其位置2)打开材质编辑器,配置”水”材质:明暗器为Blinn,漫反射颜色为15-30-38,环境光的颜色设置为纯黑色,高光级别为35,光泽度为35,20%的“澡波”凹凸贴图效果(澡波类型为规则,大小为3.5), 38%的“光线跟踪”反射贴图效果4-小岛模型制作4-1 利用“地形”命令4-2 利用“置换”修改器1)在顶视图中创建一个500×500×1长方体,设置长度、宽度以及高度分段数分别为50、50、12)给以上长方体添加“置换”修改器,设置强度为100,置换位图为“小岛.bmp”5-石头模型制作5-1 利用“FFD 2×2×2”修改器制作1)创建球体,调整其分段数2)选中球体,添加“FFD 2×2×2”修改器对其变形,做出石头的基本形态5-2 利用“噪波”修改器制作1)在透视视图创建一个球体,增加其分段数(50段)2)给球体添加“噪波”修改器,设置其参数(强度、种子、比例等参数值),使其变成石头的形状5-3 利用插件制作6-植物模型制作6-1 利用“AEC扩展”里的植物工具6-2 利用“十字面片”法1)激活前视口,按照“植物素材.jpg”的长宽比创建一个平面(长、宽分段数为1),后调整其它尺寸和位置;再将其旋转90度复制一个平面,使其构成十字形2)选择一个示例球,配置植物材质:设置漫反射贴图为“植物素材.jpg”,透明贴图为“植物素材(透明).jpg”,自发光为100,勾选“双面”选项3)将以上编辑好的材质分别赋予给两个平面,后调整植物的位置6-3 使用“Forest插件”进行制作6-4 藤条插件的使用7-天空效果制作7-1 平面天空效果制作1)激活前视口,利用长方体工具创建一个长方体,调整其尺寸和位置2)设置天空的材质:漫反射贴图为”sky.jpg”,自发光值为1007-2 球天空效果制作1)在顶视图创建一个球体,右键将其转换成“可编辑多边形”对象,进入“顶点”子集将球体的下半部分顶点删除,从而得到半球(如果场景中有地面模型,需将其尺寸增大,使其大于半球的尺寸)2)进入半球的“面”子集,选择半球所有的面,使用“翻转”命令将面的法线方向进行反转,从而能看到球的内表面3)打开材质编辑器,配置球天空材质:漫反射贴图为“360度天空贴图.JPG”,材质自发光为100%,后为半球物体添加“UVW贴图”修改器,将贴图坐标类型更改为“柱形”贴图方式4)有时天空过高时,天空由上到下颜色过渡不够明显,可以增加FFD 2×2×2修改器,将顶部的控制点向下移动,将天空降低7-3 AE后期软件完成1)渲染输出时,选择TGA或RLA图像格式,从而保留TGA或RLA图像格式的Alpha通道2)渲染出来的TGA序列文件在AE软件中天空部分是透明的,可以在AE中完成天空背景的制作8-道路效果制作8-1直线道路效果制作1)在顶视口中创建一个长方体,后调整其它尺寸和位置2)打开材质编辑器,选择一个示例球,配置道路材质:设置漫反射贴图为“公路.jpg”3)给道路模型添加“UVW贴图”修改器,后调整其参数进行贴图的修改8-2 曲线道路效果制作1)激活前视口,利用线工具创建一条曲线2)给曲线添加“挤出”修改器,修改其参数3)给以上模型添加“壳”修改器,增加其厚度4)按照以上方法配置道路材质9-房屋模型制作9-1 通过“合并”命令导入9-2 利用贴图制作9-3 利用插件制作9-4 利用建模技术自行制作10-小车模型的导入10-1 通过“合并”命令导入10-2 利用RPC插件制作10-3 利用建模技术自行制作11-人物效果制作11-1 利用贴图制作1)在前视口中创建一个平面,后调整其尺寸和位置2)打开材质编辑器,选择一个示例球,配置人物材质:设置漫反射贴图为“彩色人物.jpg”,透明贴图为“黑白人物.jpg”,自发光为100,勾选“双面”选项3)将以上编辑好的材质分别赋予给平面,后调整人物的位置11-2 利用RPC插件制作1)安装RPC:打开压缩包,根据安装的电脑系统选择32位或64位,双击RPCPlugin_Max2010_32bit_3.17.0.0.exe进入安装界面,点击install plug-in按照向导安装,完成后点击exit退出2)破解方法:将安装包里面rpc.dlo、rpcapi.dll、RPCShadows.dlo 文件替换3ds max安装路径下的plugins文件夹中的3个文件,破解完成3)RPC设置:启动桌面上的ArchVision Content Manager程序,设置默认RPC文件库的路径(注意文件库的命名不能有汉字),后点击start Manual Scan添加4)启动3ds max,在创建面板中进行人物模型的添加11-3 导入三维人物模型12-灯光效果添加12-1 有水庭院灯光效果制作1)打开“有水庭院.max”文件,在顶视图从左向右创建一盏“目标平行光”,在其它视图中调整灯光的位置和方向(灯光分布见截图)2)选中目标平行光,配置灯光参数:启用“光线跟踪阴影”,倍增值为0.5,颜色为249-223-168,“聚光区/光束”大小为15000,让它的照射范围覆盖整个场景3)在顶视图中创建一盏“天光”,设置倍增值为1.8,4)打开“渲染设置”对话框,指定高级照明类型为“光跟踪器”,参数采用默认设置(光线/采样数为300)5)室内有些地方的光照不是很足,在庭院的中央位置水面的上方,创建一盏“泛光灯”进行补光,灯光参数为:倍增值为0.15,远距衰减20-150006)设置光跟踪器的反弹参数为1,从而提高室内物体的亮度13-自然景观效果制作13-1 下雪效果制作1)新建一个空白的场景文件,设置环境背景贴图为“雪景背景.jpg”(顶部>渲染>环境>环境贴图(位图)),后执行“视口背景”命令在透视视图中显示背景(顶部>视图>视口背景>视口背景,勾选匹配视口、显示背景、锁定缩放/平移、动画背景即可,不需要勾选使用环境背景,否则前面设置失效)2)在顶视图创建“雪”粒子系统(创建>粒子系统),在其它视图调整它的位置,后设置其相关参数(视口计数和渲染计数都为1000,雪花大小36mm,速度为4,变化为2,翻滚为1,翻滚速度为3,渲染形状类型为“面”,开始为-60,寿命为80,发射器大小为8000×4280 3)打开时间配置对话框,设置帧速率为“PAL”制式,动画时间长度为200帧4)打开材质编辑器,配置雪花的材质(漫反射颜色为白色,自发光值为60,高光级别为20,光泽度为67,不透明贴图为“径向”类型的渐变贴图),配置好后赋予给“雪”粒子系统5)选中粒子系统,在其右键菜单中执行“对象属性”命令,调整运动模糊参数(勾选对象倍增值为1)6)打开“渲染设置”对话框进行相关参数设置,渲染并保存文件13-2 下雨效果制作1)启动3D,打开“下雨原始效果.max”2)在顶视图创建一个“喷射”粒子发射器,设置发射器的参数:视口计数和渲染计数都为600,水滴大小为2,速度为10,渲染形状为“四面体”,开始时间为-60,寿命为63,图标尺寸比地面小一点3)打开材质编辑器,配置一个材质:漫反射颜色为白色,自发光为100,将配置好的材质赋予给粒子4)选择粒子系统,右键进入粒子属性面板中,将其运动模糊值设置为0.25)激活顶视图,单击“创建”面板,进入“空间扭曲”子面板,利用“导向板”命令在地面模型上面创建一个“导向板”,设置参数:反弹值为0.2,图标尺寸稍微大于地面6)选择“导向板”,点击工具栏中“绑定到空间扭曲”按钮,将其绑定到粒子系统7)激活前视图,进入“空间扭曲”子面板中创建一个“全导向器”,设置参数:拾取屋顶作为导向器对象,反弹值为0.1,图标尺寸自行设定8)选择“全导向器”,点击工具栏中“绑定到空间扭曲”按钮,将其绑定到粒子系统9)激活顶视图,进入“空间扭曲“子面板中创建一个”重力”,设置参数:强度为110)选择“重力”,点击工具栏中“绑定到空间扭曲”按钮,将其绑定到粒子系统11)对场景进行测试渲染,调整各对象的参数值12)打开“曲线编辑器”,给其添加声音文件“下雨的声音.wav”,作为背景声音13)渲染并保存动画13-3 喷泉效果制作1)启动3D,在顶视图创建一个“喷射”粒子发射器,对其进行“镜像”操作,使粒子向上进行发射2)设置粒子的参数:尺寸为0×0,变化值为1,从而使粒子产生散开的效果3)打开材质编辑器,配置一个材质:漫反射颜色为白色,自发光值为60,不透明度为80,高光级别68,光泽度为63,将配置好的材质赋予给粒子4)选中粒子系统,在其右键菜单中执行“对象属性”命令,调整运动模糊参数的倍增值为15)激活顶视图,单击“创建”面板,进入“空间扭曲”子面板中创建一个“重力”,设置参数:强度为16)选择“重力”,点击主工具栏中“绑定到空间扭曲”按钮,将其绑定到粒子系统7)调节粒子参数:视口计数和渲染计数为200,速度为15,粒子的开始时间为-60,寿命为63,使喷泉达到较好的效果8)在粒子的正下面创建一个球体,调整其尺寸和位置9)选中粒子,将其复制一份,调整复制出来的粒子的位置并将其旋转,调整其速度和寿命参数,使粒子穿透球体10)进入“空间扭曲”子面板,创建一个和球体等大的”导向球”,使其与球体对齐。
如何在3DMax中使用插件和扩展功能3DMax是一款功能强大、应用广泛的三维建模软件,它提供了多种插件和扩展功能,可以帮助用户更高效地完成各种设计工作。
本文将介绍如何使用这些插件和扩展功能,并详细列出使用步骤。
一、插件和扩展功能的作用1.1 渲染插件:渲染插件可以提供更加真实和逼真的渲染效果,包括光照、材质、纹理等方面的改进,可以让设计作品更加生动和吸引人。
1.2 动画插件:动画插件可以增强3DMax的动画制作能力,提供各种动画效果和运动路径的控制,让动画更加流畅和自然。
1.3 模型插件:模型插件可以扩展3DMax的模型库,提供更多种类、更丰富的模型资源,减少用户的建模工作量,快速创建所需的模型。
1.4 工作流程扩展:这些扩展功能主要是为了提高工作效率和方便用户,比如扩展了工具栏、快捷键、自定义面板等,可以根据用户习惯和需求,定制自己的工作环境。
二、使用插件和扩展功能的步骤2.1 安装插件和扩展功能:首先需要将插件或扩展功能的安装文件下载到本地,然后执行安装程序进行安装。
注意,插件和扩展功能需要与对应的3DMax版本兼容。
2.2 启用插件:安装完成后,启动3DMax,在软件的设置选项中找到插件管理器。
在插件管理器中,可以看到已经安装的插件和扩展功能列表。
将需要使用的插件勾选启用即可。
2.3 配置插件参数:某些插件和扩展功能是可以进行参数配置的,可以根据个人需要进行调整。
常见的配置项包括渲染设置、动画控制器、模型库路径等。
2.4 学习插件的使用方法:每个插件和扩展功能都有自己的使用方法和界面,用户需要学习和掌握这些方法,才能更好地利用插件完成设计工作。
可以通过插件的官方文档、使用教程、在线视频等方式学习。
2.5 实践和应用:通过不断实践和应用,熟练掌握插件和扩展功能的使用,灵活地运用到实际项目中,提高设计效率和作品质量。
三、常用的插件和扩展功能介绍3.1 V-Ray:V-Ray是一款专业的渲染插件,提供了高质量的光照和渲染效果。
3ds max 流体插件glu3D 使用入门在3D Studio MAX中,利用软件本身的功能做出液体流动的动画是比较复杂的,但有了3D Aliens glu3D (以下简称glu3D)插件,你就可以轻轻松松的实现很多原来看起来很麻烦的流体动画。
glu3D 是一款非常好用而且功能非常强大的流体学插件,流体运算产生速度很快,有支持3D Studio MAX和MAYA的不同版本。
接下去我介绍一下该插件在3D Studio MAX中的主要使用方法。
一、启用插件安装完插件后,启动3D Studio MAX,在建立几何物体面板的下拉列表中选择“glu3D pouring system”项。
然后在“Object Type(对象类型)”卷中,会出现“glu3D”这个按钮。
点击“glu3D”按钮,在视图中就会产生三个对象:glu3D对象、glu3Dsource对象和Rectangle对象。
glu3D对象是最主要的一个对象,通过它可以实现对产生流体效果的主要控制。
glu3Dsource对象主要实现对流体产生源的控制。
Rectangle对象是一个阻挡流体流动的对象,可以删除不用(如图1)。
图1 建立对象二、产生流体1. 选中glu3Dsource对象,点击“Modify(修改)”面板,对其参数进行设置。
点开“Parameters (参数)”卷,“Source Params (源参数)”中的“Radius”是设置流体产生口大小的,“Rate”是用来设置流体产生速度的,“Source timer”的两项用来设置动画中流体产生的开始帧和结束帧,“Source Type”参数决定了流体产生源的类型。
你可以根据不同的流体产生效果来设置以上参数(如图2)。
图2 glu3Dsource对象参数2. 选中glu3D对象,在“Modify”面板中设置其参数。
“Animation Control”卷是来控制动画生成的,点击其中的“GO!”按钮,就开始了流体动画的运算生成(如图3、图4)。
3DMAX材质ID随机生成器插件使用教程【MIRG简介】3DMAX材质ID随机生成器(英文:Material IDs Random Generator 缩写:MIRG),“彩虹系列”for3dsMax 工具,是一款非常受欢迎的小工具插件,一键为可编辑多边形对象随机分配材质ID,同时生成并赋予一个名称为“Tqtqtq”的Multi/Sub材质。
【主要功能】- 可以为多边形、平滑组、对象或元素随机分配材质ID。
- 可以自定义材质的颜色系列。
【版本要求】3ds Max 2015或更高版本(不仅限于此)【快速开始!】1.创建一个3D模型对象,并把它转化为可编辑多边形对象。
2.打开材质ID随机生成器。
方法:点击3dmax主菜单->脚本->运行脚本,选择材质ID随机生成器脚本文件并打开。
3.设置参数:(“参数说明”请参见教程下方“使用方法详解”部分)4.点击“生成”按钮,完成!【使用方法详解】一.为“多边形(面)”子对象分配材质ID(默认):(此步骤操作与上面“快速开始”相同)1.选择要分配材质ID的对象。
(如果该对象不是可编辑多边形,需要其转化为可编辑多边形,方法:在对象上面右键,然后选择“转化为可编辑多边形”)2.打开“材质ID随机生成器(MIRG)”,有两种方法:(方法一)直接拖动材质ID随机生成器脚本文件到3dMax窗口中松开鼠标。
(方法二)在3dMax主菜单中,选择“脚本->运行脚本”,在弹出的文件选择窗口中选择材质ID随机生成器脚本文件,打开。
3.设置参数。
在打开的“MaterialIDsRandomGenerator”工具界面中:在“选择模式”组,选择“多边形”(默认);在“颜色模式”组,选项用来生成材质颜色的随机范围,默认“全部”,是指在全部可见色范围内随机生成。
“自定义”,是指在指定颜色的“白度”范围内随机生成颜色,选择该选项,点击后面的“色块”,在打开的“调色板”中指定颜色。
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的功能。
本文将介绍几款常用的3Dmax建模插件,并分享它们的使用方法。
一、插件推荐1. VRayVRay是一款高质量的渲染器插件,能够提供真实感的光影效果。
它可以模拟真实世界中的光照,包括不同类型的光源、阴影、反射、折射等效果。
使用VRay 可以让建模作品更加逼真,让观众有身临其境的感觉。
2. Forest PackForest Pack是一款强大的植被插件,可以快速创建逼真的植物群落。
它提供了丰富的植物模型库,包括各种树木、灌木和草地。
用户可以根据需要灵活地调整植物的密度、分布和外观,使场景更加生动。
3. RailCloneRailClone是一款用于快速生成模式数组的插件,适用于建筑、道路和其他重复结构的建模。
它可以根据定义的规则自动生成大量的复杂模式,极大地提高了建模速度和效率。
通过RailClone,设计师可以轻松创建连续的栏杆、楼梯、桥梁等结构。
二、插件使用方法1. VRay的使用方法:- 下载并安装VRay插件。
- 打开3Dmax软件,在渲染设置中选择VRay作为默认渲染器。
- 调整VRay的参数,如光源类型、光照强度、材质属性等。
- 运行渲染命令,生成逼真的渲染效果。
2. Forest Pack的使用方法:- 下载并安装Forest Pack插件。
- 导入需要添加植被的场景,创建一个森林对象。
- 从植物模型库中选择适合的模型,并设定它们的参数,如数量、大小、姿态等。
- 调整植物的密度和分布,可以使用画刷工具进行精细调整。
- 运行渲染命令,生成植被丰富的场景。
3. RailClone的使用方法:- 下载并安装RailClone插件。
- 导入需要生成模式数组的模型,添加一个RailClone对象。
3D Max中的动画插件介绍:提高动画制作效率3D Max是一款用于三维建模和动画制作的专业软件,在电影、游戏和广告行业中广泛应用。
为了提高动画制作的效率,人们开发了许多动画插件,这些插件能够增加软件的功能和工具,为用户提供更多选择和支持。
下面将介绍一些常用的动画插件,以及它们如何提高动画制作效率。
一、插件1:Motion Builder1.1 插件介绍:Motion Builder是一款强大的动画编辑工具,可以与3D Max无缝集成。
它提供了更丰富和高效的动画编辑流程,以及动画混合和非线性编辑等高级功能。
1.2 使用步骤:- 导入模型:将模型从3D Max导入到Motion Builder中。
- 动画编辑:使用Motion Builder的工具对模型进行动画编辑,例如骨骼绑定、运动捕捉和关键帧动画等。
- 导出动画:将编辑好的动画导出到3D Max中,以供进一步的后期制作和渲染。
二、插件2:CAT(Character Animation Toolkit)2.1 插件介绍:CAT是一款专门为角色动画设计的插件,它提供了多种角色控制和动画生成工具,帮助用户快速创建复杂的角色动画。
2.2 使用步骤:- 安装插件:将CAT插件安装到3D Max中。
- 创建角色:使用CAT插件创建角色模型并进行骨骼绑定。
- 动画生成:使用CAT的自动动画生成工具,为角色添加各种动作,如行走、奔跑和跳跃等。
- 调整动画:根据需要进行动画调整和修改,以满足具体要求。
三、插件3:PhysX3.1 插件介绍:PhysX是一款物理模拟引擎插件,可以为3D Max提供逼真的物理效果,如碰撞、重力和摩擦等。
它大大提高了动画的真实感和可信度。
3.2 使用步骤:- 安装插件:将PhysX插件安装到3D Max中。
- 创建物体:在3D Max中创建需要进行物理模拟的物体。
- 添加物理效果:使用PhysX插件的工具,为物体添加物理效果,如碰撞、重力和摩擦等。
【插件技巧】教你⽤3dsMax碎⽚插件打造破碎物体(附碎裂神器)前⾔:灵感来源于:“碎⽚化”,英⽂为Fragmentation,我们处在这个碎⽚化的时代⾥,互联⽹提供了海量的新鲜事⼉,让我们⽬不暇接,我们的时间、空间、知识、注意⼒、⼼智都被⼀点点切割成碎⽚。
碎了、碎了,碎⽚化的时代,⽽我们现在需要的是什么?答案在⽂章结尾揭晓哈!在⽹上搜索了下制作破碎物体的教程,各种版本应有尽有,看了那么多的教程,还是学不会,对那些教程真的是顶(shen)礼(wu)膜(tong)拜(jue)额,还有很多⼀些我根本不太了解的插件,⼀个步骤出错了就⽆法继续~~~~(>_<)~~~~ 啦!尝试使⽤3ds Max制作碎⽚的效果,还有⼀个神器,简单4个步骤就GET哒,下⾯我带⼤家⼀起鉴证⼀下这项神(qi)奇(pa)的⼯作!1. Prepare the Scene场景准备Step 1⾸先打开软件,在基本命令⾯板创建⼀个平⾯和平⾯。
Step 2⽤长⽅体创建⼀个柱体。
Step 3⽤球体创建⼀个并防⽌在柱体的正前⽅。
Step 4开启⾃动关键帧。
Step 5在第10关键帧的地⽅拖动球体穿过柱体,这样创造出球体穿过柱体的动画。
2. Installing Fracture Voronoi Script安装脚本3. Fracture the Pillar破碎柱体Step 1在MAX⾥⾯选择脚本⼯具栏,运⾏脚本。
Step 2然后打开可选择⽂件夹窗⼝,选择脚本,点击打开。
Step 3打开脚本窗⼝后,点击拾取物体按钮,然后在视图窗⼝中选择柱体。
Step 4将需要碎裂部分的数值设为10,因为我想让这个柱体碎裂成10个不同的块状。
Step 5 我选择了统⼀颜⾊选项,这样所有块都是相同的颜⾊。
Step 6点击碎成10块的按钮,将柱体打碎成10个部分。
Step 7你也可以再⼀次将碎裂的⽚再分成更多的碎块,选择其中碎裂的⼀⽚然后重复上⾯的1⾄6步的操作。
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,层次信息处理的函数。
估计系统就是根据这个识别处我的插件的接口,没有具体去研究,只了解个大概。
2.3 如何调试所编写的插件,SDK中有说明,我这里简单说一下,将工程属性设置为Hybrid(默认是Debug),并且把输出dle文件的路径设为3ds Max的plug-in的路径,再把调试的可执行程序设为3ds Max.exe,这样调试的时候就会启动3ds Max主程序,其他诸如设置断点,单步等调试手段和普通程序的调试方法一样。
3.通过一个例子学习插件编程
这部分还真不好写,涉及到一些代码,代码中又有很多API需要讲解,API中又有很多基本知识需要说明,唉,硬着头皮来吧。
还是以那个场景导出类为例,可以看到,SceneExport中有个非常重要的函数需要实现:virtual int DoExport(const TCHAR *name,ExpInterface *ei,Interface *i,
BOOL suppressPrompts=FALSE, DWORD options=0) = 0;
先看看参数:
name 表示要导出的文件名。
ei 用来枚举场景,需要注意的是:由于这个函数是由系统调用的,所以这个参数是系统传递的,不用去思考怎么实现ExpInterface这个接口。
i 提供一个用来调用3ds Max方法的指针,可以把它视作一个指向3ds Max的指针。
同样,这个指针也是由系统传递的。
剩下两个参数暂不关心。
现在来研究ei和i两个参数:
class ExpInterface仅包含一个成员:IScene *theScene。
这样的类设计的简直是“无耻”。
再去研究IScene吧。
IScene中有一个很重要的函数:
virtual int EnumTree( ITreeEnumProc *proc )=0;
根据SDK的说明,该函数的功能是:用来枚举场景中的每个INode。
因此需要一个ItreeEnumProc*作为参数,由于是自己调用整个函数,因而必须自己实现ItreeEnumProc接
口,还好这个接口不是很复杂,把这个回调函数实现就可以了:
virtual int callback( INode *node )=0;
因为是回调函数,所以node也是系统传递进来的,为了证明这一点,我们可以编程实验一下:
class MyEnumProc: public ITreeEnumProc
...{
public: int callback( INode *node )
...{
int a = 0; //在这里设置断点
return a;
}
}
在MyExport中添加这一个成员变量:
MyEnumProc MyProc;
int MyExport::DoExport(const TCHAR *name,ExpInterface *ei,Interface *i, BOOL suppressPrompts, DWORD options)
...{
/**//*在函数中添加这行代码*/
ei->theScene->EnumTree(&this->MyProc );
if(!suppressPrompts)
DialogBoxParam(hInstance,
MAKEINTRESOURCE(IDD_PANEL),
GetActiveWindow(),
MY5OptionsDlgProc, (LPARAM)this);
return FALSE;
}
调试这个例子,在场景中绘制三个立方体,可以看到系统会调用callback三次,这说明一个物体就是一个Node。
那么怎么来导出一个Node几何信息呢?看下面这个代码。
public: int callback( INode *node )
...{
Object *lobj;
lobj = node->GetObjectRef();
if (lobj->SuperClassID()== GEOMOBJECT_CLASS_ID)
...{
GeomObject* gobj = (GeomObject*)lobj;
Class_ID triID = Class_ID(TRIOBJ_CLASS_ID,0);
Class_ID boxID = Class_ID(BOXOBJ_CLASS_ID,0);
if (lobj->ClassID()==boxID)
...{
if (lobj->CanConvertToType(triID))
...{
TriObject *triobj = (TriObject *)lobj->ConvertToType
(0,triID);
Mesh mesh = triobj->mesh;
int numVerts = mesh.getNumVerts();
}
IParamArray* array = lobj->GetParamBlock();
float length = 0.0f;
float height = 0.0f;
float width = 0.0f;
array->GetValue( lobj->GetParamBlockIndex(BOXOBJ_LENGTH),
0, length, FOREVER);
array->GetValue( lobj->GetParamBlockIndex(BOXOBJ_HEIGHT),
0, height, FOREVER);
array->GetValue( lobj->GetParamBlockIndex(BOXOBJ_WIDTH),
0, width, FOREVER);
}
}
首先node->GetObjectRef()会返回这个节点的物体引用。
关于ObjectRef有一套几何流水线的说明,这里实在是没功夫写了。
接着首先判断这物体的SuperClassID是否为GEOMOBJECT_CLAS- S_ID,如果是,则再看它是否能转换为TriObject,即由三角形组成的物体,至于为什么要这样转,我只能说只有这个类可以返回一个Mesh,而通过Mesh 能够获得诸如顶点,法线,面等一般3D程序所需要的几何信息(这里只获取了该Mesh的面的个数)。
当然,对于一个Box,我们可能只想获得它的长宽高,所以,代码中又提供了另一个方法来返回其几何信息。
虽然只实现了这么短的代码,但却花了数天的时间,主要对3ds Max的结构不熟悉,加上SDK写得真叫一个乱,还好总算有些进展,正所谓万事开头难。
下一步将研究如何导出场景的光照,物体的纹理贴图等信息。