Houdini:小球散落的实现

涉及结点:copy、attribwrangle、pointvop、mountain、smooth、null、convert

涉及知识:copy替代、模型和刚体之间的转换、刚体解算

涉及快捷键:

快捷键
开始播放、停止播放↑ 、↑
退回第一帧CTRL+↑

鸣谢:aboutcg 的nero black老师


基础知识

下图为maya状态互相转换的示意图:maya中粒子替代无法转换为刚体,除非转成模型再转成刚体,非常麻烦。

 

houdini的方便之处在于不同的形式之间都是可以相互转换的

SOP——surface operation

POP——particle operation 粒子

RBD——rigid body 刚体

Pyro——烟火

FLIP——水体

DOP——dynamic operation 动力学

下面让我们开始吧~


随机大小、方向和颜色的模型

参考小球替代的三种方式的vop方式,在copy中给rotate和scale也添加新的属性

然后将随机属性赋值给transform

最后得到如下模型 

插播:控制随机数范围

//控制随机数的范围在0.2~0.5之间  

//因为rand生成的数字是0~1的

rand($PT)*.5+0.2

提问:旋转0~360度的随机数如何生成?

rand($PT)*360

现在将grid换成一个别的模型,这里我用了cube,在houdini里面转换是非常简单的,只需要将连线改一下就可以了

对了,因为cube默认情况下只有八个顶点,肯定不够,增加分段需要这样做,第一步改为mesh,第二步axis控制分段数目,第三步最好将scale改的大一点,不要让小球们都黏在一起

 

 这一步也可以用vex脚本来完成,只需要三句话就可以了,参考这篇文的vex方式

@Cd=vector(rand(@ptnum));   //颜色

@pscale=rand(@ptnum)*5+0.2;   //大小

@orient=vector(rand(@ptnum));   //角度   不用*360

//@orient=@N;  //法线方向

做完这一步的效果:


 

添加随机性

mountain节点可以给模型来点起伏,起伏的大小,粗糙程度以及噪声的模型,都可以调这些参数, 可以自己试试,反正我也玩的不是很明白,回头应该会单出一期讨论一下

然后可以选择让mountain稍微平滑一点(这步是可选的)

添加一个smooth节点

做完这一步的效果


null节点

null节点的作用是过滤掉copy节点里不需要显示的线线,可以对比一下下面两个图,加之前and加之后

 


转为polygon

why?因为低模的计算速度更快,可以代替高模看看效果

连接convert节点就好啦


转为刚体

退出到obj层级,选中刚才做的东西

不要用这两个:

①这个是转单个刚体的

②这个目前不适合用在这里

用这个

并且选择以打包的方式,打包会让houdini省掉一些不需要的属性细节, 用起来会更快,如果之后需要做一些什么碎裂啊等等,这些需要用到物体具体属性的,一般还是用fractured。但是packed也可以解包,所以这里还是选择打包。

 

之后会生成一个AutoDopNetwork,这个就是动力学解算啦,可以点进去看一下

将里面的节点安排成下图这样


解算动画 

按下“↑”开始动画,最后的结果如下

整个geometry中节点树的结构

ps:如果你用了vex应该会连一个attribwrangle

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Karon_NeverAlone

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值