学设计,来火星!()
沙漠行军蚁背后的cg技术--群组技术
热播的《鬼吹灯之精绝古城》的剧情中,考古队遇到沙漠中的大沙暴,这群科学
研究们偏偏不能安心呆着,非要手贱去挖石像,结果就挖出了瞬间将人畜啃成白
骨的“杀神”——沙漠行军蚁。
毫无疑问这种效果实际拍摄时无法完成的,只能求助于CG特效技术,这种效果
在特效里面属于群组动画一类,一般我们会用到粒子技术,通过控制粒子点的行
为来传动带有爬行动画的模型,今天给大家带来一个小教学,利用houdini中的
粒子来实现一下这种群组效果。
在正式进入制作之前,我们需要对所要制作的内容有一个分析,查找翻阅各种资
料,这种蚁群之所以叫行军蚁,是因为它们具有高度的组织性纪律性,也就是说
它是智能的,遇到催泪瓦斯的时候还知道避开障碍,并不是随机游走,这就为制
作增加了一定难度,这也是要解决的最主要的问题,好了,下面我们就开始
学设计,来火星!()
上图是就单个点在P位置以速度V向前运动,运动过程中会实时去探测前方的障
碍物体,当点运动至障碍物很近的时候,我们就提取障碍物体表面的法线N,这
样我们将速度V和法线N相加,就得到了一个新的向量,再把这个结果重新给到
速度V上,就实现了躲避障碍
分析完成开始制作
学设计,来火星!()
首先我们创建一些圆柱作为障碍物,用一个平面把粒子发射出来,赋予粒子在
XZ一个随机速度
然后加入一个popvop并进入到里面编辑
学设计,来火星!()
这里我们需用到一个interct节点来探测障碍物,这里我们需要连接一个探测
的起始位置,也就是粒子的位置P,还有一个探测方向,也就是粒子的速度方向
V
把P端口连接到rayorig上来确定探测位置,但是方向上我们首先需要标准化一
下速度v,也就是将速度变为1,但是方向不变,然后我们给它乘一个系数以方便
控制,将它连接到raydir端口上,最后我们在file端口调入碰撞物的数据,这
样interct就可以为我们输出,探测范围内碰撞物表面的位置和UV,那么有
了uv我们就可以通过primnormal来提取碰撞点的法线,这样我们需要的数据就
都有了。
这样按照之前的逻辑,只需要把速度V和法线相加就可以了,但是问题来了,并
不是所有的时候都要去躲避,所以我们需要让粒子进行判断
学设计,来火星!()
将interct节点上的prim端口连接到compare的第一个输入端,让这个数据
和0做一个比较,我们知道如果它没有碰撞的时候prim取值是-1,把比较的结
果连给twoway的条件上,当条件满足的时候输入第一个输出端口的结果,否则
输出第二个端口的结果
学设计,来火星!()
把探测到的法线结果输入给第一个输入端口,第二端口如果一个(0,0,0)的向
量,然后把这个结果和原始的速度相加,我们就实现了粒子躲避障碍的算法了。
当确认粒子运动状态没有问题,就可以copy模型上去了,这样就实现智能群集
的简单算法。
更多资讯教程,请关注影视后期圈
本文发布于:2022-12-29 13:24:20,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/53306.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |