发布网友 发布时间:2022-12-16 23:17
共1个回答
热心网友 时间:2023-09-11 19:33
自定义数据类型
例如:float vScale = chf("vel_scale");
其中float 是浮点数据类型 vScale是定义的名称 ch代表通道,f代表通道类型为浮点,()内部为浮点名称,'字符串',分号结尾
整理可得:float 空格 name 空格=空格chf(单引号+字符串)分号结尾
类似的有:
字符串类型 string stringParm = chs("string_example");
整数类型 int intExample = chi("int_example");
矢量类型 vector vecExample = chv("vector_example");
v@v = {0,1,0};
前面的v是vector矢量,@v是获取速度velocity 空格 = 空格 {x,y,z}对应矢量的方向和大小
v@v = @N*vScale
同样的 v@v = 出现时会覆盖掉之前的定义,即重定义,如上第一次定义了一个方向Y轴大小为1的速度 第二次重新定义沿着法线方向 大小为浮点数vScale与法线大小的乘积
v@Cd = {0,1,0};矢量获取Cd颜色为{红,绿,蓝},分号;结束
v@Cd = rand(seed num); 其中 seed num = @primnum /fit01(@float,min,max)
如果float name = chf(“”),变成了 f@name = chf(“”);
在调用的时候前面直接写成@name 如: v@v = @N*@vScale
在属性函数中
point(inputnum,“P”,@ptnum)点的模型输入端数字(0/1/2/3),获取Poistion“位置”信息,获取点ID数量
set(0,0,0) 设置对应的是XYZ或者 红绿蓝,也可以是rand变量或者fit01(@pscale,min,max)
又如:
float randomize = rand(@id);定义浮点数 命名为randomize 赋予值为随机id值
f@inheritvel = 0.5; 浮点获取继承速度值并赋值为0.5
v@nearbyEdgepos = minpos(2,@P); 定义矢量名称为nearbyEdgepos的值为 点到第二个输入端模型最近距离点位置
v@edgeDist = distance(@nearbyEdgepos,@P);定义矢量名称为edeDist的距离值为nearbyRdgepos 到点的距离
即先寻找最近距离点,再求出点到点的距离