Houdini脚本Vex学习
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学习相关推荐
- Blender中的Python脚本介绍学习教程
Blender中的Python脚本介绍学习教程 MP4 |视频:h264,1280×720 |音频:AAC,48000 Hz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:1.63 ...
- Linux shell脚本基础学习
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...
- 通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本...
通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本 版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 ...
- Shell 脚本基础学习 (四)
现在我们来讨论编写一个脚本的一般步骤.任何优秀的脚本都应该具有帮助和输入参数.并且写一个伪脚本(framework.sh),该脚本包含了大多数脚本都需要的框架结构,是一个非常不错的主意.这时候,在写一 ...
- Linux shell脚本基础学习详细介绍(完整版)一
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...
- Linux shell脚本基础学习详细介绍(完整版)2
详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ...
- Linux shell脚本基础学习详细介绍(完整版)
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...
- 详细介绍Linux shell脚本基础学习(一)
2019独角兽企业重金招聘Python工程师标准>>> Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础 ...
- Ink脚本语言学习笔记(四)
目前想要基于Ink脚本语言和Unity新的UIToolkit做一套对话系统,本文对Ink脚本语言的使用方式做一下介绍和总结 Ink脚本语言学习笔记(三) 四.进阶故事流控制(Advanced Flow ...
最新文章
- 邓林权:组队学习的那些事
- 2019与下一个十年:我们将要放弃的和将要拥抱的
- sorl java 建索引_solr 的客户端调用solrj 建索引+分页查询
- Docker安装部署ELK教程 (Elasticsearch+Kibana+Logstash+Filebeat)
- JZOJ 3632. 【汕头市选2014】舞伴
- java批量删除接口怎么定义_教你在Java接口中定义方法
- Spring中的Bean默认是单例还是多例?如何保证并发安全?
- Visual Studio 2019 v16.9 Preview 3 发布
- 圣殿骑士的一篇关于WPF的培训好文,WPF应用与团队开发(转)
- [sql面试经验] 经典sql面试题及答案第2期
- 把手机当电脑的摄像头!推荐一软件DroidCam
- 如何用计算机计算幅度,用自然语言的方式做计算:Numi 计算器
- 蓝精灵:寻找神秘村Smurfs: The Lost Village迅雷下载
- html导航条背景颜色代码,div+css实现鼠标经过背景高亮的导航菜单代码
- harmonyos2.0是什么,HarmonyOS 2.0 Beta是什么?HarmonyOS 2.0 简介
- 1--request模块
- 使用rotate()来做一个3d贺卡
- 【Go语言学习】安装与配置
- Spring MVC 数据绑定 绑定POJO类型 filter过滤器
- 上篇: php 微信公众号 基于Thinkphp3.2框架开发
热门文章
- Cadence 绘制PCB添加泪滴与差分布线与铺铜简单介绍
- 星空内网穿透保姆级教程
- 福清种植牙:种植牙的优缺点你都知道吗?优贝口腔带你了解
- vue中的keep-alive实现原理
- 4. hda设备中的pcm文件 (第六部分)
- Stop_Word 中英文停用词表
- python编程一球从100米_Python练习实例20 | 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?...
- Android studio实现计数器功能
- 如何关闭页面之前清空LocalStorage
- linux用rpm升级rpm包,使用RPM升级软件