【不看后悔】关于Houdini17,你想知道的都在这儿了
美国时间10月2日晚6点,SideFX在加拿大的蒙特利尔举行了Houdini 17的新版本发布会。在发布会上,SideFX的Cristin Barghiel(研发副总裁)和Scott Keating(高级产品设计师)讲解了关于Houdini 17新功能的所有特性。
相信当时大部分朋友还在享受愉快的国庆假期。那么今天我们就来看看,长达一个半小时的发布会上,都讲了哪些Houdini 17的新功能?让我们来一一剖析。各位看官,搬好小板凳(前排兜售瓜子饮料矿泉水,脚让一让啊让一让……)。
▌重点更新:VELLUM柔体、FLIP流体、刚体破碎
本次更新是Houdini历史上在刚体模拟、Fluid流体和柔体上力度最大的一次更新。
其次,在角色(Character)、建模(Modelling)、地形(Terrain)、游戏(Gamedev)上,都有不小的更新。
▌VELLUM——快速的多重解算柔体引擎
➤全新的VELLUM柔体,它是一个多重的、基于Cloth驱动的、物理真实的解算引擎。它可以模拟几乎任何柔性物体,包括布料(Cloth)、毛发(Hair)、柔体(Soft Bodies)、沙雪(Grains)等等。
➤VELLUM的引擎叫XPBD,它是基于“位置动力学”(Position Dynamic)的。这个特性让解算变得轻量(不吃配置)且稳定(不容易崩)。它基于OPENCL显卡加速,让显卡的性能在解算时同CPU一起发挥功力。它的设计初衷就是高性能,必须要快速。所以相比旧的布料解算器,它的解算速度将更快。
➤VELLUM的出现具有里程碑意义,它是一个全新的前所未有的柔体引擎。你会爱上它的性能和稳定。
➤VELLUM可以轻松模拟200+的纸片掉落堆积。它借鉴了bullet刚体的“sleep”特性,解决纸片“乱抖”的问题。
➤全新设计的VELLUM节点和工作流程。
➤Vellum Post-Process(后期处理)节点可以让你在模拟完成后仍然拥有对bend、stretch等动力学属性的查看和控制。
➤VELLUM可以轻松制作撕裂效果,并拥有令人发指的精准控制。
➤Dynamic constants(基于动力学的动态约束)可以实现类似如下的效果:当线下落,接触到布料产生约束,本来分离的线束与布料动态产生了约束关系。并可以随时间减弱。
➤VELLUM已嵌入毛发系统,更快的毛发模拟速度。并可以真实地解算簇(clump)、软硬度(stiffness)等属性。
➤VELLUM比老的FEM解算器快8倍
➤VELLUM支持压力控制(Pressure-driven),让下面的效果成为可能
➤约束可以通过贴图控制。比如下面这个圆盘,你可以绘制“黏性”区域,当物体碰到这个区域就会产生约束,从而不掉落。
➤可塑性。VELLUM可以让变形过的物体保持当时的形态。例如橡皮泥被压扁。这一特性同样适用于毛发(可以制作类似脚印的效果)。
➤基于VELLUM升级后的grain解算器可以让布料与沙雪(grain)进行交互。
➤VELLUM将沙雪(grain)、毛发(hair)、布料(cloth)、柔体(soft body)这些类型的物体融为一体,也就意味着,一个VELLUM解算器可以解决上述所有的效果,也就可以实现这些物质在同一场景下的交互。
▌角色(character)工具包
➤群集动画支持实时的Vellum柔体模拟。
➤全新设计的动画曲线编辑器。
➤重新设计的通道盒(channel list)以及优化的动画K帧操作流程。
➤面部自动绑定。继两足、四足角色自动绑定推出后,面部自动绑定随之而来。绑定好的面部具有完备的控制器,直接可以进行动画操作。
➤动画修复(比如修复某一帧几何体动画有穿插)&动作库系统。
➤全身的IK系统。与FK无缝兼容。
➤交互式刷毛,速度更快(表示旧版卡成狗)。并且毛发clump生成速度更快。 改进的openGL让视图显示更快速、准确。clump增强,支持迭代clump。
➤支持毛发导出到游戏。自动减量、自动生成面片(cards)并自动适配UV、贴图。
▌全新的刚体系统、完善的破碎流程
众所周知在H16中引入的Boolean布尔工具,开启了破碎的新世界的大门。而在H17中,Boolean与元老级的voronoi破碎工具强强联手,加上bullet解算引擎支持,生成了一个崭新的基于材质(玻璃、混凝土、金属等等)的刚体破碎系统。它具有艺术化的控制和自动生成约束。从前你所头疼的很多琐碎的事情现在都可以一键。
➤全新的柔性约束(soft constraints)可以让你轻松实现如下效果。有别于FEM、Vellum柔体,这是全新的bullet刚体解算器。
➤convex多重分解。熟悉刚体的朋友一定对convex不会陌生。它是刚体的代理物体,当模拟一些形状复杂的物体时,convex物体往往不能很好地描述原始几何体的形状从而使模拟效果大打折扣。于是你不得不使用“concave”模式,然后加大substep,解算时间大大增加的同时还得不到好的效果,而且容易使模拟产生抖动等不稳定的问题。现在,Houdini会将复杂物体进行多重分解,为你生成最贴合原始模型的convex模型。一切都迎刃而解。
➤基于材质(material-based)的破碎。我们都知道不同材质的物体(玻璃、混凝土、金属等等)破碎的形态不一样。在H17,你可以一键get这些破碎形态,并自动生成约束网络。
➤这一基于多重材质的破碎系统(RBD Material Fracture)是houdini刚体系统的又一里程碑。它是Voronoi与boolean的结晶。
▌建模及视图交互
作为一款程序化三维软件,Houdini在很多人眼中是不适合建模的。起初Houdini的程序化建模在一些重复元素的案例中展露头角。而在近几年的版本更新中,Houdini在建模方面有了相当大的改观,使它当之无愧地成为了一款真正全流程的三维软件。
➤对齐工具。这个工具可以捕捉几何体的“方向”,从而让你轻松地沿着“表针”的指向进行位移、旋转。
➤参考平面。比如下面这三块板子上需要写字,你可以沿每块板子所在的位置生成一个“参考平面”,并可以使用快捷键在视图与参考平面中切换,从而让“写字”轻而易举。
➤多物体同时沿“局部空间”移动。比如下面这两个铃铛,同时选中它们向上位移,可以实现同时沿各自的“方向”位移。
➤重拓扑工具TopoBuild,新增桥接工具。与此同时还有新增的PolyDraw工具。
➤新增自动根据缝隙展UV(uv autoseam),以及UV展开工具升级。众所周知展UV是模型贴图的必经之路,然而没有人喜欢这一繁琐的步骤,而你又不得不被它蹂躏。现在,让这一切交给Houdini。它可以自动识别模型平坦的部分和“边缘”部分,从而自动展开UV,得到最优化的UV展开效果(相信我,这功能跟maya的自动UV不是一个概念层级的)。
➤uv flaten升级。uv layout重写。新增视图显示实时查看uv效果。新增自动“打平”功能,将不规则的uv形状变得规则。新增Stack功能,它可以将相同大小相同形状的uv重叠在一起,给其他大块的uv腾出空间。它还支持自动识别新增的uv,并将它们stack到一起。
➤全新的uv工具不仅可以自动展uv,还能作用于三维物体!!!没错,使用自动展uv的算法,对三维物体进行“自动排布”。你可以画一个mask,然后将凌乱的三维物体排布到mask上。这操作真心666!
➤新增视图Python API接口,可以自由控制视图显示。现在,你无需从最基层的C++等代码做起,直接使用这个方便高级的Python接口就可以对Houdini的视图“为所欲为”。几行python代码,就能搞定C++动辄几百上千行才能实现的功能。
▌地形(terrain)工具升级
在H17的地形工具上,着重增加了“erosion”(侵蚀)和“Distortion”(噪波)两个方面的功能。另外还有一个非常有趣的新功能“多重采样”,它可以避免采样点上的物体有重叠现象。
➤新的scatter工具与旧版本对比。可以看到在H17中,绘制的树木牢牢“粘”在地面,不会随着绘制抖动。而且解决了重叠问题。scatter出来的物体更加符合自然规律!
▌游戏工具
➤Houdini for Unity引擎。可以在Unity中像操作Houdini一样控制各项参数。
➤新增3ds Max引擎。
➤GLTF导入导出。GLTF是一个近年来非常流行的格式,它将模型、材质、贴图等打包在一个文件中。
➤游戏研发扩展包(Game Develop Toolsets)。包含高模自动减面工具、自动UV等。非常非常多的有用的工具。GitHub持续更新。
▌FLUIDS流体(侧重质量、效率的升级)
每次Houdini更新都不会放过流体(PYRO、FLIP)。这次重点在两个方面:全新的Pyro工作流程,和全新的白水(whitewater)系统。
➤流体发射源全面支持VDB,比传统方式快50倍+
➤全新的pyro工作流程——基于粒子。全新设计的基于VDB的pyro source节点。新增Attribute Noise节点包含丰富的扰乱调节,从此再也不用自己建VOP进去里面瞎连一气了!Volume Rasterize节点将粒子直接转为流体。
➤属性查看面板升级,新增属性比较功能:可以显示现有节点基于上层节点新增的属性。新增debug功能展示更为详细的信息,从而让你不必来回查看attribute spreadsheet。
➤属性visualize功能方便地查看各种noise、temperature等。
➤新增pyro颜色,并且与材质无缝衔接,给pyro加颜色现在只需一键。你再也不用自定义DOP去辛辛苦苦地给pyro发射源加颜色了!
➤新的vdb发射源比旧方式快了不知道多少倍。
➤时间重映射retime(任意调速)。这是一个让流体“无级变速”的屌炸功能。你再也不用为了调速而重新解算。还记得被上级指示“这个爆炸刚开始的时候慢一点,然后再快一点,再慢一点”的噩梦么?而且,这个功能不是仅仅适用于pyro,对Houdini里面所有的流体包括Flip、粒子、角色动画……所有你能想到的元素,都适用。
➤Narrow Band升级。如下图,在旧版,水流穿过narrow band后丢失所有属性,无法继承。Narrow Band顾名思义,它是为了提高效率而产生的,在16.5中引入,是一条窄带,你可以理解为水面薄薄的一层,从而不必模拟好十几米深的粒子,大大加快解算速度。
➤在下面这种有障碍物(墙壁)的场景中,新的narrow band优化了算法,解决了旧版耗费资源的问题,将比旧版快40%以上。
➤全新白水系统,更为逼真的白水效果。我们知道whitewater在Houdini很早的版本中就有了,而旧版的whitewater存在统一的诟病就是粒子与粒子之间无法产生交互,实质就是一个简单的POP SIM。在H17中,白水(whitewater)系统彻底重写,加入了pop fluid force、repellent力场,粒子随着时间的流逝将变换不同的状态。更加接近最真实的效果。
▌还有更多新功能等着你去发现
此次发布会只是讲解了H17的主要新功能,还有其他特别棒但是没有时间讲的功能比如新加入的NVIDIA去噪……向SideFX开发人员致敬!!!