houdini-关于SOP forces 设置与使用

在制作物体破碎时,我最开始的初步接触,想法很简单,就是只有物体撞到了,才会产生破碎和速度方向,后来参考了一些教程,发现在ihoudini中其实可以给破碎制作力或者说是场,下面来记录我刚学到的一个简单的方法。

首先给物体一个大致的破碎,并用Glue constraint作为约束。我就破了一小块地方,动力解算时也只激活组内的碎块。

    

制作破碎是由于将碎块全部都primetive了,所以每个碎块都是一个点,在摆放一个sphere,通过Pointvop,用每个碎块的点的位置减去sphere点的位置,算出距离,再将这个向量法线规整化,连到输出端的法线N,此时,可以明显的看到法线方向,也就是我做的力的方向。

由于每个点的位置不相同,所以每个点与sphere的距离也不相同,可以通过length计算出它们的长度,通过fIt成0-1,然后输入到一个渐变中,控制力的衰减,目的就是限定受到力影响碎块的范围。将规整后的法线和长度渐变后的法线通过Multiply相乘,连接到输出端的V,这样,SOP force就出来了。

接着完善细节,给Multiply连接两个parameter,一个用来确定力的作用与否,也就是01的区别,另一个就是与本身的速度相乘,给速度一个倍增或者倍减。pointvop节点图如下:

如何让这个速度影响dop解算呢?

在动力学解算中,使用multisolver,用sopsolver导入速度,删除墙体以外的物体,传递力给物体,使力只能影响墙体碎块。如果需要改变力的方向,只需移动球体位置,这点还是挺方便的。

P.S:第一次用博客记录自己的学习,希望能一直前进下去。博客也能一直更新下去。

时间: 2024-10-15 18:51:28

houdini-关于SOP forces 设置与使用的相关文章

java特殊对象及其应用2(时间计算)

/*Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR.MONTH.DAY_OF_MONTH.HOUR 等 日历字段之间的转换提供了一些方法 并为操作日历字段(例如获得下星期的日期)提供了一些方法. 瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量. */ import java.util.Calendar; /* * 练习: * 1.获取任意年的二月有多少天. * 2.获取昨天的现在这个时刻.

[Java视频笔记]day20

File类 1. 用来将文件或者文件夹封装成对象 2. 方便对文件与文件夹的属性信息进行操作(流只能操作数据) 3. File对象可以作为参数传递给流的构造函数 File类常见方法: 1. 创建 boolean createNewFile();在指定位置创建文件,如果该文件已经存在,则不创建,返回false.和输出流不一样,输出流对象一建立就创建文件,而且文件已经存在,则覆            盖. boolean mkdir():创建文件夹 boolean mkdirs():创建多级文件夹

Houdini设置

关闭网络编辑器动画 Animate network changes 平移时保持视口枢轴 Maintain Viewport Pivot when Panning 通知帮助提示将出现在Houdini的状态栏而不是视窗 原文地址:https://www.cnblogs.com/fooldrifter/p/12002966.html

Houdini + TouchDesigner + leapmotion 分分钟做出钢铁侠的体感交互效果

接触touchdesigner已经有一段时间了,虽然教程确实非常有限而且很难找到深入的主题,但好在和houdini同根同源很多思路都是可以直接套用的,学习过程目前还没遇到特别难理解的问题. 今天我来讲一讲最近尝试的一个交互实验,目的是想了解touchdesigner到底有多灵活,结果很明显它的能力和Houdini形同手足.如果说Houdini是一个城府很深,每一步都要深思熟虑的老大哥的话,Touchdesigner则有点像一个事事都急于表现,任何精彩的点子都藏不住的小弟.一个是用时间精雕细琢,一

Houdini 中Volume Retiming 放慢速度的方法

阅读这篇博客读者可能需要对体积的概念掌握程度比较高,如果因概念不太熟悉而造成阅读中身体不适的,还请回头自行补课. 设计这个解决方案的原因主要是有些镜头中的烟火效果可能形态很好但就是觉得速度需要放慢点.而恰恰Houdini自带的retiming方法做插值的话是会出现类似鬼影的问题,常常结果是不能用的.昨天通过挪威同事指点后,自己也做了一个方案,这里讲讲我的思路. 首先是效果: 从图中可以看出,虽然用这个方法仍然不能避免抖动的存在,但是整体过渡确实缓和流畅多了,传统方法效果是整个烟雾不论速度快的还是

Houdini和Touchdesigner中实现场力与弹力的相互作用

最近一直在研究怎样怎样将程序化特效和动画从houdini中转移到touchdesigner中,前段时间拿着了leapmotion做开发,自己一个人自娱自乐也快玩疯了. 今天讲一讲从法国一个虚拟交互舞团某个场景中得到灵感,设计一个简单的通过斥力和弹力混合出来的平衡场效果. 首先看一看人家在舞台上达到的是个什么效果: 在应用之前,先讲一讲我通过这个视频看到的原理. 人物的运动提供了一个位置信息P,也许群体运动的那个画面中提取了运动的速度或者加速信息,这里先不做复杂的讨论.画面中的每个点pt与上述提供

Exchange 2013迁移SOP手册

Exchange 2013迁移SOP手册 阶段1:环境部署 OUTLOOK升级方式 统计版本低于SP3的OUTLOOK客户端信息 记录计算机在域中所在OU信息 域中创建临时升级用OU,如MAILUPGRADE 采用如下命令移动计算机到MAILUPGRADE OU dsmove "CN=Aidong Qi,OU=Users,OU=TESTP,OU=Hitech,DC=hitechad,DC=com" -newparent OU=MAILUPGRADE,DC=hitechad,DC=com

Houdini中给火花渲染准确的运动模糊 - 给运动模糊做非线性差值的方法以及固定粒子点数的方法

估计大家都知道使用运动速度来进行运动模糊的渲染,但是往往这个方法得到的运动模糊都是线性变化的,虽然乍一看没什么问题,但是如果想要每一帧的模糊轨迹也是有曲线变化的而不是僵硬的直来直去的话,使用trail算个速度来做的运动模糊是永远做不到这一点的. 这里我想通过常用的火花(spark)的运动模糊来讲一讲我所了解的一些比较好的方法. 所谓渲染中的运动模糊无非就是差值算法.目前使用的比较多的主要有两种.第一种就是上面说到的直接使用速度来线性差值,这种方法会计算每一个点的速度方向,计算出前一帧或者后一帧的

Houdini中总结Volume Lattice的方法

这两天挪威大神不在,感觉有点寂寞.刚刚学习完他的一个牛逼工具Volume Lattice.鉴于他直接把这个工具已经拿到Orbolt里面卖钱了,我在这就只讲讲自己的学习理解,代码什么的就不在这上了,何况要是理解了方法其实零代码也能够自己实现出来.这里是他的工具连接,给这位牛逼的外国师傅做做广告:Volume Lattice 效果图: 这个工具的思路主要是使用点云来代替voxel,通过拉伸点云之后,求出每个点的位移向量,再把这个向量值转变为体积,最后使用这些向量来计算density新的位置. 制作步