美文网首页
【Houdini】之循环

【Houdini】之循环

作者: _More | 来源:发表于2023-05-28 10:56 被阅读0次

    For Each Loop Node

    涉及到随机变量的情况都可以使用stamp随机来完成,在老版本中for循环还可以使用stamp,如`stamp("..","FORVALUE",0)`

    对当前循环执行到第几次进行计数 (tab 键上面的点`) 固定用法不能改------老版用法

    但是在新版本中stamp一般常用在copy中来取随机值

    stamp function

    stamp("../copy1","ABC",0)

    寻找相对路径名字为copy1,变量名字为ABC的属性,并复刻属性。最后的0是赋予默认值,以防写错找不到copy1

    而在for循环中新版使用detail属性和iteration属性来引用

    detail function

    detail("..","iteration",0)

    或者使用

    point function


    vex中

    for循环:

     int x;//(int  num = chi("num");

     for(x=0;x<3;x++) //for(int i=0;i<num;i++)

    {

     //do this;

     }

    由此我们可以看出foreach 循环与for循环的区别:foreach 需要数组,而for 循环不需要。

    for循环想使用数组的时候,需要使用len()函数,以保证数组里面的数据能被循环到,如:

    for(x=0;x<len(@examplearrray);x++)


    while循环

    while(//This condition is true)

    {

       //Run this code;

    }

    //基本格式

    尝试用while 写一个颜色的案例 例如:

    v@v = {0,1,0};

    while(@P.y<100)

    {

           @Cd.g -= .1;

           @Cd.b -= .1;

            if(@Cd.g<=0);

            {

                 pointremove(0,@ptnum);

            }

            break;

    }

    首先设置一个矢量方向为Y轴的速度,在条件函数while 下,如果位置信息小于100时,那么颜色green 和颜色blue 值会一直-1循环,直到小于或等于0被排除掉,即只剩下红色,嵌套条件函数if 当绿色green信息值 小于或等于0时,这些点会被移除,最后用break来终止本次循环。书写的过程要注意规范。

    int num = chi(“num”);

    int i = 0;

    while(i<num)

    {

        int pt = addpoint(0,set(i,0,0));

        i++;

    }

    当整数值i小于num值成立时,添加一个点,并且执行 i+1的的循环


    do循环

    do

    {

            @P.y += .1;

            @icounter +=1;

    }

    while(@P.y<1000);

    执行do循环函数,当y位置信息<1000时,点y位置循环+0.1,数量同时+1,直到y位置信息>1000时候,停止循环。



    数组(矩阵)Arrays      ForEach Loop 例子

    阵列:i[]@exampleArray = {1,2,3,4};                  foreach循环:foreach(int x;@examplearray)

    v[]@colors =  {{1,0,0},{0,1,0},{0,0,1}};

    foreach(vector x;@colors)

    {

             if(x={1,0,0})

             {

                      @colors[0] = set(rand(@ptnum+123),rand(@ptnum+12),rand(@ptnum+2))

              }

    }

    @Cd = @colors[0];

    三元矢量数组--矢量颜色为红绿蓝叠加色=白色


    相关文章

      网友评论

          本文标题:【Houdini】之循环

          本文链接:https://www.haomeiwen.com/subject/ifwsvrtx.html