3dsmax maxscript教程-间隔取一个多边形面小脚本
LinkLi

LinkLi

3dsmax maxscript教程-间隔取一个多边形面小脚本

重新编写一段关于editpoly间隔一格取一个面的算法,我之前也写过一个类似的算法,但是觉得算法太过于依赖数学运算而不是3dsmax maxscript的运算流程的,数学运算的通用性感觉不大好,而且修改繁琐,这次改进的算法就简练多了,可重用性还不错,只要稍微修改几个参数就能得到各式各样的效果,

算法分解:

–建立空数组

n=#()

–分列数。就是一个网格格子纵向的数量

k=32

–数组n的系列排序,初始量为1

u=1

–for循环 a的值等于网格的行数量

for a =0 to 20 do

(

–mod是取余数的运算,当余数等于0时运算代码,不等于0时运行代码

if (mod a 2)==0 then

(

–在if语句中嵌套for循环函数,当等于0时,做k值范围内的循环运算,b的值每次加2取值

for  b=1 to k by 2 do

(

–数组赋值

n[u]=a*k+b

u+=1

)

)

else

(

–同上

for  b=2 to k by 2 do

(

n[u]=a*k+b

u+=1

)

)

)

–定义变量m,把n数组的数据类型转化为bitarray

m=n as bitarray

–选择bitarray值的曲面

$.EditablePoly.SetSelection #Face m

 

本月精彩教程推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注

3dsmax maxscript教程-间隔取一个多边形面小脚本
想学草蜢参数化
加我微信