三角形 :grid bend
merge 颜色丧失 ;统一为prim 或point 属性
findshortest ;remesh
使用polygon mesh 进行每个面颜色填充
@P = primuv(0,'P',0,@Time);
@P = primuv(0,'P',@Time+rand(@ptnum));
solver 进行对变量的变化,调整
实现对每条线进行0-1的值排列
vertexprimindex
f@u = vertexprimindex(0,@ptnum)/float(@numvtx);
f@u = vertexprimindex(0,@ptnum)/float(@numvtx);
if(@u> abs(sin(@Time+rand(@primnum))))
{
removepoint(0,@ptnum);
}
i@np = nearpoint(1,@P);
if(@np ==0)
return ;
v@n = point(1,'N',@np);
@P+= @n*0.1;
xyzdist 获取离多边形最近点的距离
i@prim;
v@uv;
f@xyz = xyzdist(1,@P,@prim,@uv);
返回与多边形的距离 ,同时返回面的编号和uv位置 @prim@uv
primuv 根据给定的prim和uv获取相应的属性 ;P N 其它定义的
v@puv = primuv(1,'P',@prim,@Time);
//使用@Time 进行点的移动
----------------------------------------------------------
int prim;
vector uv;
xyzdist(1,@P,prim,uv);
v@dest = primuv(1,'P',prim,uv); //获取多边形上的位置
v@n = primuv(1,'N',prim,uv); //获取N
xyzdist(1,@dest-@n*@Time*0.5,prim,uv); //对位置按法线方向移动的位置
v@npos = primuv(1,'P',prim,uv); //获取 更新多边形上的位置
v@r = @P-@dest; //对原位置进行移动
@P = @npos + @r;
fuse无法形成 需要先使用fuse 再用findshortest 形成每个线条,才能使用
取0.3-1之间的值
f@u = 0.3;
0.3 + frac(@Time)%0.7
delete 等
或pow($PT,)
***pack 统一打包成一组
*****分开打包 非连续物体 各部份 打组 操作
partion connectivity assemble
三个物体,每个物体内的点,面线连接在一起,但每个物体之间分离
connectivity 对将归属于独立物体的点进行编号
partion 对前面的组进行单独的分开;将一个组分成独立的多个组
assemble: 使用create groups 直接将上两步合成一步
assemble :清除一系列打断操作并创建结果片段
connectivity:为每组连接的基本体或点创建具有唯一值的属性。[非链接在一起的物体,打组]
partion:根据用户提供的规则将点和图元分组。
for each的代替
效率问题
相当于函数
查看官方示例
transform pieces
cluster
SOP 内动力学节点的选择,作用方式;非
findshortest 多层叠加