3ds max 5reactor基础教程
reactor是MAX5自带的动力学系统,照我看就是max4时的havok罢了,功能上没什么不同,用法也一样,是个很不错的东东,速度也很快,算是MAX原来Dynamics的替代品吧,它的工作流程是先进行物理属性的设置,再预览和调整,最后输出为关键帧。我建议使用reactor的UI设置,这样你就不用到各个面板里去找了。在Customize里选择Load Customize UI Scheme,选择reactor.ui,为了让大家能看清楚,我把reactor的工具条拖了出来:
data/attachment/forum/200372017373652601.jpg<br>跟havok没什么区别(当时拿到havok时我高兴得几天睡不着,因为它的功能是我梦寐以求的),它们的功能依次为:
|刚体收集,布料收集,软体收集,绳收集,变形网格收集|布料修改器,软体修改器,绳修改器,绑到刚体修改器|约束解析,固定点约束,点对点约束,点对路径约束|弹簧系统,阻尼系统,玩具车系统,发动机系统,风力系统,破裂系统,水系统|平面|窗口预览,执行模拟,分析世界,输出世界|
再看看reactor的面板:
data/attachment/forum/200372017375449316.jpg<br>
reactor的许多重要设置要在此进行。界面就说这么多啦,下面玩个简单的实例,你将会熟悉reactor的工作流程。
先看看我们的场景吧
data/attachment/forum/200372017402249082.jpg<br>
3ds max 5的阴影真是优秀啊……跑题了……
点在场景中创建一个刚体收集,放在哪都无所谓,看着顺选着方便就行:
data/attachment/forum/200372017405831245.jpg<br>
选中这个刚体收集,进入Modify面板,点Pick按钮在场景中选择白球和台阶,它们便成为刚体。你也许要问为什么不选褐球和房间,因为我要把褐球作为软体,而房间因为翻转了法线,成为凹体,即不会与球发生碰撞,所以我们要用到。
点在场景中创建一个平面,位置如图:
data/attachment/forum/200372017412339979.jpg<br>
选中刚体收集,进入Modify面板,点Pick按钮在场景中选择该平面。再建一个平面作为挡板,注意方向和位置:
data/attachment/forum/200372017415433217.jpg<br>
中白球,进入reactor面板,指定白球的质量为10千克(reactor默认0千克的物体静止不动):
data/attachment/forum/200372017422528055.jpg<br>
选中褐球,进入Modify面板,加一个reactor SoftBody修改器(或点),再进入reactor面板,指定白球的质量也为10千克。点在场景中创建一个软体收集:
data/attachment/forum/200372017424089436.jpg<br>
选中软体收集,进入Modify面板,点Pick按钮在场景中选择褐球(只有添加reactor SoftBody修改器的物体才能被软体收集)。进入reactor面板,选中摄像机和灯光,以便进行预览
data/attachment/forum/200372017431782866.jpg<br>
任选一个平面,在reactor面板中选择房间作为代理显示(因为房间不与任何收集有关,不这么做在预览时不会被显示):
data/attachment/forum/200372017434326407.jpg<br>
Preview in Window按钮(或点)进行预览
data/attachment/forum/200372017443945469.jpg<br>
data/attachment/forum/20037201745354598.jpg<br>
按P键开始播放,我们还可以选择播放速度。不满意可以再调整,我把白球的Elasticity(弹力)值设为1.0,把褐球的值设为如图状,勾选Avoid可以防止自我穿透:满意后点执行模拟,把动力学属性输出为关键帧。这是一个漫长的过程,是用了软体的缘故……我先去吃饭啦……
饭吃完了,reactor也计算完了。点播放动画,我们可以看到刚体和软体的性质很不同:
data/attachment/forum/200372017453077268.jpg<br>data/attachment/forum/200372017454413548.jpg<br>reactor的工作流程就是这样的,其它类型物体的创建方法也大体相同(都很简单,自己玩玩就会了)……我累了,以后再说啦……
二.
这是reactor教程的第二篇,如果你还没看过第一篇,建议去看看,因为有些讲过的东西我不会重复了。我们这里要做的是模拟《星战前传一》中的吊仓动画,因为学习重点在reactor的物理模拟,而且我的机器不好,所以用了低多边形来加快计算速度。我希望菜鸟们看后能够举一反三,因为多数流程是一致的,利用好reactor就能产生惊人的效果!先看看我们的场景吧:
data/attachment/forum/200372017463987821.jpg<br>
我们要做的就是让前两个仓带动后一个仓,绳子还会随运动变化。要知道在《星战前传一》中为制作这个动画在Maya中用了非常多MEL脚本,而我们的方法就轻松多了,但毕竟不是一个质量级的,这里只做坠落,没有爆炸,因为没有精细模型时爆炸不会真实,reactor的破裂系统我以后会另外讲。我为做出该效果试了很多种方法,把个人认为最好的方法介绍给大家,你看后若能想出更好的方法请你告诉大家。还有,reactor并不支持MAX的Mesh Bomb,可能用reactor的变形网格可以,但约束系统只支持刚体收集……此为后话。
我说过有些讲过的东西我不会重复了,所以先给张要建的Helpers的图(reactor物体在MAX中为Helpers,可以在相应面板中找到),有三个点对点约束、一个刚体收集、一个约束解析、一个绳收集,大家怎么建都可以,放哪都无所谓,这和风系统不一样。你要是不会建就说明你没看本教程的上一篇。
data/attachment/forum/20037201747656006.jpg<br>
在刚体收集里加入三个吊仓,在reactor面板里设置前两个吊仓的质量分别为1000kg,弹力0.5,后一个吊仓质量700kg,弹力0.5,如图:
data/attachment/forum/200372017472940856.jpg<br>
三个点对点约束原理是一样的,我只选一个来讲,着重讲清原理。选中绳子,加上reactor Rope修改器(reactor Rope只支持Spline,不支持网格),这个设置我不讲,你可以自由发挥,注意绳子的硬度对运动影响很大。再加一个SplineSelect选中一端的点,然后加reactor AttachToRB选中靠近所选端的吊仓,再做同样的一步把绳子另一端也绑到相应的吊仓。最后残堆应该如图所示:
data/attachment/forum/20037201748242471.jpg<br>
要注意每个reactor AttachToRB都要关掉Ignore(忽略碰撞)一项,这样在后面的动画中绳子才不会穿透吊仓
data/attachment/forum/200372017483739400.jpg<br>重复这一步做好另外两条绳子,在绳收集中选中这三条绳子,这样绳子就有了动力学属性:data/attachment/forum/200372017485474188.jpg<br>选中一个点对点约束,选中相邻的两个吊仓为刚体A和B,选中两个吊仓间的绳子作为Point,Point为运动的轴点。这样两个仓就会相互影响了。
data/attachment/forum/200372017491820833.jpg<br>
重复该步做好另两个点对点约束,再选中约束解析,如图加入刚体收集(点对点约束选中的刚体必须包括在该刚体收集中)和三个点对点约束:
data/attachment/forum/200372017494880582.jpg<br>
Strength值为约束的强度。打开Auto Key记录动画(还是自动插入关键帧用得习惯,你觉得手工打点方便就手工吧),移到第二十帧将前两个吊仓移动一段距离,给前两个吊仓动力,reactor将会完成相应的动画。
data/attachment/forum/200372017502148019.jpg<br>要让reactor继承关键帧的动力下面这步很重要,把Start Frame设为大于一的值,reactor会从相应的帧继承动力,否则没有效果:
data/attachment/forum/200372017505045019.jpg<br>加入摄像机和灯光:
data/attachment/forum/20037201751955079.jpg<br>满意后设置要输出的动画长度(reactor可以输出无限长的动画):
data/attachment/forum/200372017512897667.jpg<br>data/attachment/forum/200372017515536259.jpg<br>履行模拟(可以发现刚体和绳子的计算速度非常快),加了运动模糊后渲染效果如图:
data/attachment/forum/200372017522259111.jpg<br>你可能会发现吊仓最后会停在半空,这是由于加了Noise的平面还是凹体,可以用reactor平面解决这个问题,创建并选中reactor平面(箭头朝上),在reactor面板中选择沙地作为代理网格和代理显示,我们选下方的凹体代理一项计算更快,如图:
data/attachment/forum/200372017524577612.jpg<br>
最后别忘了把reactor平面加到刚体收集中。你还可以将沙地作为软体(上一篇讲过了),再加上粒子模拟沙尘,会得到更好的效果。太晚了,我困了,就讲到这吧……
页:
[1]