第099封“情书”:天下无不散之筵席Volumes101-DissolvingGeometry<Entagma>Houdini

本文主要是介绍第099封“情书”:天下无不散之筵席Volumes101-DissolvingGeometry<Entagma>Houdini,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

可知世上万般好,好便是了,了便是好。若不了,便不好;若要好,须是了。 — 每天翻译一篇教程,这就是我写给houdini的情书。【首发于同名公众号:“致houdini的情书”】

+c9a6050c.jpg

█ 天下无不散之筵席  ”

前言不搭后语

     如果聚会永不场,你可能会由兴奋变的很疲惫。如果太阳永远挂在天上,如果人能永生,结果可能是更大的噩梦。

    人们期望的永恒,完美也许只是一场叶公好龙,真正实现你的愿望时可能会让你大失所望。

    所以大自然的四季轮回,新陈代谢、有始有终的法则,才让我们有了各自存在的价值。

    也许,一切都是最好的安排。

本节内容

使用“速度场”来推动vdb来制作溶解效果 


本节要实现效果
.....






Volumes101-Dissolving Geometry2.png

今天是42岁
072周六

99
这是写给Houdini的第099封“情书”


我是geo流程图

image.png

我是volumevop流程图

image.png

首先
制作步骤

小节提要

A

01

创建速度场

B

02

调整速度场的变化

C

03

advect调用速度场

接下来
正式制作
使用软件:houdini17.5


0 1 创建速度场


○ 节点 ○




○ 主要问题 ○

缩放向量的长度影响geo的一边而不影响另一边

○ 解决方案 ○

1)假设有一个geo,只希望它的一部分受影响。沿着几何体的长度,速度场从0开始逐渐增强。

image.png

2)可以使用在这个边界框中所谓的相对位置。来驱动速度向量的长度

   ○ 执行 ○

    1)file:导入一个几何体文件。

image.png

    2)转成fog体积:vdbfrompolygon。

        a)volex size=0.01

        b)勾选 Fog  VDB :density.

        c)勾选Fill Interior。

    3)确保每个voxel值=1 :volumewrangle

f@density = 1.0;

    4)可视化体积:volumevisualization:

        a)密度 Density Scale=100 

image.png

   ○ 创建速度场 ○

在向量场中储存“速度向量”,速度向量的方向长度决定advect节点沿着哪个方向和移动多远。

❖创建一个比几何体大一点的volume❖

 5)bound       

    a)lower padding:0.6*0.6*0.6

    b)Upper padding:0.6*0.6*0.6

6)vdbfrompolygon

    a)voxel size=0.01

    b)fog VDB=density

    c)Fill Interior  

○ 小问题 ○

储存一个density的浮动值。但我们需要储存一个速度,是一个矢量体积。   

❖把一个浮点vdb转矢量vdb❖

7) vdbanalysis:

    a)使用gradient梯度;b)自定义输出速度属性vel;c)它创建了梯度,不需要,但它也创建了矢量速度场velocity volum;

image.png

image.png


0 2 调整速度场的变化 



○ 节点 ○




❖  噪音速度矢量 ❖  

8)volumevop:

  8-1)curlnoise:

        a)外置参数type;frequency;offset;amp;rough;atten;

image.png

    8-2)bind export:输出速度vel属性。


❖  视觉化速度场 ❖ 


9)grid :size=3*3;行列=30*30。

10)速度场轨迹 volumetrail:grid上充满了速度场

image.png


❖  但是左右速度场长度相当  ❖

我们希望左边的长,右边的短        

? 解决方案 ? 

    a)file文件连接“volumevop”“接口2”

    我们想要利用这个几何体边界框检验bound几何体的边界框。

 8-3)  relative to Bounding Box:

      a)file连接opinput2输出口:

      b)P连接P输出:

           ○ 比较一下geo的几何体与当前voxel的position

           ○ 返回一个矢量值(0,0,0)到(1,1,1),这取决于在geo的边框里的位置。

 ❖ 当前我们需要 在z轴操作;分离出z轴 ❖

 8-4)  矢量转浮点:vectortofloat    

  8-5)  z轴缩放:multiply:

        a)curlnoise连接input1;

        b)联合vectotofloat连input2;

image.png    

❖ 小问题 ❖ 

   ❖ 当前速度场变化不大 ❖ 

? 解决方案 ? 

10)修改激活方式: volumetrail

        Advection Meshed=Advect

image.png

❖ 小问题 ❖ 

   ❖ 左边过了geo,速度场又变长 ❖

因为在“geo的边界框”外相对于“bound边界框”会返回负值。所以值一直下降为负

? 解决方案 ? 

8-6)钳制0~1:Clamp

image.png

❖ 小目标 ❖ 

   ❖ 调整速度矢量的长短变化幅度 ❖

? 解决方案 ? 

8-7)斜坡 :ramp

image.png





0 3 advect调用速度场



○ dopnet内部节点 ○


❖ 具体操作 ❖

11)vdbadvect :

    a)“接口1”接“密度”; b)“接口2”接“速度场”image.png

○ 视觉化密度:连接“volumevisualizetion”

❖  小问题 ❖

   ❖ 密度场变形,但幅度很小 ❖

? 解决方案 ?

因为advect是按照时间步幅Timestep产生变化, 

b)去掉表达式  timestep:

        ○ 0.2产生变形。

        ○ 0.5变形幅度更大。

image.png

❖  小问题 ❖

❖volume有些分离❖

? 解决方案 ?

a)因为只运行了一次,这么大的变形距离一次是不够的的

b)我们要在substep子步骤中对速度量进行采样,补齐中间脱离的步骤。

○Sub-steps=8

image.png

8)volumevop : 

image.png

11)vdbadvect :

image.png

❖  小问题 ❖

   ❖ 变形密度场碰到边界框界限 ❖

? 解决方案 ?

    ○ 增加bound的z轴:

        Lower Padding=1*1*0.6

        Upper Padding=0.6*0.6*1

image.png


❖ 番外 ❖

可以用文字替换file节点,生成这种溶解的艺术效果

image.png


封面图片7.jpg
交流群: image.png

公众号:微信图片_20190607085947.jpg微信号

这篇关于第099封“情书”:天下无不散之筵席Volumes101-DissolvingGeometry<Entagma>Houdini的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/531723

相关文章

简单梳理UE4的Houdini官方插件代码

前言 Houdini官方插件名字叫 “Houdini Engine”,它搭建了Houdini数据与UE4数据间的桥梁。我接触这个插件已经有段时间了,我想是时候梳理一下插件的结构了。(当前我用的UE4版本是4.24.2,Houdini版本18.0.348) 需要说明的是,这篇博客主要是从代码出发的。我准备先分析插件整体的代码结构,再逐个翻阅每个文件试图搞明白他角色。但如果不准备研究代码结构和实现

简单盘点编程在Houdini游戏开发中的用武之地

概括 Houdini作为一个程序化为主要思路的工具,不出意外地在很多地方支持用代码来描述自己想要的行为。这篇博客简单盘点了我目前了解到的,编程在Houdini开发(特指游戏开发)中的用武之地。 概括讲,可以分为三部分: Houdini编辑器内。一般只服务于Houdini自身。Houdini Engine游戏插件。例如它为UE4、Unity都提供了插件,其目的是方便将Houdini中的数据和游戏

试用 Houdini Engine Python API

介绍 hapi 这个python包 是HoudiniEngine的一层python封装。 使用python的优势是灵活性,因为C代码总需要编译,使得迭代较慢。 Tips: hapi中的内容总可以查阅HoudiniEngine的文档,因为概念和函数是相同的。 使用环境 1. Houdini编辑器内:Python Shell 在其中可以 import hapi: 2. Houd

翻译Houdini官方对UE4新版插件的介绍:Houdini Engine for Unreal - V2

原视频:Houdini For Unreal - YouTube 目录 介绍0. 总览1. 简介HoudiniEngine2. UE4的HoudiniEngine - 第二版为什么要做“第二版” ?What's new? - 核心What's new? - 输出(1)What's new? - 输出(2)What's new? - 输入What's new? - 参数What's new?

Houdini的参数预设(Preset)功能

功能 Houdini中,可以将节点的参数值存为一种预设: 操作 点击参数面板的小齿轮按钮,选择Save Preset即可将当前的参数保存为一种预设 接下来的窗口可指定预设的名字。而Save Preset To的选项可以指定当前预设存放的位置,可以选择仅让其在当前HIP目录中有用。 Tip: 根据 官方文档:Save Preset window 所描述,Save Preset To

小工具:输出Houdini里节点间参数的差别

需求 节点的参数影响了节点的行为。因此对于节点使用者来说,比较节点间参数的差异就可以明白其行为的差异了。 然而有些节点的参数数量实在太多,比较其参数间的差异会比较麻烦,在没有工具的情况下只能来回在节点间跳转才能比较出参数的不同。 我想,其实可以使用Houdini的Python模块写代码来自动比较并输出不同,这并不麻烦。最后如果能输出更易于阅读的格式(比如csv表格,或Markdown表格语法

弦歌创投基金:与有识之士道济天下,实现价值

20世纪90年代,互联网的浪潮在中国兴起,时代精英们审时度势,精准抓住了此次时代赋予的红利,及时入场,一众大名鼎鼎的领军人物们由此诞生。然而,随着互联网+的不断普及和发展,这个领域的红利也日渐殆尽。若想成功突围,就必须找到新的方向和契机。   进入21世纪后,区块链这一新兴行业就开始慢慢的走到舞台中央,以其迅猛的发展趋势不断吸引着众多投资者的商业眼光。近年,“区块链+”一词逐渐出现在人们眼前。

【大模型项目实战】练完这些项目,天下没有再难倒你的大模型

LLM的应用场景不是独立的,而是和其他业务结合生成的新智能服务,这就是为什么多练习大模型项目如此重要。而理解了这点,也就知道了大模型应用的潜力有多巨大。 练习项目不仅是对原理和概念的加深理解,更是对如何结合业务,业务逻辑的深度理解。要落到实际的应用场景,肯定需要对应用场景本身有足够的了解。而要理解场景,需要对大模型有足够的知识积累和实战经验。这就是为什么多练大模型项目如此重要。 这些项目不仅收

一首属于程序员的情书。。。。。

我能抽象出整个世界... 但是我不能抽象出你... 因为你在我心中是那么的具体... 所以我的世界并不完整... 我可以重载甚至覆盖这个世界里的任何一种方法... 但是我却不能重载对你的思念... 也许命中注定了 你在我的世界里永远的烙上了静态的属性... 而我不慎调用了爱你这个方法... 当我义无返顾的把自己作为参数传进这个方法时... 我才发现爱上你是一个死循环... 它不

“肯将玉钳作双戟,一舞天下定乾坤。”记唐铎《墨龙图》之中的笔墨画意

唐铎,1957 年生于北京,国家一级美术师,曾先后师从于刘文西、黄申发老师,原名唐京鸣,京城人士,取其名,不鸣则已,一鸣惊人之意,学画三十余年,专注于齐派虾蟹,近十年已臻化境。中国美术学院教授卢炘老师曾赞曰:“笔墨大境界,墨趣通石翁。” “看似容易,实则极难,画得活,则虾之生命自出;画僵了,也就失去了生命,虾续的线条似柔实刚,似断实连,直中有曲,乱小有序,纸上之虾似在水中嬉戏游动,触须也