houdini 12为什么没有volumephysics of fluidss模块

您的位置: >>
& 教程列表
Category: Posted By : hawk Date :
由Cardan Fx出品的Houdini系列教程,教程软件使用Houdini 9.5版本,教程内容包含:布料,渲染,阴影,材质,动力学和流体。
Here you will find all sorts of information about visual effects software..
语言:英语视频大小:1.50G标签:
Category: Posted By : hawk Date :
在此,我们会及时与使用霍迪尼自动钻机快速钻井过程中的字符开始
在这一连串的经验教训,我们将学习如何使用自动操控霍迪尼工具。通过使用自动钻机的功能,我们可以建立,而不是小时,先进的定制钻..
语言:英语视频大小:397MB标签:
Category: Posted By : hawk Date :
Houdini has long been a dominant tool used in the creation of some of the most awe-inspiring animation and cinematic effects ever made. It is preferred by numerous studios for their most demanding ..
语言:英语视频大小:21.2MB标签:
Category: Posted By : hawk Date :
This contains project files for my tutorials on vimeo - in the Project Files directory available on the left.It also contains the vimeo tutorials in categorised by subject - see the links on the le..
语言:英语视频大小:2.14G标签:
Category: Posted By : hawk Date :
安德鲁洛厄尔,一对霍迪尼社会的长期成员,同时宣布了音乐,动画及声音技巧与胡迪尼释放。这份长达250页的电子书是完整的示例文件中间霍迪尼用户,音乐发烧友,或为寻找更好地理解的印章亲创建。该技术不再神秘的..
语言:英语视频大小:422MB标签:
Category: Posted By : hawk Date :
Taught by Valerie Cripps, this new introductory course will give you an introduction to Houdini 9.5..
语言:英语视频大小:731MB标签:
Category: Posted By : hawk Date :
This is some of my collection of houdini tutorials
Houdini tutorials collection
Houdini - 3DBuzz tutorials
Houdini 9 tutorials
语言:英语视频大小:3.13G标签:
Category: Posted By : hawk Date :
影视特效利器houdini特效教程..
语言:英语视频大小:1.43G标签:
Category: Posted By : hawk Date :
Houdini 9.5 流体Fluids使用教程
Learn a flexible workflow to particle-based and volume-based simulations in Houdini and production-applicable techniques to creating realis..
语言:英语视频大小:834MB标签:
Total: 18 / 9
今日热门教程
热门的视频教程
& 2004 - 2008 CGrealm.org回复:初学houdini-发点小成果_maya吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:146,203贴子:
回复:初学houdini-发点小成果收藏
那我就继续更新了:houdini学习笔记8-POP VOP下实现粒子goal效果主要做的就是粒子goal,原理和maya中的一样。在houdini中为每个新出生的粒子获取goalUV和prim编号。然后实时查询粒子的目标位置。运动的控制提供了两种方式,一种是场方式,另一种是绝对位置方式。调的比较久的其实是goal的力和其他场的协调上,为了保证粒子到达目标后不会抖动,我在里面做了亮相控制参数,分别来调整受力和goal强度,让它们随着离目标的距离变近而减弱。这样就能获得很稳定的吸附效果。我在这里把goal封装成了一个OTL对象。提供了必要的参数来做调解,可以让粒子goal向出生物体或者是其他任何物体。即使不想使用GOAL,也可以利用OTL来获取出生未知的物体的属性。例如可以让粒子出生后一直跟随原始物体运动,在特定条件下接受动力学等效果。当重复添加goal的OTL时,只需要在属性重命名中给每个OTL属性不同的名字就可以实现多物体的goal,这点和maya中的原理差不多。
goal到第一个物体
goal第二物体
goal第二物体
houdini学习笔记9-发射器超采样因为houdini自身没有maya一样的发射oversample功能,所以经常会出现这种情况,下面来说一下解决方案出现这种分段粒子是因为POP是每帧解算的,MAYA内部会把每帧进行细分,所以即使你是以一个恒定速度发射粒子,发射出来以后就会均匀的被随机细分位置等属性。如果想做一个物体撞击另一个物体产生粒子,撞击事件如果只有一两帧,那么就会出现一个固定的环飞出去。一般的解决方案就是发射时给每个粒子不同的随机速度,可以解决问题,但是粒子整体的形态也会发生改变,如下图我在这里的解决方案就是预先把粒子的位置和受力情况向前计算,在出生的一瞬间让粒子已经飞行0-1帧的随机距离。当然这里还要计算力对速度的影响。经过测试,houdini里面力对速度的作用是每$FPS速度变化等于受力值。效果如图因为是做法相当于对时间进行细分,所以最终结果和原始形态不会有区别,并且避免了分段现象。下面是节点图
好的话剧,坚决不能错过,价格也很重要!
OTL下载地址:
houdini学习笔记10-基于加速度的发射器通过计算物体的加速度,在SOP中修改物体的速度属性,直接发射粒子。如图当物体运动的一瞬间,加速度达到一定值(用户设置),发射粒子(与速度相反的面发射的更多)当物体进入匀速状态时不发射。当物体停止时,产生相反的及速度,物体正面发射粒子。这个效果以前在maya里面做过,但是没有做的这么细,只是根据加速度控制发射速率而且只能基于物体级别。这次在houdini里面尝试了更多的控制。首先基于VOP可以检查点级别的加速度,用一个solver来储存上一帧的速度,然后计算发射率。然后就是发射速度的控制,这里面加入了粘性,反弹,和摩擦。总体来说分两种情况A:当物体加速运动时,背向粒子受粘力控制,正向粒子根据加速度和物体法线方向模拟碰撞效果B:当物体减速运动时,正面粒子收粘力控制,背面粒子计算反弹封装完毕后可以由用户控制朝向的发射率和速度的发射率,以及弹力摩擦力和粘性,数据直接储存在SOP中,之后只要发射粒子就可以了,不需要和物体碰撞也可以产生丰富的效果。上面的截图中完全没有设置和物体碰撞,只是加入了一个发射采样的节点避免粒子之间分段。这个OTL以后可以用来给刚体动力学来做辅助当物体产生加速度时会发射粒子停止后发射停止。这种发射方式要比基于碰撞的发射更可控,可以忽略微笑的速度变化,这个范例中的粒子也没有加任何的物体碰撞(只有一个碰撞地面)速度运算的节点图
houdini学习笔记11-粒子法线的计算粒子的法线贴图-这里实现的是不借助灯光的粒子法线贴图,同样的效果也可以用在毛发等需要整体法线的物体类型上。常规的效果是打三盏灯光来进行区别,我在这里使用了点云来计算每粒子的相对法线。如图:
GB基本的思路是利用点云,计算出周围点的相对平均位置,然后与自身位置相减,获取法线位置,也就是越靠近外侧,法线的长度越长,越靠近内测相对位置就越不均匀,这样的结果和光照效果很接近。这张图里有100万粒子,计算法线只需要10秒左右,而且即使在很薄的地方也可以分出两个方向。
houdini学习笔记12-小工具:计算上一帧位置做了一个计算上一帧位置的OTL,配合之前的emitt oversample节点,就可以实现对高速运动物体的超采样了。
基本原理就是根据速度反求位置 OTL下载:
houdini学习笔记13-物体碰撞发射器(SOP)下图的效果中粒子的发射量受碰撞速度影响,第一次碰撞粒子总数大概是100W,第二次的数量大概是200W,POP采样时3次,120帧的解算时间大概是20分钟。当然如果按照默认POP的采样精度这个解算也就只要7分钟而已。如果精度降低一些预计可以再快1倍。 这应该是目前为止我尝试过的最复杂的houdini效果了,两个物体碰撞(非动力学解算),在穿插位置发射粒子。可以用来模拟物体和水面碰撞,物体和沙地碰撞等等效果,可以在任意物体交叉处发射粒子。基本的思路是细分模型,根据距离提取两个模型的相交部分,模拟碰撞算法直接设置速度在模型上。我在这里使用了3次subdivid迭代,这样可以避免一次细分到很细。在采样的时候使用了scatter在海面和目标上,也是为了降低对模型本身精度的限制。物体相交时发射粒子, 同样,为了清楚看到效果,POP里面的力场只加了重力和阻力以及和地面的碰撞。 具体的碰撞算法可以参考我以前在ICE中做的相同范例,这次在houdini中做加入了非常多的控制参数,整个节点网络也特别繁琐。所以就不发节点图了(发出来也看不清楚)。总的来说把发射速度的控制分两种情况,面向法线和离开法线,每一种情况再分为正面朝向速度和反面朝向速度。这些速度的计算基于碰撞和粘力,最后和表面的朝向相乘得到最终结果。 这里我做了一个小设置,可以发速度存放在发射器的法线上,这样就可以直接在视图中查看调整效果。
SOP级别就可以调整速度角度是更加张开或是向上。当然现在的效果只是最简单的动画和表面规则的物体,如果模型上有更多细节,那么最终效果会更丰富。 最后附送一个根据粒子速度控制颜色的OTL
houdini学习笔记13.5-更新个海浪和岩石碰撞的小效果上一个效果中,海浪向下运动时粒子残生了分段,这是因为发射器超采样的OTL中没有考虑到物体速度和粒子速度相反的情况,这里做了一下修正。 纯POP,两个碰撞+风+重力,无扰乱场。这次的POP采样是1,而且浪的速度很快,如果不加采样的话所以的粒子都会变成一段一段的。这里我把超采样的OTL修改了一下,现在能够保证POP每帧只采样一次就消除所有的粒子分段错误,解算的速度相当快。这个小GIF的解算不到5分钟。(当然调效果的时间要比解算的长多了) 不加的话可以看到明显的截面分段(这个分段如果粒子速度低的时候会非常明显)。
加上超采样之后例子就会变得很均匀,而且通过超采样,完全不破坏粒子原有的动势。
houdini学习笔记14-粒子插值常见的球型差值就不说了,太影响形态。这里试着做了几种插值方式,都是根据距离采样的。
30万粒子插值10倍,时间约15S(搜索周围500个点)
30万粒子插值10倍,时间1S以内(搜索周围5个点)
少量粒子插值,看不清楚的可以点开看大图粒子插值也是想了很久的东西,这里做了几种算法,第一种是采样两个点并且计算速度所以会有拖尾的感觉。后面的是分别对3个点和4个点采样,只计算位置。全部过程在SOP中通过点云辅助实现。今天对点云的概念算是弄得很清楚了,首先点云本身是树,所以如果给搜索方向,点云会计算的更快(因为抛弃掉了反方向的区域)。其次,点云输出的是一个链表的起始地址,链表的长度等于你给出的搜索点数,这个链表是按照距离本粒子的距离排列的。把地址放入while循环就会依次顺着链表前进,如下节点
while外,连入一个cnt用来计数,起始值-1
内部把cnt++
pciterate是用来判断链表是否结束,通过这样我们最后就会得到cnt的值和搜索的最大点数是一致的(循环的次数是最大点数+1,链表的起始是空指针再+1,所以正式的数据其实是从第2次循环开始的,如果要求自身的点云就要+2,忽略自身点)。通过这个原理,就可以得到距离粒子第N近的点的数据,通过控制N就可以控制得到不同点的数据。然后就是通过不同的算法,在粒子之间插入新的粒子,是在SOP里面通过复制点来做的粒子插值,然后通过VOP来控制每个点的位置。这是最基础的插值方式,因为越近的点插值的粒子就越多,所以很容易造成粒子形成斑驳的形态 100万
4点不算速度
houdini学习笔记15-刚体goal
刚体goal核心是vopforce,为了配合,在sop中做两两个OTL,分别是把破碎物体放到世界坐标中心,另一个是输出点。
两个OTL节点
输出点DOP中,包含三个步骤, 1.先采集SOP信息,添加到物体上 2.使用VOPFORCE利用SOP的点信息制作力
3.在motion中根据SOP信息修正效果SOP中需要输出的属性分别是P,v,goalPP(自定义属性),DOP中可以根据goalPP的值来决定是否受goal影响。
DOP节点 OTL界面参数
看看动态。
houdini学习笔记16-被动刚体激活(SOP激活&主动刚体激活被动刚体)
这个效果实现起来真是非常复杂,以后有这种要求的效果还是尽量到rayfire里面去做吧。这次做的OTL能实现两个功能 1:在SOP中对原始物体,控制被动刚体何时变为主动刚体。
2:DOP中的刚体可以实时在碰撞时,由任意主动刚体激活被动刚体第一种效果其实很简单,上次做的刚体goal中可以提取点的位置,也就可以提取点的任何属性,用这个属性激活物体就可以了。这里主要说一下主动刚体激活被动刚体。 这四个OBJ级物体,分别是,DOP的初始状态,DOP解算节点,DOP数据返回SOP节点,SOP数据采样节点(用来返回DOP)下面分别是这几个节点的内部(基础的就不说了,就是一个破碎的墙) DOP内部用一个自己做的OTL来从SOP获取目标是否激活的选项。 在一个SOP中,制作出三个OTL用来收集和传递刚体信息。第一个OTL,封装了一个DOP IMPORT和FOREACH。根据传递过来的,DOP物体和OBJID获取刚体的任何属性,默认是提取impluse,vel,active等常用属性。也可以自定义再提取4个DOP属性。第二个OTL,用来传递DOP属性,通过attribute transfer把主动刚体的属性传递给被动刚体,计算生成act属性(默认是impacts x impluse,保证只有碰撞产生是传递)第三个OTL,用来把物体重新转换为点,其实也就是刚体goal的时候制作的OTL,从物体上把act属性传递到点身上,类型选择为MAX。通过这三个OTL就可以实现把DOP的物体传递到SOP,传递属性,然后再生成为点,为传回DOP做准备。但是ground等无关的DOP物体不要导入,否侧结算的时候会失效
第三个SOP中其实就很简单了,把上一个处理的结果调入,并且传递给一组全新的点上。这么做的原因是为了避免解算器把解算顺序弄错,或者造成死链。(其实理论上就是一个死链,但是DOP会在第二次循环的时候警告并中止循环)
基本的思路就是这样 可以看到右侧三个节点是一个死循环,如果你不能顺利骗过houdini,那么在DOP中用point获取属性的时候就会报错。昨天就是卡在这个地方了好几个小时,回去的路上想明白了。其实解决的办法很简单,就是这几个节点的创建顺序一定要按照链的顺序创建,这样houdini就会在内部给每个节点一个顺序。这是我推测出来的,如果我全部做完以后把SOP_D复制一份一模一样的,重新连回这个串中,就会报错。所以最后一个SOP节点其实是为了让这个串联更清晰,并没有什么别的实际用途。最后再来看DOP中的控制节点的可控参数 可以根据两组SOP节点来控制主动被动切换,第一套是刚体的初始状态。第二套是运行时随时监测的物体名。下面的OBJID偏移是为了查询点时候用的,虽然直接用$BOJ大多数情况下可以不做偏移,但是我还是倾向于使用更可控而且唯一的OBJID来查询。下面的两个limit节点用来判断当act属性超过多少就会被转换为主动刚体,这个act默认情况下其实等于impulse。通过不同的参数搭配就可以产生不同的效果。下面是几个不同参数的预览
“健康随e保(长青版)”老人防癌险,线上免体检。
houdini学习笔记17-一个快速的碰撞发射器因为上一个发射器的计算量还是很大的,所以为了应付一些细小的要求不高的碰撞发射,这两天又抽空做了一个快速的碰撞发射器。使用的算法是很常规的法线夹角法,当然也用了两个方向来做判断。速度计算只保留了整体缩放,和戏剧性,以及张开角度的调节。求交接处的时候也只用了两次细分,并且省略了一次scater。虽然效果细节少一些,但是应付刚体落地级别的碰撞发射应该是足够了,而且速度能快几倍。更新后速度计算的核心部分
只用很少的节点就足够了。
houdini学习笔记18-涟漪制作houdini里面涟漪并不是完全结算的的,需要在SOP里面提供一个初始模型,一个变形模型(rest),然后根据这两个模型来模拟水面的效果。所以涟漪是否正确就取决于SOP里初始模型的变形算法是否正确。这里我做了一个简易的变形算法,模拟物体把水推开的力量和幅度,并且封装成OTL。节点和效果如下
以这个为基础,就可以调入到DOP中进行涟漪解算,最终得到效果如下:
通过涟漪制作,发现houdini果然是一个神奇的软件,比如这个涟漪的计算,他并不像rf之类的软件,只需要提供一个海面一个物体就可以解算。在houdini里面你必须提供一个基础的算法,houdini会以这个算法为基础继续下面的工作。所以很多时候你的效果好坏关键取决于你的算法的好坏,所以把时间花在算法上还是很值得的。而且你完全可以做两种算法,一种高速的,另一种是高精度的,根据项目的不同来决定使用哪种算法。
houdini学习笔记19-初试flip因为以前没接触过体积液态的流体,所以flip对我来说基本是全新的一个领域,所以打算多花点时间研究一下。今天没做什么东西,主要精力都在测试场景流体框和精度对解算的影响。
1:flip中空间缩放参数对整体效果影响非常小,帮助文件中的原文是这样解释的:
Indicates the scale of the simulation. This value controls the tolerance of various particle operations, particularly moving particles to match SDF iso surface values, and some solver defaults for density and viscosity. If your scene is modeled in meters, then the default value of 1 is sufficient. However, if your scene is modeled in centimeters, you should set Spatial Scaleto 0.01.
可以看到空间缩放值只是在粘性,计算SDF等情况下产生作用,对整体形态影响不大。这点和其他软件不太一样。简单的测试了一下,看来force scale和平时说的空间缩放的感觉很类似,等以后要重点试试。
2:粒子数量和网格精度网格精度对等情况下,粒子数量对动态影响不确定。2:粒子数量和网格精度网格精度对等情况下,粒子数量对动态影响不确定。
做了进一步的测试,同样粒子数量下,貌似网格精度对形态也不会有太大的影响
同样粒子数量,网格精度分别为53 27 53和213 107 213可以看到网格精度变化很大,但是粒子形态却没有很大变化。如houdini里网格精度是1,那么粒子数量直接影响网格精度,这是因为网格精度是按照粒子的间距来决定的,和radius scale一样,都是一个相对值。所以如果grid scale不变的情况下,粒子数量越多,网格的精度也就越多。理论上说houdini中场景精度的变化不会对动态有影响,但是实际上,如果grid scale为1,粒子数量越多粒子间的受力会更大。3:同样网格精度下粒子数对形态影响不大。
也就是说,当使用少量粒子结算出合理形态以后,增加了相应的粒子数后,也必须要增加同样的grid scale。
4:跟刚体碰撞的时候刚体必须是主动刚体,这点让人很费解,为毛为毛,为毛啊??????3-12日补充,并对11日做的结论做了一定的修改----------------------------------------------------------
5:和其他软件一样,场景大小对结算形态影响巨大。
上为2倍场景尺寸,下为1/2场景尺寸,粒子数量和网格精度保持不变。可以看到结算的结果差别巨大。小场景运动的速度更快,不过就像上面说的第一点,houdini FLIP没办法只通过调整简单的空间缩放(Spatial )来模拟缩小或者放大场景 。
6:内部力不能模拟场景缩放
上图为force scale分别为1和0.25的效果可以看到虽然内部力小了(形态变化),但是运动节奏依然没有变化(也许可以通过同事调整重力大小解决)。
3-13更新--------------------------------------
7:flipobject不是发射器,每次创建实际上就是创建了一个流体框。
通过表达式,让flip隔12帧创建一次,在detail中发现每次创建不是在原有流体框创建粒子,而是每次创建一个新的流体框。 这样的话很多参数的放置就可以搞清楚了,很多人以为flip object是发射器,但其实flipobj创建的其实是一个流体框的采样,因此所有跟voxel有关的参数都是在flip object中调节的。而solver中只是控制是否启用计算和算法,以及流体框的范围限制。
8:通过调整外部力和内部力场景缩放
例:如果想得到场景缩小4倍大小的解算结果,那么首先solver中的Spatial 设为0.25(1/4),你的外部力场应该是正常的4倍(比如重力=40)。当然如果你使用了扰乱场,那么扰乱场的频率也要增大4倍。纠正一个上面说的,force scale不能模拟场景缩放,所以force scale应该不变化
3-14更新---------------------------------------
8:研究了一下粘力属性,给个大致的参考
houdini学习笔记20-flip融化效果核心思路是利用sop solver控制粒子的各种属性并实时传递控制。
这个效果的核心是热量传递,初始时利用分组给一部分粒子一个热属性,然后利用属性传递让热量产生扩散。物体的粘性=初始粘性/热量。当热量大于一个限定值的时候粒子受力下落,另一部分粒子固定不动。
因为之前没用过sop solver,所以一上来就卡住了,本来以为的是串联就可以,结果查了好久才发现原来是要连在flip solver的末端(发现houdini的用户的确是少啊,在google搜索maya的问题基本都有人问过,houdini很少能搜出准确的答案)。
粒子运动的时候不能用DOP里的原始力场,因为DOP力场不能拾取flip的点组,所以整个立场也是在sop solver中实现的(新v=旧v+旧v*f/fps)。运动的地方很简单,关键是怎么使没有热量的组不动。我的办法是SOP里一进入就传递进一个位置存为op,然后在sop的尾端p=op,v=0.这样就可以保证物体不动。
然后又加入了原始物体的transform控制,这时候问题又出现了,如果只控制位置,那么不动的物体将不会对voxel产生影响,也就没有了交互。如果写入新的速度,那么位置在DOP中又会多结算一次。解决的办法就是节点的末尾让p减去一个当点的(速度/fps)。最后得到的就是我们想要的位移结果。同样的方法也可以适用于运动的角色等情况。
动态图中可以看到的热量传递效果
particle fluid surface成面,使用速度,filter
周末学会了pop solver控制DOP的方法,DOP中创建一个POP后,新建一个null节点就可以把当前的DOP点状态导入,然后其他的方式就和sop solver差不多,数据结果实时更新到DOP。flip obj创建的粒子都会导入,但是发射器发射的粒子就需要null节点跟发射器名字相同才有效。
houdini学习笔记21-SHOP置换
以前刚听说renderman的时候就知道有个叫mayax的用renderman的置换直接写出了龙鳞,几年前又看到米面在火星论坛上展示的程序纹理实现的藤甲。一直以来羡慕不已,但是学renderman实在是个太艰巨的任务了,断断续续的看了好久书也没练到能实际操作的程度。没想到houdini里面用VEX居然可以这么简单的就实现各种的shader效果,周末学了VEX置换,于是今天抓紧时间实现一下。VEX置换只需要提供p的新position和新的normal就可以了,通过匹配的参数还可以实现颜色纹理和置换的同步匹配。
具体的节点
houdini学习笔记23-smoke tip+gas field vop 47*40*30精度,SMOKE,只使用3个通道density,temperature,vel。今天用gas field vop做了一个OTL,吧可能会用到的功能继承起来用于pre sim的解算。目前的功能有 1.速度惯性损失,根据速度和温度的密度消散 2.VOP立场,可以控制最终的叠加强度,即使不用惯性或阻力也不会让速度线疯长。可用BBX,BBY,BBZ控制强度。 3.对于低速流体,可以施加方向力和noise,这样可以充分避免流体温度降低后固定在原地不动。 4.High detail模式,对于高密度位置给予高扰乱。增加不确定细节。 5.每个属性可以单独控制开关(流体的数量级上,尽可能避免不必要的解算)
初步尝试,别的不知道,起码比maya里面做风吹动流体的效果要好的多了,而且通过VOP可以非常细致的控制每个VOXEL的通道,可控性极强,泪奔中。
high detail选项开启
所有OTL功能都加上
maya,Maya从0基础到高级全面教程,大量高端案例教程,快速成为Maya高手,名师实战教学,学Maya首选教程,适合所有学员,马上开始学习Maya
TIP 1.热量守恒,恒定的热量下,密度越大,每个voxel被分配的热量就越小。换句话说,如果热量衡定,那么density越小,上升的速度就越快。
2.gas field vop使用时input不用连接输入,直接把输出连到解算器。
3.场景尺寸决定结算效果
别的参数不变,场景放大4倍的效果
4.自定义解算器会严重拖慢解算速度
把网格分辨率改到140*120*90,不加任何的自定义解算器,整个过程只需要6分钟
加入风和阻力以后17分钟
加入所有其他自定义功能后还是17分钟,目测有两种可能,1是算法优化不够,2是opencl对自定义的解算器没有加速。优化了一下却没有发现明显的效果,比较慢的功能是在整体风力和低速粒流体控制上。
houdini学习笔记23.5-优化后的field控制工具 187*160*120分辨率,浓烟材质+噪波 动态效果,100帧(图有点小,看不太清楚)
左图是未加场控制OTL的,通过gas caculate进行速度和密度的衰减,解算时间5分钟。右侧加入了自定义的解算器,右侧为同样分辨率加上自己制作的OTL增加细节和制作衰减。解算时间6分钟。可以看到一分钟的代价换来了不错的细节。但是如果增加风场和整体扰乱,整体速度就会拖慢不少。
未加噪波的效果。默认的浓烟材质还是不太好控制,输入端只能用一个field控制,以后再研究吧,下班回家
赶上,插一个。。话说下班好早啊。。
houdini学习笔记24--SOP volume控制 120*70*70
1.iso offset 常用功能不说了,sdf模式能获取到模型的最近距离,内部为负值,外部为正值。通过iso offset可以获取一个采样,以后可以用来控制速度等属性
2.volume from attr 从模型点传递属性,可以从点传入速度等属性,默认的volume velocity也是由这个节点封装的。节点内可以按距离或者voxel方式传递,可以直接传递向量。
3.volume mix 可以把两个输入互相计算,每次只能对一个单独的浮点通道处理,比如用density当做velocity的mask就需要单独乘3次。
以上三个节点互相作用,就可以做出边缘衰减的速度采样。(但是如果直接把sdf处理后的vop连到输入的density,dop中会出现发射器外侧也被填充的现象,目前没找到原因是什么)
4.fluid source 可以直接从物体采样出float和velocity,scaler属性的选项中去掉minium distance,可以控制内侧厚度和外侧厚度。 empty interior决定是否清空内侧 scale by source attribute可以根据点上储存的同名属性采样,决定field的密度把方式切换成stamp points,可以切换为点采样模式,直接采样模型上的点属性,可以获取不定数量的采样点数取平均值。点数量和距离其实控制的就是volume from attri中的这两个属性
开启stamp points中的sdf属性后,会根据sdf距离缩放field。
5.volume vop globle直接有4个输入端名称等的输出,可以通过index,pos等属性获取属性值,其他的跟普通vop没太大区别,输入输出用parameters
对于流体来说控制好了发射器就等于做完了一半,houdini中提供了非常丰富的控制功能,实在是太实用了。而且在source volume节点中几乎集成了所有你能想到的要求。
通过对发射器的控制,不需要太多通道,也不需要pyro就可以达到很不错的效果。
120*70*70精度,只有发射器速度,密度,无温度,DOP无扰乱,自定义消散和阻力,240帧解算9分钟。
120*70*70精度,只有发射器速度,密度,无温度,自定义消散、阻力、风、扰乱,240帧解算9分钟。
120*70*70精度,只有发射器速度,密度,有温度,自定义消散、阻力、风、扰乱,240帧解算10分钟。
houdini学习笔记25-pyro
200*150*150pyro火焰的基本控制
1.首先是burn rate越大,火焰烧的越大。 2.燃料效率越高,烧的越久(越大) 3.精度提高多少倍,gas released必须降低多少倍才能保持动态统一。 4.fuel传递让火焰更有动感,但是可能会导致燃料糊在一起,适合表现气态,或者附着可燃液体的物体燃烧 5.time scale增大后火焰会变小,需要相应提高燃烧率等参数匹配。 6.自带的几个场都很有用,但是个人喜好不同,我一般不会使用turbulence这类的会影响真实形态的力,confinement好用,相当于maya fluid中的swirl。shredding叫做拉伸力,其实就是拉丝和分段,可以增加细节。所有的自带力几乎都会有输入输出选项,比如confinement我是用fuel作为输出的。
houdini的流体解算速度果然很快,而且掌握方法后低精度的动态和高精度相比不会有很大区别,完全可以低精度测试,最后高精度用于输出。还是老规矩,最低精度下,完全靠发射器和默认参数看能达到什么精度
这是50*38*38精度下不加任何扰乱力场的效果,可以看到只是靠发射器控制就能得到舒服的动态。
精度翻一倍,然后加入流体内部的扰乱属性
渲染结果(太慢了,没渲完)
pyro材质可以提取非常丰富的细节
temperature
第一个HOUDINI DEMO 从12月末到现在正好学习houdini3个月,做一个DEMO当个阶段性的展示吧。一共做了4个部分,分别是水,火,钢体,L-systerm。一共连渲染带制作花了5天时间(幸亏公司没活),用的技术都是前段时间研究出来的,正好实际检测一下。感谢一下总动员的老师,我这种懒人自学估计得学个一两年了。图片传不上来,制作过程改天再发吧。
表示没学过,据说会有
我空间里的houdini笔记就到这里了,以后在随时更新吧。希望对初学和希望学houdini的朋友有帮助
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 computers and fluids 的文章

 

随机推荐