HOUDINI VEX基础

Vex的编写

学习方式 1.houdini自带帮助文档

2.书籍:HOUDINI 12标准教程

3.bilibili 视频:https://www.bilibili.com/video/BV12W411x7df?p=4

https://github.com/jtomori/vex_tutorial

http://www.tokeru.com/cgwiki/?title=HoudiniVex

bilibili视频:CG猎人

爱给网:houdini视频

知乎:https://www.zhihu.com/column/goprocedural

www.vfxforce.cn 视频与教程

Entagma - 免费Houdini教程 bilibili

youtube

houdini 对每个点采取并行计算方式,所以定义的全局变量只会被以初值复制到各个点,无法实现相加;若要实现相加,在外层定义,后添加solver,后在solver内实现相加

  1. obj模块下添加geo模块 (obj层 物体层,可以对物体进行移动,缩放,旋转,但不能编辑物体的点线面,编辑点线面需进入sop层(surface operate) 如添加geo节点
  2. 进入geo模块,添加attribute wrangle模块
  3. 在attribute wrangle的属性code Vexpression中输入代码

Run over属性

决定代码的运行次数detail 只运行一次,point按输入模型上的点的数量运行,primitives按面的数量运行,vertices按顶点的数量运行(顶点数大于点数)

变量

变量的定义;类型 @ 变量名  ;(@属性:可在外部引用,在外部引用时需在@前加上类型,不加@为局部变量,只在当前运行中使用)

f@v1 = 1; (类型简写,f :float ,i:int,ve;v:vector…..)

float @v1 = 1;

float v2 = 1; //不包@为局部变量,只能在本次运行中使用,不能输出

全局变量

@P 点的属性 @P.x 点的x值,@P.y @P.z

@N 法线

@Cd 颜色

@ptnum 顶序号

@numpt 模型上点的数量

@Frame 帧

($F,$T 可用,其它并不一定可用 $F用 @Frame 代替, $T用 @Time代替)

Attribute Wrangle 输入端口

第一个商品编号为0 ,从左到右依次为0,1,2,3

获取对应端口的内容

bilibili Houdini VEX中文百科 https://www.bilibili.com/video/BV12W411x7df?p=4

1.

@opinput端口号_变量名.属性

列:

获取第一个端口对象的点的x值

@opinput0_P.x

获取第3个端口的自定义变量v3属性 (v3需在对应的物体上声明 若上一个为attributewrangle则 用f@v3;定义,其它可用attribute create 添加属性

@opinput2_v3

2.使用point ,prim ,vertex,detail属性获取端口输入

Point(端口号,属性,点序号)

Vector clr = point(1,’P’,0);

Clr = prim(1,’Cd’,0);

Clr = vertex(1,’Cd’,0);

Clr = detail(1,’Cd’,0);

vex 参数图形化

ch chi chf chramp

1 obj下创建geo,进入geo

2 创建attribute wrangle

输入

 

并点 create spare …..按键 ,下方将建立max min两个滑块,可通过滑块作为输入值在vex调用

chramp(变量名,自变量) 自变量将映射至没块框中

chramp(‘ramp’,@p.x)

空格+G最大化显示物体

空格+B四视图显示

Obj模块为下方各节点物体的位置,缩放,旋转的操作

SOP为建模模块 调整物体的点线面,中心点

添加点线面

1addpoint 添加点(vex方式)

2添加点 node方式

添加add节点

  

i

列:绘制三角函数曲线

添加geo模块,进入geo

添加line模块 修改方向direction x轴为1,length长度10 points点数200

添加attribute wrange 模块

在vexpression中输入

@P.y = sin(@P.x);

傅里叶变换

在obj层下,添加geo模块,进入geo

添加line,attribwrangle 并连接如下

修改Line参数

在attribwrangle1添加代码

@P.y = sin(@P.x + @Frame*0.1);

在attribwrangle2添加代码

@P.y = sin(@P.x*2 + @Frame*0.1);

在attribwrangl3添加代码

@P.y = @opinput0_P.y + @opinput1_P.y;

 

或可以下列方式

 

Subnet 将多个节点打包,便于管理

VOP节点,将vex的实现节点化

节点 属性外移

以noise为列

节点中键点击-》promote Parameter 将属性显示在外层属性中 (右键属性 点击delete 删除外移,或是双击)

 

在上一层属性中将显示外移属性

查看函数值

point与 vertex 区别 ;

点与顶点区别(CG猎人,bilibili):面的构成,需要顶点存在,点可以单独存在,顶点不可以

函数

ch,chf,chi chramp

属性

读取属性

修改属性

houdini 组
int npt npointsgroup(0,'up'); //返回该组中有多少点
// nprimitivesgroup() 返回组中primitive的数量
//nverticesgroup()返回组中顶点的数量

@group_up = 1; //如果无组,创建组up,并将当前@ptnum进组
@group_up = 0; //当前点出组
if(@group_up ==1) //判断点是否在组内,1在组内,0,不在

setpointgroup(0,'up',@ptnum,1); //把点添加到组中,0移除点
setpointgroup(0,'up',@ptnum,1,'toggle'); //切换点的状态,原在组出组,原不在组进组

//setprimgroup() setvertexgroup()
inpointgroup(0,'up',@ptnum)) ;//判断点是否在组内,1在,0不在

int list[] = expandpointgroup(0,'up'); //返回组内所有点的序号
int list1[] = expandpointgroup(0,'0-5');
int list2[] = expandpointgroup(0,'');//空组返回所有的点序号

Houdini基础2相关推荐

  1. Houdini技术体系 基础管线(三) :UE4以选择区域的方式对地形做生成和更新 上篇...

    背景 前一节里,解决了Houdini地形无缝导入到UE4的流程问题.但这种方法也有它的局限性,在实际游戏项目里,LA和LD还是偏向在游戏引擎编辑器里工作,他们的一些设计也会影响到地形的信息,那么就需要 ...

  2. Houdini Terrian UE4 (〇)Terrian基础

    导言 这篇文章基本是翻译了官网文档,勿喷~侵删~ 胡地泥的地形工具主要使用了叫做height field的2D volume,其中每个voxel包含了当前grid的高度信息.一个geometry ne ...

  3. python houdini_python for houdini——python在houdini中的基础应用01

    学了一个星期的python,终于可以在houdini中实操了,但是还是有点懵,对于python的语法还不大熟悉,所以还是得多练多做笔记,看了网上几位大佬的博客,个人觉得入门学习还是挺不错的python ...

  4. 在houdini里,怎么手动设置输出物体的红绿蓝通道,便于nuke调节使用(基础篇)

    首先陈述下 我现在是学习houdini的初段,前后一年主要涉及灯光环节,一直以来一直忙着工作,也没真正好好研究过houdini,后面我会用更多时间研究学习,涨知识了就会不定期的写一写这种基本的制作方法 ...

  5. houdini 函数基础

    measure 可以测量梯度: (视口中显示梯度:选择measure节点,在视口中按enter键 显示 ,esc键退出) vay 投影 add 添加点,或连点成线 resample 将线重新采样加点 ...

  6. Unreal Engine+Houdini创造程序性游戏场景视频教程

    Unreal Engine+Houdini创造程序性游戏场景视频教程 大小解压后:27.4G 持续时间14小时30分 包括项目文件 1920X1080 高清视频 程序游戏环境--虚幻引擎和Houdin ...

  7. ue4移动到一定距离_UE4与Houdini锁链与绳子生成器

    本文为教程记录笔记,分为两部分,均非常简单.(对原著进行了一定的修改): 第一部分主要介绍锁链的生成: 第二部分主要介绍绳子的生成: 本人Houdini萌新,如有书写和理解错误还请大佬扶正: 第一部分 ...

  8. lol模型导入ue4_Houdini amp; UE4 程序化建模——石头(一)基础工作流

    导言 最近程序化建模的风气在国内兴起,建立好程序化建模流程,通过调参就可以生成丰富的美术资源.可以程序化建模的内容有很多,国外的程序化曼哈顿.林中小屋等都是很好的例子,所有带有规律的模型都可以程序化来 ...

  9. houdini帮助文档_edge wrangle在houdini的vex优化与应用

    开源于: 五行精灵:开源1000+HDA:FeELib for Houdini使用指北​zhuanlan.zhihu.com 首先是原理 案例在后面 众所周知houdini的polygon内有三个ca ...

最新文章

  1. Atitit.js跨域解决方案attilax大总结 后台java php c#.net的CORS支持
  2. 为什么充电电流变化有点大
  3. Vue源码解析之AST语法树(三)
  4. 企业微信小程序_小程序开发工具及真机调试_host配置及代理
  5. 女神说不能每张照片P的一样,所以朋友圈开三天可见,用Python一步解决
  6. Javascript原型理解图
  7. matlab的simin用法,在Maltlab 的simulink中怎么输入讯号
  8. Unity3D基础27:C#随机函数与物体销毁
  9. c语言正方体的表面积和体积公式,长方体的表面积(正方体体积的计算公式)
  10. 1.0 如何使用cubemx并且移植RTX操作系统?(方法二)
  11. vue.prevent .stop .passive
  12. 红米笔记本linux系统版本,小米笔记本安装Win10+Ubuntu16.04 LTS 双系统
  13. 管理学-“三个和尚”
  14. 计算机英语 自我介绍,计算机专业学生面试英语自我介绍
  15. 如何删除Win10“此电脑”中多出的“CD驱动器”盘符
  16. 计算机关闭自带杀毒,关闭联想自带杀毒软件的步骤
  17. 计算机专业英语选择题,计算机专业英语单选题
  18. 解决lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 网络连接不通
  19. FCPX插件 66种手绘漫画MG动画元素包 Comic Pop 破解版
  20. Python程序设计基础第二版董付国版课后习题答案

热门文章

  1. Ubuntu20.04配置pytorch深度学习环境
  2. python自动整理文件,就这么简单
  3. 精通xmi_UML,XMI和代码生成,第2部分
  4. 2022最新Java学习路线,对标阿里P6
  5. Powertoys Run的翻译插件
  6. 机器学习入门基本使用工具(保姆式教学):matplotlib,numpy,pandas这一篇就够了
  7. 敏捷教练--如何陪娃做作业
  8. Airtest图像识别原理
  9. 神经辐射场(NERF)模型:一个令人惊叹的三维场景重建方法
  10. 使用PLCSIM Advanced仿真博途S7-1500 OPC UA