Houdini 13发布后带来的许多新技术让人赞叹不已,尤其特效的制作能力更是让我们感受到Houdini就像是一个高深莫测的魔法师,随手之间就能变幻出不同的视觉效果,而让大家最关心的一个问题是,这玩意好学吗?从来没使用过的话是否很难上手?
另外,Houdini Engine与Unity的结合能带给开发者什么样的火花? 对于游戏制作能有提升的作用吗?
现在,我们将通过本教程让大家进一步的了解Houdini Engine与Unity的结合用法,前半段的部分会将较多的说明放在Houdini的操作,同时也让大家了解到Houdini独特的节点式制作功能有何特别之处。
我们目前使用的是Houdini FX 13.0.237版本, 可以在官方直接下载后安装
接下来我们需要在场景里面制作一个3D文字,按下Font图示,然后在视图里面即可出现2D文字。
再按下Enter键将文字建立在网格的中心点位置,默认的文字显示出Frame:1,如图所示:
在视图上方的栏位直接对文件内容进行修改,Font里面选择字体,Text则是更改文字的内容,将文字改成unity3d后继续后面的制作。
按下Polygon > PolyExtrude的图示,从图示来看是很容易理解的功能,执行此功能即可将平面延伸为立体,与3dsmax里面的Extrude功能完全的相同。
如图所示,按着箭头的方向延伸出文字的厚度,这时我们注意到文字表面似乎出现了不平均的黑影,此情况在后面的步骤将会进行修正。
在PolyExtrude的选项里面,还需要勾选Output Back将另后面封闭起来,以避免文字出现中空的情况。
接着选择Polygon > Fuse功能将立体文字上面的所有点进行一次接合的整理,除了按下图示的方式来启用功能外,Houdini还提供了一种很方便的查找模式,按下Tab键即可调出命令选单,输入命令的前面几个字母就能找到该功能。
如图所示,在文字模型上添加Fuse后所呈现的顶点效果。
在Houdini特有的节点视图里面,可以很清楚的看到从文字到延伸厚度,再到Fuse作用的连接性,这种编排方式与一些非编软件的特点相同,只不过对象是换成了3D常用的命令。
按下Tab键,输入Vertex后执行此功能,通过这个功能对文字模型的表面进行一次调整。
将Keeo Normal的选项更换为Cusp Normal后,原来文字模型表面的黑影部分得到修正,再加大Angle的数值可的更理想的效果,注意的是此数值不得超过90度以避免出现错误。
选择Model > Shatter功能将文字模型进行碎片的处理,Houdini在处理这方面的特效很方便,也很直观,执行功后即可在模型上面看到效果。
从模型表面的碎片看来似乎还不是很足够,我们需要多一些的碎片让整个效果更为真实。
在chunkcenters节点里面将Number of Points的设置从10增加到30,如此可以将文字模型切割为较多的碎片。
接着添加一个explodedview的节点,如图所示,这个节点的作用是让碎片模拟出散开的结果,在Scale的栏位里面调整数值即可进行碎片分散的预览。
完成碎片的处理后,将整个模型沿着Y轴向上移动,我们打算让文字模型从高处向下掉落来模拟出碎片散开的效果。
选择Rigid Body > RBD Fractured Object的节点,这个目的是将刚体作用赋予到文字模型上面。
再添加一个Ground Plane的测试平面,这个平面通常是作为刚体或是粒子的碰撞测试。
按下Play按钮进行测试,文字模型从高处掉落碰到地面后即呈现出散落的效果。
测试无误后,准备将模型与特效做输出,选择使用的节点后按下Create Subnet的按钮,然后对生成的节点命名,如图所示:
在Subnet节点上按右键选择Create Digital Asset..,这个功能是将模型创建为数字资产的一个重要步骤,也是Unity通过Houdini Engine读取模型与特效的重要功能。
如图所示,框选的部分是添加进来的三个参数,分别是exploded(散裂)、font(文字内容)与Y Translate(模型高度),而不需要输出的部分则可以勾选Invisible将其关闭。
输出OTL文件后,将文件放在工程项目的目录里面进行测试。
在按下Play后,我们发现文字模型并没有从高处掉落,也就是没有任何反应,这是因为某个选项默认为关闭的状态。
勾选Cooking里面的Playmode Per-Frame Cooking再进行测试,文字模型即可产生掉落与碎片的物理效果,此外在文件输出时添加的参数也一并被导进Unity,如图所示,调整红框里面的三个设置即可改变文字模型的结构。
现在我们改变一下文字的内容再进行测试,如图所示,Houdini强大的物理功能被完美的带入Unity的场景。
|