ロゴ メインコンテンツへ
RSSフィード
「デジタルコンテンツ制作」に関連する記事一覧

MEL ミラーボールっぽく球状にスポットライトを配置する

2016/07/14
(この記事の文字数: 104)
MEL 

Maya でミラーボールっぽいライトの演出をするため、画像のように球の中心から外に向かうスポットライトを複数作成する MEL スクリプトを作成しましたので貼っておきます。配置アルゴリズムはかなりいい加減です。


global proc createMirrorBallLight(int $lightCountX, float $spotLightConeAngle)
{
    float $increAngleX = 180.0 / ($lightCountX + 1);
    float $pi = 3.14159265359;
    for ($x = 0; $x < $lightCountX; ++$x)
    {
        float $angleX = ($x + 1) * $increAngleX - 90;
        int $lightCountY = $lightCountX * (cos($angleX * $pi / 180.0) * 0.5 + 0.5) + 1;
        float $increAngleY = 360.0 / $lightCountY;
        for ($y = 0; $y < $lightCountY; ++$y)
        {
            string $lightShapeName = `spotLight -coneAngle $spotLightConeAngle -penumbra $spotLightConeAngle`;
            string $tmp[] = `listRelatives -p $lightShapeName`;
            string $lightTransformName = $tmp[0];
            float $rotateAngleX = $angleX;
            float $rotateAngleY = $y * $increAngleY;
            float $rotateAngleZ = 0.0;
            rotate $rotateAngleX $rotateAngleY $rotateAngleZ $lightTransformName;
            rename $lightTransformName mirrorBallSpotLight;
        }
    }
    group -n mirrorBallSpotLightGroup "mirrorBallSpotLight*";
}

使用例


createMirrorBallLight(10, 10.0);


  このエントリーをはてなブックマークに追加  

<<「デジタルコンテンツ制作」の記事一覧に戻る

<<「デジタルコンテンツ制作」の次の記事
「デジタルコンテンツ制作」の前の記事 >>

コメント(0 件)



コンテンツロード: 0.0072 sec
Copyright(C)2006-2024 puarts All Rights Reserved