mel吧 关注:175贴子:766
  • 4回复贴,共1

新人来求教,各位大神请进

只看楼主收藏回复



1楼2016-06-01 23:59回复
    for ($f = 0; $f < 10; $f++)
    {
    for($i = 0;$i < 10;$i++)
    {
    {
    float $a = rand(1);
    if ($a < 0.2)
    sphere;
    else if ($a < 0.4)
    polyCube;
    else if ($a < 0.6)
    polyCone;
    else if ($a < 0.8)
    polyCylinder;
    else
    polyTorus;
    }
    move ($i*2) 0 ($f*2);
    rotate (rand(90)) 0 (rand(90));
    }
    };


    2楼2016-06-01 23:59
    回复
      想问的是如何把上述代码加以改动使得每个小几何体都有不同的颜色?


      3楼2016-06-02 00:01
      回复
        这里有一个不同颜色的小正方体的代码
        file -f -new;
        string $polyObj[];
        string $SG, $shader, $clr;
        int $k = 0;
        for ($i = 0; $i < 10; $i++)
        {
        for ($j = 0; $j < 10; $j++)
        {
        $polyObj = `polyCube`;
        move -r ($i*2-9) 0 ($j*2-9);
        $SG = "SG" + $k;
        $shader = "shader" +$k;
        $clr = $shader + ".color";
        sets -name $SG -renderable true -empty;
        shadingNode -name $shader -asShader lambert;
        setAttr -type double3 $clr (rand(1)) (rand(1)) (rand(1));
        surfaceShaderList -add $SG $shader;
        sets -e -forceElement $SG $polyObj[0];
        $k++;
        }
        };
        效果是这样的
        求教各位大神啦!


        4楼2016-06-02 00:03
        回复
          小白献丑
          string $polyObj[];
          string $SG, $shader, $clr;
          int $k = 0;
          for ($f = 0; $f < 10; $f++)
          {
          for($i = 0;$i < 10;$i++)
          {
          {
          float $a = rand(1);
          if ($a < 0.2)
          $polyObj = `sphere`;
          else if ($a < 0.4)
          $polyObj = `polyCube`;
          else if ($a < 0.6)
          $polyObj = `polyCone`;
          else if ($a < 0.8)
          $polyObj = `polyCylinder`;
          else
          $polyObj = `polyTorus`;
          }
          move ($i*2) 0 ($f*2);
          rotate (rand(90)) 0 (rand(90));
          $SG = "SG" + $k;
          $shader = "shader" +$k;
          $clr = $shader + ".color";
          sets -name $SG -renderable true -empty;
          shadingNode -name $shader -asShader lambert;
          setAttr -type double3 $clr (rand(1)) (rand(1)) (rand(1));
          surfaceShaderList -add $SG $shader;
          sets -e -forceElement $SG $polyObj[0];
          $k++;
          }
          };


          5楼2017-04-25 01:22
          回复