Google
      
发新话题
打印

被盖住的小球(XSI-cloth)

本主题由 softimage 于 2008-7-24 22:52 设置高亮

被盖住的小球(XSI-cloth)

实例一:被盖住的小球(XSI-cloth
一、建立一个多边形球体Sphere,修改半径Radius = 2
二、建立一个多边形网格Grid作为布料物体,修改UV向细分值为12来加大网格的分段数,这样可以保证有足够的点来模拟布料的效果。将Grid移动到小球上方,如图:

查看更多精彩图片

三、指定布料
(1)
按大键盘“4”切换到Simulate模拟模块,所有的动力学功能都在这个工具栏中。
(2)
选择将要作为布料的Grid。
(3)
选择
Create > Cloth将网格物体指定为布料

        查看更多精彩图片

(4)
这时弹出一个
ClothOp布料属性修改器。暂时不修改其中属性,将属性面板定住。

    查看更多精彩图片

(5)
播放动画,会发现什么也没有发生。这是因为场景中还没有力场,我们应该加入一个重力场,让布料受到重力下落。回到第一帧。
四、添加力场
    (1)
从模拟模块中选择
Get > Force > Gravity
                查看更多精彩图片
(2)
关闭弹出的对话框,完成力场设置。
(3)
重新播放动画,发现布料受到重力作用开始下落了。但是却穿过了球体,因为我们还没有给布料加入它的碰撞物体。
(4)
回到第一帧,注意:当我们设置好参数开始播放动画时,系统会自动把时间指针经过的帧的布料状态记录到缓存(Cache)中,以便能够快速地重新播放,你就可以跳到任意播放过的帧上来观看效果了。一旦修改了参数,系统将会清除缓存重新计算。
五、设置碰撞物体
(1)
先要选择想要与碰撞物体发生碰撞的布料,这里选择Grid

(2)
使用模拟模块的
Modify > Environment > Set Obstacle设置碰撞物。

        查看更多精彩图片

(3)
将弹出的碰撞物属性设置对话框定住,然后播放动画(使用实时模式播放)。
(4)
你会发现虽然布料与物体发生了碰撞,但是碰撞形状不正确,好像和一个方体发生了碰撞而不是和球体。


        查看更多精彩图片
    这是因为系统为了加快布料计算速度,提供了几种碰撞物体形状。默认为B-Box类型,就是方体。我们需要修改类型为球体类型。
(5)
将刚才定住的碰撞物属性对话框中的
Obstacle Type属性改为B-Sphere。如果对话框被关闭了,可以从Selection按钮中选择ClothOp > Sphere_Obstacle节点重新打开。

    查看更多精彩图片
(6)
重新播放动画,观看结果。


        查看更多精彩图片

(7)
要想设置新的物体碰撞,重复步骤五。

六、设置碰撞距离
(1)
观察场景会发现碰撞物有点穿出了布料,这是因为碰撞物的碰撞距离值设置太小造成的。适当增大碰撞距离的值可以模拟有厚度的布料。此值属于碰撞物体的属性。
(2)
选择碰撞物球体,点击选择面板的
Selection按钮,点击sphere_obstacle节点。
查看更多精彩图片

(3)
在弹出的碰撞属性设置面板中,设置
Push length = 0.1,播放时间滑块重新计算模拟。会发现球体不会穿出布料了。
查看更多精彩图片

七、布料的自碰撞Self Collision
(1)
布料除了和碰撞物发生碰撞外,还会和自身发生碰撞,这就是布料的自碰撞。默认的为了加快布料模拟的速度,关闭了自碰撞属性。这就是我们看这个动画感觉有些不真实的原因之一。
(2)
一般做模拟动画时,尽量避免自碰撞的发生,因为如果计算自碰撞的话,会加大计算的时间。
(3)
计算自碰撞时的一个主要就算因素是布料的厚度Thickness属性,不同的厚度值产生不同的自碰撞效果。
(4)
选择布料物体,点击
Selection按钮,点击ClothOp节点。
查看更多精彩图片

(5)
弹出布料属性面板,进入
Collisions标签页,勾选Self Collision组的Active选项激活自碰撞属性,设置布料厚度属性Cloth Thickness = 0.1(为什么最好跟Push length值一致?自己想想)
查看更多精彩图片

(6)
重新计算动画,观看区别。



本帖最近评分记录

TOP

好教程~

TOP

发新话题