第060封“情书”:相对论 20180507 Quicktip- Signed Distance Outlines<Entagma>Houdini 2018 

▉ 中国是地球上的C位,所以叫China。— 每天翻译一篇教程,这就是我写给houdini的情书。【首发于同名公众号:“致houdini的情书”】

没有绝对的C位:太阳是太阳系的C位,但在银河系里也是边缘地。

前言不搭后语:

心理学上说过,人类有种本能的渴望,那就是:被看见。20岁左右曾非常向往过这种感觉,万众瞩目众星捧月的感觉。

后来在行业内也曾意气风发过一段时间,也有种C位的感觉。但是也是在严重透支精力和体力的情况下。之后各种原因慢慢的淡出了各种圈子,直到完全与整个圈子脱节。住的地方从三环边到四环边,从四环边再到五环边,现在到六环边上。

空间上,职业上似乎越来越偏离了中心。但有些东西只有我知道,自己从未偏离过方向,一直在向着心中那个舞台中心走去。

因为通往罗马的道路不止一条,有的人早早出发,有的人睡过了头。有的人成群结队,也有的人孤身一人。有的人翻山越岭,有的人跋山涉水。路上会发生很多事情。谁都不能保证,自己的方式就是通向心中之城的唯一方式,我们同是人生的探索者,没有高低之分,对错之别。

今天这节内容:

如何快速在一平面建立物体的轮廓圈或涟漪

这一节要实现的效果
.....


▉今天是42岁第035天周四

这是写给houdini的

第061封“情书”

我是geo流程图

我是poinvop流程图



本节需要注意的知识点:

1

如何快速在grid上用体积场置换轮廓圈 

1) 首先建立几何体的体积场


使用isooffset把几何体转成SDF体积场

2) 然后把“体积场”数值映射到grid上。


通过attributefromvolume节点映射成Cd属性(一个从中心向外扩散的线性颜色渐变)

3) 将Cd渐变转换成y轴的位移置换


a)Cd转浮点:分量1输出给quareroot平方根节点,使数值有种抛物线变化效果。

b)再fit扩大映射一下输出最大值

c)sin节点,取得涟漪效果;

d)浮点转矢量,接Y接口;然后加到P上;

此时是没有衰减且幅度过大; 

e)通过Cd转浮点给fit,映射输出从0.037~0,结合multiply,得到向外扩散振幅逐渐衰减效果。

2

更有效率的对体积场进行空间转换

1) 在创建 volume之后加入transform2。

2) 再在外部加入另一个transform3连接建立volume之前的transform,关联控制transform2。

3) 然后两者合并。这样操作transform3会及时反馈。

3

利用涟漪波峰在材质中作为蒙版

1)直接sin节点输出bind:命名mask

2)在材质中调用这个属性。

接下来

开始正式制作

使用软件houdini16.5 

1:创建几何体的体积场

1)font1 // 随便一个字母

2)divide1  // 分割 多边形

3)polyextrude1  // 挤压 = 0.2 ;勾选背面

4)transform1  //  x选择90;缩小为0.5

5)isooffset1  // 转为场;类型:SDF Volume


场的棕色框:为后面计算 与网格的相交范围。

扩大一下边框的范围。

勾选 √ Override Bounds

6)volumeslice1  //  视觉化场;plane:xz平面

勾选overrides:之前

之后:这就是整个体积的大小


1 颜色显示的是刚刚创建的体积,颜色编码体积的值,

2 距离场是围绕物体表面的函数,它编码每个点到表面的距离。

3 红色代表值非常大,越靠近字体表面的点值越小;

4 在表面上的值=0,字体内部体积值为负值;

2:如何将volume的值置换grid

7)grid1   //  size:2*2; 长宽网格:200*200


原因)因为,我们希望用SDF的值置换Gid。

所以)需要,将volume的值转移到grid上;

8)attributefromvolume   //

默认:转移Cd属性


1现在创建轮廓,使用Cd来置换Grid。创建很多一圈圈的轮廓。

2 我们这里只有“梯度”使用pointvop来处理volume场。

3 使用浮点值,替换颜色矢量。

8)pointvop   //

8-1)  vectofloat1    // 矢量转浮点


因为这里“距离场”的值是线性增长的,不使用这种渐变方式。

需求)我们希望产生轮廓圈效果,并且靠近字母的“轮廓圈”间隔小,越远离间距越大。

方案)

1)使用“平方根”函数重新映射这个范围值得到一个有层次的变化过程 。

平方根函数的起始位置速度很快,然后慢慢趋于平缓,是一个旋转过的抛物线,

2 )使用sin函数,得到周期性的多层轮廓效果。

8-2)Square Root   //  连接矢量输出接口1

8-3)Fit  //  重映射体积场的取值范围


a)最小值从距离表面0.08处开始 ;

b)最大值重新映射更大范围;

c)我们需要的最大值要远远大于1,比如=90

8-4)sine  //  正弦sin节点来置换grid表面

8-5)floattovec1  //浮点转矢量

8-6 )add   //输出连接Cd


输出范围-1~1,置换距离太大

8-7)mulconst1

8-8)constant  //乘0.02


问题)涟漪置换效果没有衰减。

解决)使用fit节点,替换常数节点

8-9)  fit2      // 连接Cd的一个浮点分量


重映射输出范围

a)最小值=0.123 ;

b)最大值=0;

c)降低最小值=0.037;

d)增加grid的分辨率:500*500;

3进阶效果:有效率改变几何体位移

1)如果改变transform来产生动画等等效果,isooffset每帧都要进行计算,会非常缓慢。

2)而如果改变volume,则会快很多。

3)所以在isooffset之后,进行transform,它就会实时更新。


10)transform2   //

11)  transform3   // 关联“位移”&“旋转”通道给节点<10>来控制它。

12)  merge   //

13)color1   //

14)  smooth  // 平滑;strength = 100

4进阶效果:使用gradient影响shading

8)pointvop


利用gradient属性,使sin节点直接连接输出Cd,可以看到sin影响效果;

8-9) bind     // 连接sin输出;Name:mask

在shading中使用这个mask属性 作为蒙版;这个mask属性和gradient合并制作shading。

今天就到这儿了,收功

教程翻译自entagma的网络教程

下一节:20180521 Building Constraint Networks For Rigid Body Simulations

本文图片全部原创,版权归原作者所有

第060封“情书”:相对论 Signed Distance Outlines Houdini相关推荐

  1. 第015封“情书”泥什么意思?houdini Mandelbrot曼德布罗特集合)

    第015封"情书"泥什么意思?houdini Mandelbrot曼德布罗特集合 自定义的mandle三维函数 A1)二维公式-函数定义部分: 1)mandel分型二维化公式 2) ...

  2. signed distance field 算法

    将二值图转化成signed distance field后,可以在双线性插值下实现平滑放大. 定义: 到前景的distance field:各点到最近前景点的距离. 到背景的distance fiel ...

  3. 蝙蝠侠一键改udid软件_对于您的第一个HTML代码,让我们帮助蝙蝠侠写一封情书...

    蝙蝠侠一键改udid软件 by Kunal 由Kunal 对于您的第一个HTML代码,让我们帮助蝙蝠侠写一封情书 (For your first HTML code, let's help Batma ...

  4. DeepSDF : Learning Continuous Signed Distance Functions for Shape Representation

    作者提出了一个新的深度学习网络来生成某一类物体的连续SDF表示.主要贡献:  1. 相较于传统的SDF只能表示某一个形状的隐式表示,DeepSDF可以直接表示一类物体的SDF函数.所谓shape co ...

  5. Truncated Signed Distance Function: Experiments on Voxel Size

    论文:Truncated Signed Distance Function: Experiments on Voxel Size 简称:TSDF 作者:Diana Werner等 时间:2014 相关 ...

  6. 第075封“情书”:百撕不得其解Tearing Cloth<Entagma>Houdini 2018

    ▉通往自由的路上充满了撕扯狡诈,与阴谋,难道"卑鄙是卑鄙者者的通行证"是真的?- 每天翻译一篇教程,这就是我写给houdini的情书.[首发于同名公众号:"致houdin ...

  7. Godot 4.0中的基于有向距离场SDF(Signed Distance Field)的实时全局光照技术

    原文地址 Godot官网 <Godot 4.0 gets SDF based real-time global illumination> 作者 Juan Linietsky 6月28日 ...

  8. 详解DeepSDF: Learning Continuous Signed Distance Functions for Shape Representation

    Reference: Park J J, Florence P, Straub J, et al. Deepsdf: Learning continuous signed distance funct ...

  9. 第077封“情书”:弯弯绕<Entagma>Houdini 2018

    ▉ 我命硬学不会弯腰- 每天翻译一篇教程,这就是我写给houdini的情书.[首发于同名公众号:"致houdini的情书"] █命运,就算你想尽一切办法,也休想压弯我追求理想的执着 ...

最新文章

  1. 生产者/消费者问题的多种Java实现方式--转
  2. Python的scrapy框架POST方式爬虫时碰见__VIEWSTATE和__EVENTVALIDATION的参数处理
  3. Github上排名前五的开源网络监控工具
  4. 重学TCP协议(5) 自连接
  5. MySQL修改,表结构大幅修改
  6. python pytest框架
  7. 用浏览器管理 Docker
  8. 计算机内存条如何区分频率,什么是内存条的频率? 怎么看内存条频率?
  9. 个人网站设计需求分析
  10. 同一个PDF如何同时在两个窗口并排显示?
  11. 网上商城SSH三者间的牵线
  12. python课程设计矩阵对角线之和_Python二维数组实现求出3*3矩阵对角线元素的和示例...
  13. Microsoft office 2007 word PPT 转pdf的插件
  14. 利用pot播放器将视频的音频文件抽离。
  15. android上传单个或多个文件
  16. 微信小程序实现一个简单的表格
  17. 下列网站服务器位于北京的是什么,北京教育网dns服务器地址
  18. 实例解析MySQL性能瓶颈排查定位
  19. python笔记5:向量化运算
  20. 燕山大学计算机网络三级项目-(多功能会议室)

热门文章

  1. 高德地图点聚合插件AMap.MarkerClusterer报错Uncaught TypeError: Cannot read properties of null (reading ‘Md‘)
  2. 圣诞节送朋友什么蓝牙耳机比较好?高颜值蓝牙耳机
  3. Python-OpenCV图像处理教程
  4. 全球与中国硅树脂注塑机市场深度研究分析报告
  5. SiriKit 编程指南
  6. 《快学Scala》第14章——模式匹配和样例类 学习笔记
  7. HomeKit 智能家居
  8. shell判定文件夹下存在某种类型的文件
  9. 〖Web全栈开发①〗—网络编程基础(上)
  10. 编译GCC遇到的“pthread.h” not found问题