朱峰社区首页

搜索资源 注册或登陆

等待

返回 展开菜单

houdini第一定律

朱峰社区 | 18年4月14日|675关注

silo教程 观看预览

silo教程

包含3节视频教程
关注7.1万

silo是比maya或者3dmax更强大的角色建模多边形工具,他强大的多边形建模工具让你的角色建模效率大大增强,是不可不学的高端软件。

关闭

houdini宇宙第一定律!

但凡是一些终极定律都是极简的,比如质能方程式E=MC?2; 还有熵定律,及简的表达,但是却有强大的作用。而小编目前认为houdini终极定律如下

IPO定律(不是原始股发行)

Input(输入)→Process(处理)→output(输出)

看到这里大家应该会是一脸懵逼,或者有两种反应: 反应一就是这个怎么会是houdini的终极定律呢,就是很正常的流程啊?反应二:这个我早就知道了,在houdini中很常见,有什么强大作用吗?

其实,要说知道,刚学CG的时候(还不是houdini)的时候就知道,只是真正领悟出来的感受是完全不一样的,是在积累了一定量的使用和思考后才的出来的顿悟。

所以感悟出来的那一刻很兴奋,有点像是走了那么久的路,原来我的目的地就是出发地。然而,我再也不是出发时候的自己。

这种感觉说出来很玄乎,下面我会具体为大家解释说明:

下面情况不知道大家是否会遇到

1版本不同了,教程里面某些节点参数变了,我就不知道怎么做了?

2明明按照教程里面步骤去做,为什么我的结果就不一样?

3我用教程的方法去做我自己的案例为什么行不通?

4我特效怎么调整都不好看,即使把解算精度提高得很高?

.........

我可以这样说,上面这些问题(还有很多问题)就是没有理解和应用好IPO第一定律的问题。或者说,自以为懂了了这个规律,只停留在表面。

一houdini中的IPO定律

对于小编来说,houdini就是一个数据流软件,输入输入,处理,输出,就是那么简单的东西。只不过houdini是有数组,数十组,数百组(甚至成千上万)组IPO组合而成,中间还会涉及到循环和嵌套,但是无论如何,本质就是IPO流程。

下面就是houdini中各个模块的展示

1obj层级下的

粒子模块,动力学模块和刚体模块(刚体模块直接导回到输入的obj进行渲染,如果你想,也可以和其他动力学一样单独导出渲染)。

2在 sop模块下

sphere输入 →transform进行位移处理→输出位移后的sphere→作为输入到group→在group中进行分组处理→输出带有组数据的shpere→输入到mountain→基于sphere和组数据进行形变处理→输出最终的形变结果。

3vop模块(包括材质模块)

4chop模块

5动力学内部模块(刚体和pyro烟火为案)

6cop合成模块

7vex表达式 wrangle节点

8 渲染模块

输入模型+属性(材质),输入灯光和相机→mantra 渲染器继续拧处理→输出定义内容

总结

IPO模式在贯穿了houdini的整个软件和各个模块,从上面各个模块的举例中可以如下特点:

1input整个输入可以是人为创建或者是已经存在的数据:比如sphere1就是人为创建的数据,我们给houdini敲入指令,创建一个sphere(其实内部也是一个IPO模式)。包括分组,我们可以手动框选,只是houdini不太推荐这种非程序话的做法。

2input不限制为一个,可以为任意多个。比如sop和cop中的merge可以合并多个数据,vex和vop中可以引入多个属性等。

3IPO可以作为一个很长的链条,上一个的ouput可以作为下一个的input,但是这个IPO流程是很清晰的,也就是肯定有input,process和output(当然,硬是没有process或者output这样没意义的操作也可以有,但是没有任何意义)。

4由于houdini中涉及了多个模块间的IPO,这里就涉及了不同模块间的IPO传输问题,这个是需要好好研究学习的。

回来说一下很多同学的问题

1分不清楚input,process和ouput的部分,所以出了问题都知道在哪里找?

2把houdini各个模块孤立学习,没有看到他们的本质是一样的,把每个知识点单独记忆,更不要说灵活运用了。

二 IPO定律的强大应用

1当你真正理解了IPO,除了问题就能很快定位到问题所在,并且会解决最开始提到的几个问题

版本不同了,教程里面某些节点参数变了,我就不知道怎么做了?

明明按照教程里面步骤去做,为什么我的结果就不一样?

我用教程的方法去做我自己的案例为什么行不通?

下面举一个很多人在学houdini的过程中都会遇到的一个问题

给一个物体添加紊乱颜色:在point中使用turbulencenoise节点输出给颜色

但是当这个小球发生位移的时候,你会发现紊乱的纹理会滑动,感觉不是贴在模型表面上的。

有经验的同学很快就会想到这个简单,加个rest节点就可以了。但是这是为什么呢?还有其他方法吗?

这里我们先分析一下原因

在vop的链接中我们可以看到,我们输入的是P→链接到turbulence→Cd中,一个很简单的IPO模式。但是不同的是现在P是每一帧都在变化(小球每一帧都在位移),input在不断变化,那么turbulence输出的值肯定也是不断变化的啊,所以这就是滑动的原因。

好了,找到了滑动的原因,那我们的解决办法就是这个input不变就行了,但是这不只是有rest的这个方法,而是有很多方法,但是本着就是让整个input不会随着时间变化就行。

方法一

如果是通过transform节点做的位移动画,那么可以改变动画与颜色是顺序,让静态小球先生成颜色,然后再用transform进行位移。

当然,这种进限制于你用transform之后再houdini添加动画的情况,如果导入来的模型已经是有动画的了参考下面办法。

方法二 添加不变的矢量

rest postion节点分别链接到transform和 sphere两个input端口,会生成一个rest vector属性,然后再vop中bind引入这个属性,取代P作为控制turbulence。

好了,我们来看看这个rest属性到底为何方神圣?

当你拖动时间线的时候,你会发现,只有在第一帧的时候 rest=P,而其他帧的时候P不断变化,而rest保持不变。所以远离其实就是冻结了动画在某一帧,用这个不动的rest属性(存储某一帧的P的位置值)。

那么如果你想冻结在其他帧的的位置属性呢,使用timesshift节点,删除表达式就可以,比如第5帧。

那么我再拓展一下,为什么要用rest postion节点呢,为什么要是rest属性,我自定义一个属性来存储某一帧位置不行吗?

就是那么任性,我定义一个myvar进行控制存储就行了。

再往深思考一下,为什么一定是存储P呢,我能找一个不会随着时间变化的矢量属性不行吗?

比如uv,如果这个模型上有uv属性,无论小球怎么平移运动,uv是不会变化的。

1要确保模型有uv

2uv是在point层级上的,默认导入obj模型uv是在vertex层级上的,所以需要通过attribute promote进行转化。

再再往深入思考一下,实际上我们只是需要一个不会随着时间变化的vector,不用P,也没有uv,那么我们还有一个每个多边形必备的属性 点序号!但是你会说点序号是整形,不是矢量。的确,不过我们会转化的嘛,三个整形不久可以组合成一个矢量了哦。

最核心的就是ptnum这个点序号不会随着时间变化就行。

上面看似方法很多,其实本质的思想就是因为input随着时间变化导致了滑动,那么我们就如何让整个input不变,这就是一个本质的解决问题的思路,而上面所谓的各种方法都是整个思路的具体实现方法而已。

2 对于特效模拟,大部分同学只停留在对dop中的参数进行调整,经常忽略了input和output的处理。

左边是用一个sphere右边是一个torus圆环做法发射器的模拟

输入模型场景的比例问题,如果想获得真实的效果,把场景尽可能地还原为真实比例,这样才可以做出真实的特效。不要用1米的水盆去模拟大漩涡,也不要用2米的杯子去模拟倒水,这样出来的动力学效果都不真实。

对于破碎刚体等问题,比如破碎一个墙,你用一个box进行模拟,和对墙进行真实的构架 砖块,钢筋,水泥,和表面的石灰等进行真实建模,你这样还会为为什么我的box墙破碎没有细节了吗?

对于pyro和flip等ouput后的灯光和环境反射非常重要,即使你解算出很高精度细节,不会大灯和没有好的环境反射,流体和烟雾一样不好看。

总结:


看完上面的解释不知道你对这个第一定律如何看待呢?对于小编来说,现在看朱峰社区www.zf3d.com houdini教程,做案例和解决问题时候都会想到这个IPO第一定律。可以让看似复杂困难的步骤里面,让你学会思考,归纳和整理。当你很清晰地告诉自己,哪些是input,哪些是process和哪些是output,当你知道了除了问题我应该去找哪些环节,当你把复杂的步骤拆分成一个个简单的IPO模式的时候,你还会担心看不懂教程?理解不了和应用不吗?

反过来说,不要被一些所谓的大案例,大效果所吓倒,其实无非就是这些东西。甚至很多大案例里面的技术点远不及一些小案例对你有用,小编发现有不少所谓教程,兜兜转转了半天,就只是在讲一个简单的IPO而已。

这都是一家之言,相信有很多大神或者高手会有不同的意见。但是小编觉得对家会有所帮助就无偿发给大家了,希望对大家有抛砖迎玉的作用!


朱峰社区三维动画出炉 朱峰社区三维动画出炉
资源说明图文教程无法下载,只能观看图片和文字。
版权规则本站图文皆来自互联网共享资源,如涉及到版权请查看版权规则。本平台提供图文仅可用于个人学习,如用于商业请购买正版。您必须遵守的版权规则

未知用户

未知用户

2005-2018 朱峰社区 版权所有 闽ICP备12017399号
2005-2018 ZhuFeng Community All Rights Reserved

VIP

手机app下载

回顶部

1.复制文本发给您的QQ好友或群、微信等;好友点击链接以后,转发就成功了。 2.如朋友点击您的链接,您需要需刷新一下才行;同一个好友仅能点击一次。