html柳树动画,3D教程-柳树生长动画

首先看一下效果图。

2005921131943755.gif

效果图2。

2005921131944253.gif

动画线框图。

2005921131944239.gif

粒子流的大体情况如下图。

2005921131944105.gif

先来看看树体生长的制作,下图是从根部长出的第一个粒子的产生结构分析图。

2005921131944780.gif

定义这个粒子的初始形态,这样以来由它所引导出的左右树支树干就全是这种形态了。

2005921131944638.gif

给树干加上一点扭曲。

2005921131944785.gif

树干底部是不能分叉的,如图。

2005921131944473.gif

产生分叉的测试,我并没有让它将粒子发送到其他事件,所以分叉后的粒子会受它影响继续分叉。

2005921131945428.gif

新长出的树支总是比老的的树支或树干细的,而且这种粗细变化是渐变的。

2005921131945375.gif

如图。

2005921131945960.gif

这里的树支是不长树叶的,所以长到一定时间后会生出长满树叶的柳梢,这也就需要下一个事件来控制。

2005921131945345.gif

同理,还是用这个测试来产生分叉的柳梢,只稍作了改动。

2005921131945387.gif

控制柳梢的生长。

2005921131945375.gif

引导柳树生长的粒子就已经设置好了,最后用一个Delete操纵器限制引导柳梢的粒子的寿命在45左右,不过它们是不参与渲染着色的,这里再次用到了这个分裂产卵(Spawn)的测试来制造树体。

2005921131945499.gif

看到 [树干树支长粗] 的这个事件来,这和上面那个使树支逐渐变细的缩放操纵是一个道理,只不过在这里是让树体长粗。

2005921131945608.gif

这样一棵光秃秃的柳树就诞生了。为了不让它显得一毛不拔,这里加了一个环节。

2005921131945280.gif

先来看一下一支树叶的生长动画,直接用Mopher修改器就可以弄出来了。

2005921131945773.gif

要使每个粒子都象这片树叶一样,得用 关联形态操纵器(Shape Instance)。 需要关注的是要钩选支持变形动画那一项和下面的关键帧偏移方式,另外,叶子物体的轴心必须在叶柄上。

2005921131945196.gif

使树叶生长方向不至于乱七八糟,需要加一个旋转操纵器来控制一下。

2005921131945296.gif

在所有树叶中挑出一些将会脱落的树叶。 在前面那个线框的预览动画中这些树叶是以黄色显示的。

2005921131945976.gif

这些将会脱落的树叶在年龄到达66左右(+/-33)时脱落下来,用年龄测试(Age Test)解决。

2005921131945723.gif

关于树叶的脱落如图。

2005921131945585.gif

为了使引导粒子不被渲染,这只是简单的在第一个事件中指定了个透明材质,当然也可以在不被渲染的事件标题栏上点右键属性并取消renderable树干材质在下面指定。

2005921131945945.gif

看看这个材质,为了使树枝的生长点附近的颜色偏绿,我用了ParticalAge贴图,其下的子贴图直接用渐变贴图调出来。而渐变的角度在渲染出来后就将呈现为树的受光角度,当然这属于作假的方法。

2005921131946615.gif

将其寿命定为83,会发现在Delete上面的AgeTest中测试的年龄为50,这是因为我并不是真想用Delete来干掉粒子,因此在粒子年龄大于50后将进入停止生长的事件中,在那指定了一个静态材质,它于粒子年龄在50时所呈现的材质相同。

2005921131946516.gif

至于树叶粒子的材质就直接继承树叶物体的了,只是在ShapeInstance(关联形态)的参数中要钩选Acquire Material。 但由于发送到其他事件后就无法继承,我只好笨拙地把这个操纵器在之后的所有事件中都复制了一个。

如果你觉得做实体的树会更好而你的电脑也还不错的话可以试试用BlobMesh来生成真实的网格树干,方法很简单,在场景中建立一个BlobMesh并入图选种粒子源1和其中相应的事件就行了。 许要提及的是BlobMesh的尺寸(Size)在这没有作用,是受粒子尺寸控制的,也就是说它会随着粒子的长大而变粗。另外在使用木纹的3D程序贴图时可以看到木纹的生长。这些都是很好的特性,然而它也有弊端,你必须把网格细分到足够小以产生较细的树枝。

2005921131946817.gif

除此,粒子的数量必须足够以使树枝不至于脱节,当然这么做会得到更真实的效果。

2005921131946817.gif

由于计算机速度限制而不得不改用小平面来解决。对PF稍微了解一点的人都会知道它在预览时是很慢的,尤其是在帧数比较靠后的时候,顺着时间拨动时间滑块还稍微强点,而逆拨却会造成类似死机的情况发生。因为max会花大量时间来从第0帧或第一个粒子出生的那帧来逐步推理出当前帧的精确情况。 而渲染是反倒会觉得很快,毕竟每帧只须在前一帧的基础上作一次推理计算。 于是制作是在粒子动画中最耗时的环节。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值