注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

豆芽兵的生存探索

因,记录。留下历史,看到未来...

 
 
 

日志

 
 

第二节:RealFlow开发者的建议  

2013-03-14 12:06:29|  分类: RealFlow探索 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
第二节:RealFlow开发者的建议 - 豆芽兵 - 豆芽兵的生存探索

第二节:来自Next Limit的Carlos Pegar 的小技巧

我很荣幸的向大家介绍Carlos Pegar(卡洛斯.佩格)。在RealFlow刚体动力学问题,Carlos特地分享了很多有用的,关于Stacking和流体-刚体(fluid-body)交互的技巧。你恐怕很难理解到关于刚体动力学的"根本",但现在你可以接受到RealImpact(真实交互)解算器创造者的指点。整篇文章都是由Carlos Pegar所写。图片也来自于Carlos Pegar/Next Limit公司。(译者注:Stacking,刚体模拟重要参数。原意是:堆叠。此参数RealFlow5默认开启,参数值只是简单的分为Low,Medium,High三个。这可能是为了更好的人机交互搜集大量用户习惯而做的改进。为了更好的制作,我们有必要知道刚体解算器的发展历史。所以还是认真听大师下面所说的吧)

2.1 关于我

我的名字叫Carlos Pegar,我在Next Limit公司工作六年了(2008年说的),开发RealImpact,RealFlow的刚体解算器。由我领导小组成员进行刚体(RBD)解算器和流体-刚体(fluid-solid)交互的开发。我们最近推出了Character-Environment Scripts(角色环境脚本,后面文章有讲到)。在此,我想说一下这个应用的两个重要功能:Stacking 和流体-刚体交互。我希望,用户能从我们的研究中获益,花更少时间模拟出更好的结果。让我们从Stacking开始吧!

2.2 真实交互:Stacking

好吧,这个功能是在RealFlow4中加入的。在Simulation Options面板中,这是一个复选框,可以启用/禁用Stacking 选项,并能调节Stacking 质量参数。

Simulate button > Right click on triangle > Options...

此参数只会对碰撞和接触的情况有影响效果。当禁用Stacking时,碰撞是成对(pairs)解决的。意思是,这个物体在碰撞时并不知道他们在与另一个物体相接触。这将导致不稳定结构,无法崩塌。要想模拟更稳定,最好增加Substeps(步长)值。可以选Adaptive(自适应值)或Fixed(固定值)。

使用Stacking坏处是增加了模拟时间,但你会得到更满意的结果。设置Stacking Quality为1,Substeps设置到5,在很多情况下,它甚至要比Substeps值打到10而禁用Stacking时的情况还要快效果也更好。我建议在只模拟刚体而没有流体时,默认就把Stacking Quality设置为1,Substeps打到10。

使用Stacking质量参数,能平衡最终效果和模拟速度。设置到10时,效果最好,但模拟时间会大大增加。一开始时使用1是一个好主意,再逐步提高,消除可能出现的不好情况。然而,Stacking模式最稳定情况是把值设置为10。

2.21货架场景

我将使用一个测试场景向你进一步说明这些问题。此场景也被称为"The Shelves",它总共有70个模型,在4层,每层有10块木板彼此接触。此外,每个木板有四个椽(支撑架子的腿)包围。这是一个复杂的结构,有大量的接触,因此才是理想的测试Stacking场景。

第二节:RealFlow开发者的建议 - 豆芽兵 - 豆芽兵的生存探索

图11.完全接触的货架场景 (可根据描述手动搭一个测试)

首先测试把Stacking 禁用,然后Substeps设置为10,开始模拟场景。会看到货架立马就倒塌,所有东西都落下来大概花了50帧。然后再测试把Substeps增加到20,稳定性提高了很多,但在200帧时货架还是倒塌了。Substeps设置到40或更高值时,这个结构才会保持不倒塌,但你总会看到很怪异的抖动。最后我们测试,把Stacking设置到1,Substeps到10时,情况好多了,这个货架几乎能一直保持稳定,计算速度也能接受。

Stacking不仅对保持结构稳定有用。你可以使用一个事件脚本当物体碰撞时,让它停止 (后面CES脚本有应用)。使用Stacking时下落的会更自然。甚至对于碎片模拟,,Stacking能极大的减少碎片落到地面上时不正常的抖动。

但Stacking不是消除一切不正常的魔杖,不是所有情况都有用的。对一个不正常的模拟:首先要检测的是Scale。要记得让场景物体缩放不要比RealFlow的网格小太多。另一方面,Stacking可能会增加穿插问题,最好方法解决方法是增加Substeps。只要场景的Scale合适,测试大部分时间集中在Substeps和Stacking,然后就很容易得到合理的模拟效果。

2.3 真实交互:流体-刚体交互

刚体和流体交互,对RealFlow来说有两个方面的意义:一是你可以使用粒子流冲倒刚体,一是你把小球砸人水中时会产生水花。甚至,水流在撞击到墙体会受到阻碍而发生偏移。小球自身下落也会因受到水的压力而停止。

RealFlow最大的优势是所有这些令人惊奇的效果都是自动完成的。用户只需要很简单的把Emitter和模型添加到场景中就能自动完成这些复杂的交互了。

第二节:RealFlow开发者的建议 - 豆芽兵 - 豆芽兵的生存探索

值得注意的是刚体-流体交互很耗时——甚至模型和流体并没有实际接触。做这类交互时,不要一股脑把所有结点都放在Global Links (全局关联)面板。你可以把只发生交互的物体拖动到Exclusive Links(单独关联)窗口。这样只有实际碰撞的部分才进行交互计算,模拟效率会得到显著的提高。

(译者注:在RealFlow2013这种思路理甚。可以使用结点方便的选择只需要进行碰撞或做其它的操作。RealFlow2013结点思路,个人建议需要好好理解它的Python Script,RealFlow2013简单来说相当于把那些函数进行一个包装,然后可以视觉化的输入输出交换数据。)

流体和刚体交互的参数设置在Particle interaction面板。流体和刚体碰撞时Friction和Bounce参数是主要的控制因素。Sticky参数只影响粒子与物体表面接触后"粘合"度。Collision Normal参数,控制粒子到底与几何体哪一面进行碰撞,还是两面都碰撞。通常,碰撞的面是法线正方向(outside)。有很少一些情况,两面都需要碰撞,但这可能很危险的,因为粒子无法穿透几何体表面。

第二节:RealFlow开发者的建议 - 豆芽兵 - 豆芽兵的生存探索编者按:

你可以本系列文章第六节:倒塌破碎看到更多关于"Interaction with Fluids"面板的信息。那里可以看到这个面板的截图包括了所有设置的理解。

流体-刚体交互是RealFlow4新加入的。只要流体和刚体参数确立,模拟就会保持稳定并产生很酷的效果;99%没有bug。我们已经集中的测试过,并在一些电影大的特效也成功使用过了。如"Poseidon"《海神号》或"The Guardian"《惊涛大冒险》。

另外,因为RealFlow4.3有两个方法,制作与静态物体(static object)的交互。熟悉的方法是使用一个容器,地面,障碍物,和类似物体。用户可以选择经典的方法,使用模型,没有动力学行为。新的方法是,使用动力学物体关闭"Dyn motion"(译者注:照此说法RF5之后,应该是使用Passive rigid body。但是否比默认情况更有优势还要译者进一步了解)。新的交互方法是适用于传统的方法,因为它更稳定,解决了可能会在第一种方法中出现的大部分问题。事实上我们保留了传统的方法,主要是由于兼容性方面考虑。

很高兴分享这些技巧,使用新方法后可以除去让人不满意的效果。有很多用户尝试在水箱中稳定流体,差不多要实验的绝望了。流体永远在反弹抖动,甚至使用脚本也不能解决。使用新的方法,流体自身可以达到稳定,不需要任何别的途径,当然除了重力场(Gravity Daemon)。

(译者注:放松稳定流体。本博客另一篇文章。这真的非常非常有用,很多读者总是忽略它。但它的价值远大于水花,泡泡那些文章。http://qqww2334.blog.163.com/blog/static/120365822011119101528985/

另一个问题是,当你扔一个物体到流体中时,有时粒子会没有原因的被困在边缘。这种不良效应被称为"Sticky edges"(粘着边)也是很难摆脱的麻烦。使用新的交互方法能很容易去除它。

另一个有趣的事是流体静力(hydrostatic forces),就是使用了新的交互方法。这意味着模型落入水中后,如果模型刚体密度小于流体的密度,模型就会浮在水面。这个效果是从RealWave得来的。这只需要流体Resolution足够高。提高Resolution值,设置到10。

第二节:RealFlow开发者的建议 - 豆芽兵 - 豆芽兵的生存探索

图12.Sticky edge(粘边)问题,RealFlow4.3解决了

2.4 最后一点注意

RealFlow是由一群充满激情的人创造出来的。这些年来我们一直以创建强大和灵活的流体和刚体解算器为目标。

RealFlow也是很人性化的软件,可以使用在任何操作系统。我们也有一个很强大的支持团队,耐心回答所有尊贵用户问题。我们网络部门已经变成我们站点。我想感谢所有人作出的贡献。

我也是Unoffical RealFlow Forum成员,如果你有想法,问题和创造性成果,不要犹豫,注册和登陆。那里有一个Rigid Body Dynamics版块。

http://www.realflow.com/forum/viewforum.php?f=30

译者注:RealFlow论坛要注册才能浏览。原文网址已经失效。现在上面这个是最新的RealFlow官方论坛相关Dynamic版块。我也注册了,但一直不能发言,不知为何。

  评论这张
 
阅读(3909)| 评论(2)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017