taday is record seven days
Houdini
- 使用density作为temperature 作为自发光材质:
- 对density添加vop;使用power将,增加density的对比度;
- 使用volume sample降低精度;(不可以使用vdbresample,否则会有数据丢失)
- 通过vdb smooth 迭代三级;依次使用vdbcombine 进行合并;将 comb的 resample off;防止数据丢失
- 还可以使用temperature;以及density的curveture(曲率)进行上述操作;得到颜色材质。
- Curveture的数值过于敏感,可以不用添加power节点
- 使用volume velocity 创建自定义风场添加至dop中的vel
- Smoke object中的自定义风场
- 使用scalar field 创建custom场;需要将custom添加至advect field中,将他注入smoke进行sim 解算
- 并且在sparse solver中的 extra field中加入 customfield
- 或者使用在sop中添加attribute的方式添加custom field;可以不用在dop中进行赋值操作;如@custom = @density; 其他都与salar添加一致
- 拓展:控制myfire的区域,将它与density相乘,可以达到隐藏发射源的效果。
- 拓展:将dop中的vel读取,使用volume vop 计算出speed,通过fit range,裁切掉速度过慢的区域,最后于density相乘,就得到新的density;不想影响高处部分的density,可以通过P.y进行fit,将得到的值作为mix的bias;使用新旧density
Python
参考资料:廖雪峰python教程 - python基础 -调用函数
- 可以把函数名赋给一个变量,相当于给这个函数起了一个“别名”
python基础 - 定义函数
- 定义一个函数要使用
def
语句,依次写出函数名、括号、括号中的参数和冒号:
,然后,在缩进块中编写函数体,函数的返回值用return
语句返回 - 一旦执行到
return
时,函数就执行完毕,并将结果返回 - 如果没有
return
语句,函数执行完毕后也会返回结果,只是结果为None
。return None
可以简写为return
- 如果你已经把
my_abs()
的函数定义保存为abstest.py
文件了,那么,可以在该文件的当前目录下启动Python解释器,用from abstest import my_abs
来导入my_abs()
函数,注意abstest
是文件名(不含.py
扩展名)
- 如果想定义一个什么事也不做的空函数,可以用
pass
语句:
-
pass
语句什么都不做,那有什么用?实际上pass
可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass
,让代码能运行起来。
- 数据类型检查可以用内置函数
isinstance()
实现:
import math
语句表示导入math
包,并允许后续代码引用math
包里的sin
、cos
等函数。
- 函数可以同时返回多个值,但其实就是一个tuple。