とあるゲームプログラマの挑戦と敗北の歴史

UE4とプログラミングとmayaとpythonとhtmlとマラソンを中心に情報を発信する元「技術ブログを目指すブログ」から再始動した毎日の日々を発信するブログです。

maya:選択中のマテリアルをメッシュに貼る方法

選択中のマテリアル(lambert)をメッシュに貼る方法を明記

(張るためには一度シェーディンググループを取得する必要がある)

 

まずは選択中マテリアルを張るって話なので

ハイパーシェードでマテリアルを選択。

f:id:toncrimentan_w:20200408011828j:plain

 

そして python を実行

(listConnectionsを利用してlambert3からlambert3SGを取得し関連付ける)

pythonの場合)

# 選択リストの取得
sel = cmds.ls(selection=1,type="lambert")
if 0 < len(sel):
    # シェーディンググループの取得
    sg = cmds.listConnections( (sel[0]+".outColor"), destination=1source=0 )
    if 0 < len(sg):
        # シェーディンググループの設定
        cmds.sets( "pCube1"forceElement=sg[0] )

melの場合)

// 選択リストの取得
string $sel = `ls -selection`;
if0 < size($sel) )
{
    // シェーディンググループの取得
    string $sg = `listConnections -destination 1 -source 0 ($sel[0]+".outColor")`;
    if0 < size($sg) )
    {
        // シェーディンググループの設定
        sets -forceElement $sg[0"pCube1";
    }
}