版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Realflow 2017 中文融化教程详解终极篇熊二动漫 转载vfxinfo realflow融化方法技术总结(3/3)目录realflow融化方法技术总结 1一、不同手法制作简要对比: 2二、保持初始状态 52.1Liquid粒子 52.2Dumb粒子 72.3Elastics粒子 72.4freeze(冻结)法 8三、定义分离条件 93.3.1典型属性 103.3.2相邻粒子数 103.3.3流体边界粒子 11四、处理分离部分 20五、Python脚本方法 20myFilter(自定义分离器) 20myForce(自定义力) 22myTemperature(自定义温度) 24总结: 26
2、(这是RF官方展示,我所能找到最好的融化参考了)一、不同手法制作简要对比:不同手法制作对比:通过上一篇,对“融化模型”的探索,我们知道了融化的基本思路1.保持初始状态2.找出合适转换条件3.处理分离部分现在看一下不同的案例,找出它们各自,初始状态,转换条件,和如何处理分离部分的1.使用有范围的重力做为条件,这也是RF2013帮助自带的案例初始状态:dumb粒子转换条件:有范围的重力分离部分:受重力影响+地面碰撞2.使用基本的Y轴做为条件做融化初始状态:liquid粒子+freeze转换条件:Y轴向分离部分:受重力影响+地面碰撞3.比较常见的冻结+法线方式的融化初始状态:liquid粒子+fre
3、eze转换条件:normal+或者典型的neighborunfreeze方法分离部分:受重力影响+地面碰撞这是冻结+相邻粒子的融化(当然上面这只是截图,这些都是在youtube或vimeo上找的视频参考,只要你以melt为关键字搜索,很容易找到。)下图是一些实际案例:通常需要很多元素配合,才会显得好看。并且一定要牢记,做好动态仅仅是一个特效的开始,后面还有材质,灯光渲染合成这些环节。做特效时不要局限于某一部分,像画画一样要有整体的观念。不然会陷入某一部分,对效率效果都没有好处二、保持初始状态根据观察和实际制作经验。处理融化效果前,先要决定好保持初始物体状态的方法。最常用的方法应该就是使用填充粒
4、子的方法了。当然不要忘记对模型变形的方法。到底选择什么方法,是根据具体特效需求来定的。主要有两个标准:1.可以保持初始形态2.可以根据一定条件变形,又不会影响别的部分如果你在别的软件制作融化,只要把握住上面两个标准就可以了。、下面说的主要是填充粒子的方法,都是在realflow中操作。2.1Liquid粒子简介:使用liquid粒子填充模型,保持初始状态。这种粒子有所有流体属性。并且与融化出来的粒子也是同一种类型,在实际制作时会方便很多。操作:1.使用直接fill_objectemitter填充2.注意如果不使用freeze方法,那就需要不能让它与重力结点关联。这样才能保持初始状态3.也不能与
5、融化的那一套粒子互相关联。只要让融化粒子不穿插就可以,如果互相关联,会导致变形4.如果使用freeze操作,需要在simulationPre加上这样的脚本冻结全部粒子如果符合条件的粒子,需要同时进行unfreeze,不然粒子是不会受力影响的优点:1.可以保持非冻结部分的交互2.有大量属性可以应用。(有最重要的法线Normal属性)缺点:通常需要配合freeze冻结函数才能使用或者原始粒子不与解冻后的粒子交互。第一篇,金属人头就是这么做的。(就是填充的粒子发射器不要与融化的发射器做关联)注意:在解算开始时,需要把粒子速度降到最低。可以使用解算方法也可以直接使用脚本归零粒子速度2.2Dumb粒子这
6、种类型的粒子完全没有流体的属性。但使用它做为初始状态会有明显的速度优势。操作:只要把Fill_Object类型切换成Dumb就可以。它也可以冻结。优点:计算速度非常快使用力进行影响,会产生一定交互性。增加融化真实性。缺点:1.没有Normal属性。所以不能与法线的方法进行配合2.使用力做为分离条件,难以控制(因为这种粒子受力会直接坍陷到一起)注意:使用这种粒子填充,一定要注意力的范围,不然原始模型会变型。应用案例:1.Realflow2013帮助文档自带融化案例,就是填充的Dumb粒子2.3Elastics粒子弹性粒子,类似于柔体。使用这种方法保持物体初始状态。可以做果冻这种类似物质效果优点:
7、1.不需要冻结,也能保持原始状态可以产生一定交互可以达到一定弹性效果,做一些特殊案例很有用缺点:1.计算速度太慢2.没dumb粒子一样,具体的属性较少3.容易产生爆开的粒子注意:应用案例:(粒子像柔体一样,有弹性变形)2.4freeze(冻结)法freeze是realflow基本粒子的一个函数。它的作用是,保持粒子当前的位置(position)和速度(velocity).与unfreeze配对使用。下图是我制作一个简单的冻结粒子应用我们做融化时,其实就是冻结效果反向效果。一开始需要把全部粒子冻结。然后根据一定条件一点点解冻,这样就可以观察到粒子一点点分离,感觉就是融化效果。操作:python脚
8、本方法缺点:1.对于效果来说,有一个最大问题是,冻结部分粒子不能与解冻粒子交互。2.这是一个函数。需要写脚本来应用。因此解算速度会受脚本语言限制,如python只能单核计算。可以使用Graph结点来代替,或者是使用C+优点:1.容易控制,并与多种融化条件配合。2.适用于所有类型粒子。特别是配合liquid使用。注意:1.冻结时把所以粒子速度设置归零。(冻结的粒子是保持冻结时的速度和位置,如果不归零,在解冻后会影响融化动态)因为冻结是一种特殊保持初始状态的方法,与下面几张都不一样。应用案例:1.经典的融化melt脚本(另一篇博客有详细介绍)2.肥皂泡破裂案例3.4.其它各种应用Bouns:1.有
9、一个经典的freeze融化脚本它的原理是在模拟前冻结粒子(这是为了保持模型初始动态).这脚本首先,在表面找出一个粒子点。然后找出这个粒子相邻粒子,进行排序,一个个unfreeze。unfreeze的粒子会受到重力下落,能产生经典的融化效果,很像金属熔融的感觉。2.使用破裂的肥皂泡bubble方法,做融化原理是开始时指定一个粒子,然后搜索周围粒子数,以球形为半径。因为只计算一个粒子的相邻粒子数,速度会大大提高,但这个方法,可以指定多个粒子,这样做那种粒子交互的反应就非常的方便。比如做腐蚀1.经典的freeze融化脚本: HYPERLINK /blog/static/120365822012720
10、62422560/ /blog/static/12036582201272062422560/2.破裂的肥皂泡: HYPERLINK /blog/static/120365822011102503910699/ /blog/static/120365822011102503910699/三、定义分离条件分离条件的定义,应该是融化效果最核心的一个部分了。条件有那么多种,最终选择什么,全是根据你的制作需要来定的。有些条件会产生这种效果,有些效果又是另一种。有时还需要组合不同的条件。全看你的需要来定。比如:达到一定速度的粒子,会被看做融化的粒子。这个条件就是速度speed或法线值大于一定值的,会看做
11、成融化的粒子.这个条件就是粒子法线Normal或是距离小于一定值的粒子看成融化粒子。这个条件就是distance值类似这些条件有非常多。定义分离,意思就是以什么的规则让粒子一点点融化开来。总的来说有这样几种条件1.典型属性(如position)2.相邻粒子数(如neighbor,temperature)3.流体边界粒子(如normal,distanceField)4.力的方法(如范围重力场)3.3.1典型属性典型属性,包括位移,旋转,缩放这些基本属性。你可以很方便的调用,定义一些分离条件根据position位置最简单的,我可以根据Y轴高度。这样很容易就看到从上往下或从下往上,一点点融化的效果(
12、上图是一个手机广告的融化breakdown截图)这个是根据粒子的位置做为条件的。你可以直接在FilterDaemon中选择不同轴向的position.操作:1.通常直接使用Filter选择position就可以了2.可以使用Null替代物,获取高度方便控制,本质是一样3.3.2相邻粒子数相邻粒子数,得名于neighbor函数。可以根据给定点不断搜集相应半径范围内的粒子。非常类似一个不断缩放扩大的球体。但我们不能把思维局限于此,相邻粒子数,本义应该是一种类似于传递的功能,一个接个扩散出去。neighbor属性相邻粒子数neighbor函数。这是PB粒子其中一个属性。就是获取以粒子为球心范围内的粒
13、子,返回一个粒子列表。这个条件,通常与freeze配合使用。达到一点点获取粒子作用。下图是一个简单的测试,在球上随即取一个粒子点,然后不断获取周围粒子并直接杀死,产生破裂效果。如果保留杀死的粒子,那就是一种融化操作:1.根据id找出一个粒子2.使用neighbor函数搜索这个粒子半径内粒子3.这个半径值设置为全局属性,甚至是从某一个null上来获取,可以方便key帧4.注意,只有同一个发射器或者发射器之间有关联,才能获取相邻粒子数Bouns:使用这个属性还会有助于你制作一个合理的温度场。因为这也可以看做是一种定义流体边界的方法。温度就是从外部像内部传递的。3.3.3流体边界粒子如何定义流体外部
14、粒子,这很重要。因为融化就是一个典型的由表及里的过程,如果你定义好流体边界粒子,就可以非常容易做出融化。真实做流体计算时有标记(Maker)粒子和水平集方法。像naiad中有boundary结点可以直接获取到边界层。因此如果你要做融化,最关键的就是找好边界粒子。下面主要是realflow中的方法。粒子法线Normal()法线概念。就是粒子指向流体外部朝向。越是流体内部的粒子法线值越小。最外部的比较大。如果能找到合适的法线值,典型的融化效果是很好看的。它的缺点,就是不好缺点法线值。不同resolution值不一样,不同帧不一样。它应该是一个动态的值。这需要费一点功夫去测试。判断粒子的法线值,如果
15、大于一定值就让它转移。这是比较方便也比较真实的一种条件。因为真实的融化就是那种一层层脱落感觉。但如何在realflow中获取适当的法线值是一件不那么方便的事。下图是使用默认cross模型,填充粒子。模拟到17帧,并且差不多条件融化到相近效果的Normal值对比。我没有找到什么规律,下在只是一些经验值。唯一可以确定的是,只要resolution一样,粒子最大normal值是一样的。所以你确认好一个resolution就不要随意更改了。Resolution:1Normal:1.3(这是测试值)Resolution:5Normal:0.75(稍微高一点的测试)Resolution:10Normal:
16、0.6(大部分效果有这个精度就差不多行了)Resolution:100Normal:0.28(比较高的精度了,对融化来讲粒子数这么多足够了。再多也没有视觉意义)Bouns:为了找出合适的Normal值。我写了一个小脚本,帮助自己就是找出粒子最大法线值,然后乘以0.678。差不多就是所需要的值。上面脚本功能很简单,就是可以找出合适的Normal值。在测试融化前,只要运行一次就可以了,目的就是为了找出一个值。当然你也可以利用脚本,自动给filter赋予值。脚本思路:1.遍历粒子,获取粒子的normal,然后取模,得到normal法线长度2.把这个长度加到一个列表中,然后计算出最大的长度。也就是处理
17、最表面粒子的法线值。最后我把这个最大值,乘以0.678差不多就是我需要的融化normal值了。下面脚本,我加了一个null.position条件。这是为了速度考虑,因为只要搜集最表面的粒子就可以了。并不是搜集的粒子越多越好。maxSample是为了限制列表的长度。同样也是为了计算速度考虑。注意:最后得到值也只是一个参考数值,具体是多少还是需要自己测试温度方法这其实应该是最先考虑到的方法,仔细观察一下生活就应该知道。融化这种效果,其实本质就是温度的变化。但物理归物理,如何把这种思路与CG软件结合起来。说起来也很简单,就是定义两种温度:流体温度(可高,可低)环境温度(可以为环境,也可以是某一个有范
18、围的物体)温度在这里的本质,就是某一个通道值的变化,并且是一个标量。温度如何变化。可以参考牛顿冷却定律。虽然这是针对理想流体的,但这绝对满足你的要求。真实的流体温度变化比较复杂。知道简单的关于温度两点。温度总是由高到低温度冷却是呈指数方式衰减只要知道这两点就可以,不需要研究什么复杂的数学方程。HotACold插件是是比较好的温度方法:它的原理很简单,就是根据一定规则定义一个温度通道,可以根据环境温度,物体温度做一些变化还有就是流体的粘度也会根据温度做出相应变化(图片来自vimeo)这想这张图是对温度通道最好的诠释了Bouns:下面是对HotAcold插件的参数中文解释。与之类似的还有一个叫Io
19、melt的插件。它的原理就是先根据这个插件方法定义一个温度,然后把到达一定温度的粒子转移走。HotACold插件,最重要的一点就是根据neighbor判断流体边界粒子赋予相应值。就是遍历流体,如果某一个粒子的相邻粒子数,小于给定值,就把它看作流体边界的粒子参数名称取值范围中文Up朝向定义向量的“方向”。也被用到沸腾(boiling)力的强制流体朝向LiquidTemperature(LT)流体温度0(InKelvin,开尔文):初始温度,粒子年龄为0时的温度AmbientTemperature(AT)环境温度0(InKelvin):环境温度AmbientEffect(AE)环境效果=0:该值设
20、置,环境温度(AT)对流体边缘粒子影响效果AmbientNeighbourLimit环境相邻极限=0:当粒子相邻粒子数少于这个值,就被看成是流体边缘的粒子。将会受到环境温度影响NeutralTemperature(FT)中立值()=0(InKelvin):指定温度,哪部分流体是中立的。低于这个温度,粘度会大幅度增加BoilingTemperature(BT)沸腾温度=0(InKelvin):指定流体沸腾。基于这个问题应用一个向上的力。温度越高力越大ObjectEffect(OE)物体影响=0:该值设置,粒子碰撞到物体上受物体温度的影响。注意:object名称前缀有“_”,该值将不会起作用Mix
21、Factor(MF)混合系数MF=0:该值指定,相邻粒子之间温度影响有多高。T_new=T+MF*T_ave+AE*(ATT)+OE*(OTT);T:粒子当前温度;T_ave:相邻粒子平均温度,基于距离(distance);OT:碰撞物体温度,如果粒子有碰撞。否则OT=T;AT:如果粒子在流体边缘,环境温度。否则AT=T.ViscosityFactor(VF)粘度系数VF=0:代替或合并,与发射器的标准粘度值。因为发射器的viscosity可以设置为0.这个粘度是计算每粒子级别的,根据温度计算,指数法则函数:Viscosity=VF*DVVSF*exp(-TF*(TFT);DV相邻粒子不同速度
22、;PLF是粘度指数法则因子;TF是粘度温度因子;T是当前温度;FT冻结温度ViscosityTemperatureFactor(TF)粘度温度系数指数温度因子,见上面ViscositySpeedfactor(VSF)粘度速度系数Delta速度指数因子,见上面BoilingFactor(Strength)(BF)沸腾强度系数=0:这个系数定义向上温度的力:沸腾力不是应用到流体边缘粒子上,那已经由AmbientNeighbourLimit定义过了Force=BF*(1-exp(-BTF*(TBT)*UPBoilingTemperatureFactor(BTF)沸腾温度系数=0:指数温度因子,见上面
23、。当前沸腾温度,用来增加沸腾不管压力pressureAllowFreezebelowNeutralTemperature低于FT温度,允许冻结粒子(freeze)DaemonInactive后,粒子会全部unfreeze.可能冻结时,并不是真正的freeze.经测试,它冻结后还是会继续保持一点点运动,而不是突然停止。感觉是很大粘度的感觉。(感觉错误,其实是因为温度变化关系。粒子还是正常冻结,想多了)TransfertoEmitter转移到发射器TargetEmitter:目标发射器Condition条件CustomTemperature自定义温度距离场(distancefield)方法粒子与给
24、定点的距离。也可以是给定mesh距离,就是mesh-distance这样的通道概念。肯定是距离越小粒子越在表面。你可以根据distance场来定义受力大小。DistanceField:力的方法力这个条件应该是所有上面方法的一个总结。力的变化。可以让需要的部分,粒子先受比较大的力,然后一点点扩散到周围。甚至直接使用一个力的范围框,只要在力的范围中,就定义为需要融化的粒子。上面所以方法都是要把粒子分离出来,目的也为了使用不同部分受不同的力。四、处理分离部分处理分离粒子,就是融化出来的部分。通常只要加上一个重力就可以。你甚至可以把重力反过来。这样可以得到一个简单魔法效果分离后的粒子通常需要与原始部分有碰撞。所以融化后粒子的状态设置,就是处理分离部分五、Python脚本方法如果要突破软件的限
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年一线班组员工安全培训题库
- 2025年摊铺机租赁与施工材料保障合同范本3篇
- 除薄冰机课程设计
- 年度多媒体集成竞争策略分析报告
- 二零二五年度模板木枋行业信息化平台建设合同4篇
- 水沟勾缝施工方案
- 文明施工方案范本
- 二零二五年度环保型门卫室建设合同4篇
- 2025年度个人股权无偿转让及公司资产评估协议2篇
- 隔声罩课程设计模板
- 寒假作业一年级上册《数学每日一练》30次打卡
- 2024-2025学年九年级化学上册 第二单元 单元测试卷(人教版)
- 2024年公共卫生基本知识考试题库(附含答案)
- 2024多级AO工艺污水处理技术规程
- 2024年江苏省盐城市中考数学试卷真题(含答案)
- DZ∕T 0287-2015 矿山地质环境监测技术规程(正式版)
- 2024年合肥市庐阳区中考二模英语试题含答案
- 质检中心制度汇编讨论版样本
- 药娘激素方案
- 提高静脉留置使用率品管圈课件
- GB/T 10739-2023纸、纸板和纸浆试样处理和试验的标准大气条件
评论
0/150
提交评论