HoudiniVex笔记_P24_ForceBasics力基础

原视频:https://www.youtube.com/playlist?list=PLzRzqTjuGIDhiXsP0hN3qBxAZ6lkVfGDI
Bili:Houdini最强VEX算法教程 - VEX for Algorithmic Design_哔哩哔哩_bilibili

Houdini版本:19.5

1、什么是Force

本章主要讲重力、弹力、速度与质量、摩擦力/阻力、风力、湍流等。
挺简单的,基本都是纯图片记录下,为下一节打打基础。

2、重力与反弹

具有初始速度的小球与地面反弹。eg实现下面这种运动,

eg.节点连接及设置如下,

3、多对象与反弹

上面是单点,这次用多个点/小球。

eg.基本与【2、重力与反弹】相同,只对前面2个节点部分进行删除,新添加部分如下,

拓展:关于碰撞后的反弹方向,
①当碰撞面是水平面时,只需要改变速度的Y方向即可,
②碰撞非平面时,可把速度取反,再绕碰撞面的法线@N旋转180°,
(图片及代码来自知乎@刘鹏云

//与水平面碰撞,仅需将速度的Y值取反值即可
velocity.y *= -1.0;


//与非水平面碰撞
//下面绕法线旋转180°的方式,可以用四元数,也可以用矩阵来表示.@N代表碰撞面的法线.

//使用四元数旋转
velocity *= -1;
vector4 quat = quaternion($PI,@N);
qrotate(quat,velocity);
 
//使用矩阵旋转
velocity *= -1;
matrix mat = ident();
roatate(mat,$PI,@N);
velocity *= mat;

 4、摩擦力等

空气摩擦、风力、加速度。
以下仅单一进行举例,并未将所有力一起进行举例/展示。

先了解下后面需要使用的基本物理公式,

eg.摩擦力、风力等, 

结果:摩擦系数看着给,空气摩擦力结果大概如下(加风力的话,会沿风向漂动),

5、水摩擦力

与上面差不多,只不过多一个判断,判断小球是否已进入水中,进入水后下降的速度大大放缓。
不晓得下一章有没有浮力模拟。

eg.①节点连接及设置,

②解算Solver节点内如下,(代码最后那段,f@pscale应该改为 f@pscale/2才对),

6、湍流

小球往下掉得时候,经过下面这种湍流区域,

eg.①节点连接及设置如下,

②解算Solver节点内如下,(和前面的差不多),

③结果为,小球向下坠落的同时周围散开,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值