Vex前言

Vex是Houdini的控制脚本, 语法类似C/C++, 能方便编写出操控几何数据的程序.

八面体阵列程序

void add_pyramid(vector pos)
{int p0 = addpoint(0, pos + {1, 0, 1});int p1 = addpoint(0, pos + {1, 0, -1});int p2 = addpoint(0, pos + {-1, 0, 1});int p3 = addpoint(0, pos + {-1, 0, -1});int p4 = addpoint(0, pos + {0, 1.5, 0});int p5 = addpoint(0, pos + {0, -1.5, 0});addprim(0, "poly", p2, p4, p0);addprim(0, "poly", p0, p4, p1);addprim(0, "poly", p1, p4, p3);addprim(0, "poly", p3, p4, p2);addprim(0, "poly", p0, p5, p2);addprim(0, "poly", p1, p5, p0);addprim(0, "poly", p3, p5, p1);addprim(0, "poly", p2, p5, p3);
}int row = chi("row");
int colume = chi("colume");if(row >= 1 && colume >= 1)
{for(int x = 0; x < row; ++x){for(int y = 0; y < colume; ++y){add_pyramid(set(2 * x,  2 * y, 0));}}
}

猪头涟漪形变

vector inf_pos = point(1, 'P', 0);
float radius = chf("radius");
int handle = pcopen(0, 'P', inf_pos, radius, chi("max_points"));
int ptnum = -1;
float distance = 0.0;
while (pciterate(handle))
{pcimport(0, "point:number", ptnum);pcimport(0, "point:distance", distance);if(distance > radius - chf("threshold")){vector pos = point(0, "P", ptnum);vector dir = normalize(pos - inf_pos);setpointattrib(0, "P", ptnum, pos + dir * chf("push_distance"));setpointattrib(0, "Cd", ptnum, {1, 1, 0});}else {setpointattrib(0, "Cd", ptnum, {0, 0, 1});}
}

参考资料

https://www.bilibili.com/video/BV1Zp411d7Hw?p=1

Houdini脚本Vex学习相关推荐

  1. Blender中的Python脚本介绍学习教程

    Blender中的Python脚本介绍学习教程 MP4 |视频:h264,1280×720 |音频:AAC,48000 Hz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:1.63 ...

  2. Linux shell脚本基础学习

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...

  3. 通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本...

    通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本   版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 ...

  4. Shell 脚本基础学习 (四)

    现在我们来讨论编写一个脚本的一般步骤.任何优秀的脚本都应该具有帮助和输入参数.并且写一个伪脚本(framework.sh),该脚本包含了大多数脚本都需要的框架结构,是一个非常不错的主意.这时候,在写一 ...

  5. Linux shell脚本基础学习详细介绍(完整版)一

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...

  6. Linux shell脚本基础学习详细介绍(完整版)2

    详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ...

  7. Linux shell脚本基础学习详细介绍(完整版)

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...

  8. 详细介绍Linux shell脚本基础学习(一)

    2019独角兽企业重金招聘Python工程师标准>>> Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础 ...

  9. Ink脚本语言学习笔记(四)

    目前想要基于Ink脚本语言和Unity新的UIToolkit做一套对话系统,本文对Ink脚本语言的使用方式做一下介绍和总结 Ink脚本语言学习笔记(三) 四.进阶故事流控制(Advanced Flow ...

最新文章

  1. 邓林权:组队学习的那些事
  2. 2019与下一个十年:我们将要放弃的和将要拥抱的
  3. sorl java 建索引_solr 的客户端调用solrj 建索引+分页查询
  4. Docker安装部署ELK教程 (Elasticsearch+Kibana+Logstash+Filebeat)
  5. JZOJ 3632. 【汕头市选2014】舞伴
  6. java批量删除接口怎么定义_教你在Java接口中定义方法
  7. Spring中的Bean默认是单例还是多例?如何保证并发安全?
  8. Visual Studio 2019 v16.9 Preview 3 发布
  9. 圣殿骑士的一篇关于WPF的培训好文,WPF应用与团队开发(转)
  10. [sql面试经验] 经典sql面试题及答案第2期
  11. 把手机当电脑的摄像头!推荐一软件DroidCam
  12. 如何用计算机计算幅度,用自然语言的方式做计算:Numi 计算器
  13. 蓝精灵:寻找神秘村Smurfs: The Lost Village迅雷下载
  14. html导航条背景颜色代码,div+css实现鼠标经过背景高亮的导航菜单代码
  15. harmonyos2.0是什么,HarmonyOS 2.0 Beta是什么?HarmonyOS 2.0 简介
  16. 1--request模块
  17. 使用rotate()来做一个3d贺卡
  18. 【Go语言学习】安装与配置
  19. Spring MVC 数据绑定 绑定POJO类型 filter过滤器
  20. 上篇: php 微信公众号 基于Thinkphp3.2框架开发

热门文章

  1. Cadence 绘制PCB添加泪滴与差分布线与铺铜简单介绍
  2. 星空内网穿透保姆级教程
  3. 福清种植牙:种植牙的优缺点你都知道吗?优贝口腔带你了解
  4. vue中的keep-alive实现原理
  5. 4. hda设备中的pcm文件 (第六部分)
  6. Stop_Word 中英文停用词表
  7. python编程一球从100米_Python练习实例20 | 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?...
  8. Android studio实现计数器功能
  9. 如何关闭页面之前清空LocalStorage
  10. linux用rpm升级rpm包,使用RPM升级软件