第100封“情书”:不完美生活Volume Displacement Shader<Entagma>Houdini 2019

本文主要是介绍第100封“情书”:不完美生活Volume Displacement Shader<Entagma>Houdini 2019,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

月盈则亏,水满则溢,任何事都是物极必反。凡事留点余地,留点瑕疵。— 每天翻译一篇教程,这就是我写给houdini的情书。【首发于同名公众号:“致houdini的情书”】


█ “美人

前言不搭后语


完美生活

  虽然今天是日更第100篇,也是第100天,但中间断过2次,第一次操作失误,12点左右连着点击两次发送,第二次是的确是没做完,过后,连着补了2篇。说好的日更100天,功亏一篑,食言,各种负面情绪都涌上心头。

   就这样险象环生的到了100天,我不禁开始回想我为什么要日更,日更的意义到底是什么?

  也许它并不是字面上的意思。不管遇到什么困难都要克服,然后继续坚持,而这个困难之中我开始居然没意识到也包括“断更”这个困难。而这才是真正击倒很多人原因。战胜别人容易,战胜自己却很难。接受不完美的别人容易,接受原谅不完美的自己很困难。很多人都是倒在不能接受不完美的自己有些瑕疵的事情上。就像记日记,并不一定真的是每天都记,而是要养成记日记的习惯。有瑕疵的日更100天让我更有自信,我已养成这种坚持去做任何事的习惯,而且已经上瘾。

    接受不完美的生活,和不完美的自己。原谅自己跟自己和解,放自己一条生路,然后让它继续发挥它自身的能量。这就是我的完美生活

    道理都懂,我也仍在练习,去接受不完美也不优秀的自己,虽然还有心魔。

    从今天开始,本公众号开始翻译一些收费大师课,实行自助餐模式,一篇翻译文章赞助费1元,一份工程文件及视频2元。不一定日更。会有章节的知识点简介。每篇翻译的视频在20分钟左右,所以长的教程根据此时间长度进行分割。个人可根据自己的情况各取所需,不需不取。你看或不看,它就在那里。

本节内容

使用相机投射置换&贴图体积


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







今天是42岁
073周日

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


我是geo流程图

image.png

我是mat材质流程图

image.png

首先
制作步骤

小节提要

A

01

体积文件导入&设置

B

02

体积置换

C

03

体积的相机投射贴图

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


0 1 体积文件&设置


○ 节点 ○

image.png


○ 操作 ○

⚪ 导入fog volume文件

    1)导入上一节制作的bgeo文件:  file 。

    2)可视化:volumevisualization。

    a)提高密度:Density Scale=100,

image.png

⚪ 设置mantra

image.png

 ⚪ 增加camera

⚪ 环境光+HDR


0 2 体积置换



○ 节点 ○



❖  操作 ❖ 

01)materialbuilder 

⚪ 小目标1 ⚪

    ⚪引入密度属性

❖ 操作 ❖

01)引入密度属性 bind :Name=density 

02)体积着色器 volumeshadercore1:

    a)smoke color驱动体积的贴图和颜色

image.png

03)连接surface_output

image.png

⚪ 小目标2 ⚪

    ⚪“当前坐标空间”转“相机坐标空间”

    ⚪  为texture生成uv坐标

    ⚪  贴图置换体积

❖ 解决方案 ❖

 04)导入一张图:colormap1


❖ A 转相机坐标空间 ❖

❖改变体积“位置P”为相机坐标空间❖

05)transform:volume中的表面的位置矢量,转换成一个处于相机试图的相对位置 。

image.png

image.png 

B 为贴图生成uv坐标(重点)

06)乘:multiply

07)重复因子:const  浮点

08)适量转浮点:vectofloat1:

    连接colormap的uv:x对应u,y对应v;

04)导入一张图colormap1

image.png


❖ C 贴图置换体积 ❖

? 解决方案 ?

1)volume原始表面位置P + 2)贴图亮度值  

1 求色彩平均值

09) average Vector Component : 接入“色彩矢量”转成浮点

image.png

2 P转世界空间坐标

10) transform3:  而不是相对于object的空间坐标

image.png

 10) add: 

 11)缩小位移 mulconst: 

image.png

3 转回当前坐标系统

12)转回空间坐标:transform4 

image.png 13a)最后输出P:displacement_output

4 连接法线

 13b)N连接 “displacement_globals”输出N

image.png


02)体积着色器 volumeshadercore1:改回白色

⚪ 小目标3 ⚪

    ⚪增加密度属性

❖ 解决方案 ❖

01)扩大映射范围 fit1 : 

image.png

image.png

❖ 小问题 ❖

贴图置换并没有起作用

❖ 解决方案 ❖

12)增大“缩小置换” 12)mulconst1 := 0.5

image.png


? 为体积增加贴图 ?

camera map texture 


0 3 体积的相机投射贴图

❖ 方案 ❖

⚪设置volumeshadercore节点 ⚪colormap节点驱动密度色彩

? 操作 ?

   

image.png

image.png

❖ 小目标 ❖

增强贴图色彩对比度

❖ 解决方案 ❖

⚪ colormap乘一个常量:

14)增强色彩 mulconst2:= 0.2  

因为连接的是体积的密度,所以密度值越大,光越被吸收颜色越少,值越小,颜色越多。


mantra节点

⚪ 增加“volume Limit”

image.png

image.png




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

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



这篇关于第100封“情书”:不完美生活Volume Displacement Shader<Entagma>Houdini 2019的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

【LeetCode热题100】前缀和

这篇博客共记录了8道前缀和算法相关的题目,分别是:【模版】前缀和、【模版】二维前缀和、寻找数组的中心下标、除自身以外数组的乘积、和为K的子数组、和可被K整除的子数组、连续数组、矩阵区域和。 #include <iostream>#include <vector>using namespace std;int main() {//1. 读取数据int n = 0, q = 0;ci

word转PDF后mathtype公式乱码以及图片分辨率降低等一系列问题|完美解决

word转PDF后mathtype公式乱码以及图片分辨率降低等一系列问题|完美解决 问题描述 最近在投一篇期刊论文,直接提交word文档,当时没有查看提交预览,一审审稿意见全是:公式乱码、公式乱码、乱码啊!!!是我大意了,第二次提交,我就决定将word文档转成PDF后再提交,避免再次出现公式乱码的问题。接着问题又来了,我利用‘文件/导出’或‘文件/另存为’的方式将word转成PDF后,发现公式

牛客小白月赛100部分题解

比赛地址:牛客小白月赛100_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A.ACM中的A题 #include<bits/stdc++.h>using namespace std;#define ll long long#define ull = unsigned long longvoid solve() {ll a,b,c;cin>>a>>b>

开发高质量的java代码;实现完美的人生

一、代码质量差表现在哪些方面: (1)可读性:函数命名随意,实现逻辑混乱,代码格式不规范。 (2)可靠性:程序运行不稳定,bug太多。 (3)维护性:代码逻辑没有层次,混成一团,很难维护改进。 (4)移植性、重用性:许多人写的代码,只能自己使用,很少有能共享的功能性代码。 (5)高效性:很少从算法、资源占用、执行效率等角度去考虑,经常导致软件性能问题。 二、解决方法(个人角度) (1)要

牛客小白月赛100(A,B,C,D,E,F三元环计数)

比赛链接 官方讲解 这场比较简单,ABC都很签到,D是个不太裸需要预处理的 B F S BFS BFS 搜索,E是调和级数暴力枚举,F是三元环计数。三元环考的比较少,没见过可能会偏难。 A ACM中的A题 思路: 就是枚举每个边变成原来的两倍,然后看看两短边之和是否大于第三边即可。 不能只给最短边乘 2 2 2,比如 1 4 8 这组数据,也不能只给第二短边乘 2 2 2,比

诺瓦星云校招嵌入式面试题及参考答案(100+面试题、10万字长文)

SPI 通信有哪些内核接口? 在嵌入式系统中,SPI(Serial Peripheral Interface,串行外设接口)通信通常涉及以下内核接口: 时钟控制接口:用于控制 SPI 时钟的频率和相位。通过设置时钟寄存器,可以调整 SPI 通信的速度以适应不同的外设需求。数据发送和接收接口:负责将数据从主机发送到从机以及从从机接收数据到主机。这些接口通常包括数据寄存器,用于存储待发

SQLException: No Suitable Driver Found - 完美解决方法详解

🚨 SQLException: No Suitable Driver Found - 完美解决方法详解 🚨 **🚨 SQLException: No Suitable Driver Found - 完美解决方法详解 🚨****摘要 📝****引言 🎯****正文 📚****1. 问题概述 ❗****2. JDBC 驱动程序的工作原理 🔧****3. 错误的根本原因 🕵️**

多个线程如何轮流输出1到100

多个线程如何轮流输出1到100的值 这个面试问题主要考察如何让线程同步,首先线程同步必会用到的就是互斥锁,互斥锁保证多个线程对数据的同时操作不会出错。但是线程同步还会用到条件变量condition_variable,condition_variable(条件变量)是 C++11 中提供的一种多线程同步机制,它允许一个或多个线程等待另一个线程发出通知,以便能够有效地进行线程同步。 conditi

【最新华为OD机试E卷-支持在线评测】机器人活动区域(100分)多语言题解-(Python/C/JavaScript/Java/Cpp)

🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-E/D卷的三语言AC题解 💻 ACM金牌🏅️团队| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,支持题目在线评测,专栏文章质量平均 94 分 最新华为OD机试目录: https://blog.