一. transorm
—— move
—— scale
—— rot
1.这里 补2 个函数
quaternion( ) (角度(弧度制), 轴) 获取4元数
qroate( ) (quaternion ,点坐标) 进行旋转
案例:
参考 视频连接 般 b站up : 爱吃鱼的老土狗
2. orient旋转
H中 @N = 所处世界Z轴
@up = 所处世界Y轴
orient 表示点的朝向,从始到终的,旋转规则
== vector4 变量=dihedral(旋转前,目标/旋转后)==
oreint 不能同时等于2个那么要让原始从a到b在到c 可以借用qmultiply
用法 一般后进行选转的写前面
对比
二. martix
作用:进行物体transform工作
格式:
tip: rotate(矩阵变量名称,旋转角度值,旋转轴)
三.array 数组
案例
用法
1.替换
2.格式
3.格式2
相关函数
案例++
案例
出处: b站
int ptn=chi('number');
i[]@arry;
for (int i =0;i<ptn;i++)
{
vector pt =set (i,0,0);
addpoint(0,pt);
append(@arry,i);
}
addprim(0,'polyline',@arry);
判断面边数
primpoints() 每个面有几个点
替换
格式
3.格式2
相关函数
案例++
slf
orient _转成 3个向量
matrix3 rotation = qconvert( p@orient );
// rotation.xy;
v@x = set( rotation.xx, rotation.xy, rotation.xz );
v@y = set( rotation.yx, rotation.yy, rotation.yz );
v@z = set( rotation.zx, rotation.zy, rotation.zz );
blast 删除 name
s@name=`prims(-1,0,'name')`
创建自定义场 驱动物体(sop)
学习出处: link
v@vel=noise(@P*chf('str')+@Time)+(0,0,1); //noise
vector v=volumesamplev(1,'vel',@P); //deform
@P+=v*chf('st');
vex 取顶点 未部点
获取第一端口的
int vertex_0=vertexpoint(0,vertexindex(0,0,0));
int num_vtx=primvertexcount(0,0);
int vertex_n=vertexpoint(0,vertexindex(0,0,num_vtx-1));
vector pos_0=point(0,'P',vertex_0);
vector pos_n=point(0,'P',vertex_n);
v@dir= normalize(pos_n-pos_0);
@dir*=ch('sacle');
字符串+int类型
s@aa=sprintf('%s%d',s@xgenDescription,i@class);
%s 格式化字符串
%d 格式化整数
顺序需要一样和后面一样 保留3位可以这样%03d!!
也可以这样
s@aa=s@xgenDescription+itoa(i@class);
itoa 整数变字符
atoi 字符变整数