Maya

【Maya:Python】マテリアル全選択リストから指定名を除外する

shamimatsu

maya2022を使用
maya2022でpython3になったためコードを修正しました。
新規シーンを開いたときに最初からあるlambert1particleCloud1は基本いじらないと思うので全体選択時に除外する方法になります。

コード

このようなマテリアルがあったとします。

1# -*- coding: utf-8 -*-
2import maya.cmds as cmds
3
4# マテリアルがリスト化される
5mats = cmds.ls(materials=True)
6print(mats)
7
8for mat in mats:
9    # 除外したいマテリアル
10    if mat != "particleCloud1" and mat != "lambert1":
11        print(mat)

mats

結果: [u’lambert1′, u’particleCloud1′, u’lambert2′, u’lambert3′]

shaderGlow1はシェーダーなので materials=True ではリスト化されないようです。

mat

結果: lambert2, lambert3

lambert1,particleCloud1の2つが除外されると思います。
andをつけていけば除外対象を増やす事が出来ます。

ABOUT ME
shamimatsu
shamimatsu
3DCGデザイナー
ながらくゲーム業界で2D、3DCGデザイナーとして働いてきましたが、新しい業界に挑戦中です。 ブログのデザインをリニューアル中のため、見づらい箇所もあるかもしれませんが少しづつ修正していきます。
記事URLをコピーしました