第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. 企业项目开发--分布式缓存memcached(3)
  2. 汉堡菜单_开发人员在编写汉堡菜单时犯的错误
  3. 解决: Linux – git: command not found
  4. 手动创建git忽略push清单,node_module以及自身
  5. 6_机器翻译与Seq2Seq模型
  6. Android编译系统介绍
  7. Word 如何设置空白页
  8. [论文笔记]MACHINE COMPREHENSION USING MATCH-LSTM AND ANSWER POINTER
  9. CentOS7 Docker 安装 PHP,Mysql,phpmyadmin
  10. 启明星数据库批量备份与还原工具
  11. 雾霾的结构化责任主体
  12. 原子结构示意图全部_原子结构示意图大全
  13. 企业上云是什么意思?企业上云的好处是什么?
  14. javascript提取顶级域名 js获取一级域名
  15. 游戏制作之路(3)Blender制作极简动画
  16. 语法长难句——并列句
  17. 各大浏览器兼容性报告 IE、FF、Safari、OP不同浏览器兼容报告
  18. Cognitive Complexity of methods should not be too high Refactor this method to reduce its Cognitive
  19. tensorflow: bn层 的 decay参数项
  20. 关于自学编程,这些秒办法助你一臂之力(全文干货,建议收藏)

热门文章

  1. 学习中常用T-CODE备忘
  2. 赛元微 SC92F8003 UART0收发数据
  3. Windows 内网渗透之委派攻击
  4. 高德地图提示md5安全码未通过验证for android
  5. 农村小学计算机室黑板布置,微机室黑板报图片
  6. 2021015979李庚奇实验八
  7. 湖南大学STC学习板导航键的使用
  8. html js清除画布文字,利用canvas的fillText属性绘制文字并实现居中和清空画布
  9. flyme7的Android版本,Flyme开始适配Android 7.0,首批就支持这么多机型
  10. 个人职业生涯的战略思维