Houdini VEX | Hscript学习笔记
(一)VEX
1.矩阵
- eigenvalues(int &nroot,matrix3 mat,vector &real,vector &imaginary) 计算矩阵特征值
- determinant(matrix m) 矩阵行列式
- invert(matrix m) 逆矩阵
- transpose(matrix m) 转置矩阵
- ident() 单位矩阵
1.1生成矩阵
- matrix3 maketransform(vector zaxis,vector yaxis) 基于Z(N)、Y(up)基向量创建矩阵
- matrix maketransform(vector zaxis,vector yaxis,vector translate) 基于Z(N)、Y(up)基向量创建矩阵
- matrix3 maketransform(int xyz,vector angles) 由欧拉角(弧度)生成旋转矩阵
- matrix maketransform(int trs,int xyz,vector t,vector r,vector s,vector p) 移动T、旋转R、缩放S、轴心P
1.2投影矩阵
- matrix perspective(float zoom, float image_aspect, float pixel_aspect, float clip_near, float clip_far)
- matrix orthographic(float zoom,float orthowidth,float image_aspect, float pixel_aspect,float clip_near,float clip_far)
- vector toNDC(string camera_name,vector point)
1.3矩阵其他
- optransform(path) 获取SOP节点transform信息
- cracktransform() 分解矩阵:移动、缩放、旋转
- matrix3 dihedral(vector a,vector b) 计算从向量a旋转到向量b的变换矩阵
- vector4 dihedral(vector a,vector b) 计算从向量a旋转到向量b的变换四元数
2.四元数
- quaternion(matrix3 rotations) 由矩阵中获取旋转
- quaternion(float angle,vector axis) 由旋转角度、旋转轴生成四元数
- quaternion(vector angleaxis) 建议使用eulertoquaternion()
- qrotate(vector4 quaternion,vector v) 旋转向量
- matrix3 qconvert(vector4 quaternion) 四元数转旋转矩阵
- matrix qconvert(vector4 quaternion,vector offset) 四元数转旋转矩阵,后加- 移动
- vector qconvert(vector4 quaternion) 四元数生成欧拉角(弧度)
- eulertoquaternion(vector rotations,int order) 由欧拉角(弧度)生成四元数
- quaterniontoeuler(vector4 orient,int order) 四元数生成欧拉角(弧度)
(二)引用路径
VEX中的路径
1 |
|
COP模块访问SOP节点路径
1 |
|
Hscript中的路径
- SOP访问COP节点路径
1
2//hscript表达式
op:`opfullpath("../cop2net1/out")`
HDA内置静态数据路径
- 在Type属性中的Extra Data可以内嵌数据
- file中可以使用opdef:..?ball.fbx访问内置数据
Houdini VEX | Hscript学习笔记
https://automask.github.io/wild/2021/11/23/log/P_Houdini_Vex_Hscript/