【Maya:Python】グループ内の一部を選択から除外したい(後方一致)
shamimatsu
三味松ブログ
maya2022のpython3で動作確認
Mayaでテレインを作りたいと思った時、初期設定の工程が面倒だったため
どなたでも簡単に再現できるように一発作成できるpythonを書きました。
最初から入っているノイズを使って凹凸を作成します。
# -*- coding: utf-8 -*-
import maya.cmds as cmds
# プレーン作成
cmds.polyPlane(h=200, w=200, cuv=2, sy=100, sx=100, ch=1, ax=(0, 1, 0))
sl_mesh = cmds.ls(sl=True)
sl_plane = cmds.rename(sl_mesh, 'terrain_mdl')
# マテリアル作成
cmds.shadingNode('lambert', asShader=1, name='terrain')
cmds.sets(renderable=True, empty=1, noSurfaceShader=True, name='terrainSG')
cmds.connectAttr('terrain.outColor', 'terrainSG.surfaceShader', f=1)
# マテリアルアサイン
cmds.select(sl_plane)
cmds.sets(forceElement='terrainSG', e=1)
# デフォームテクスチャ作成
cmds.textureDeformer(vectorStrength=(1, 1, 1), exclusive="", direction="Handle", strength=10, envelope=1, vectorOffset=(0, 0, 0), vectorSpace="Object", offset=0, pointSpace="UV")
cmds.select('textureDeformerHandle1', r=1)
# テクスチャのかわりにとりあえずノイズをアサイン
cmds.shadingNode('noise', asTexture=1)
cmds.connectAttr('noise1.outColor', 'textureDeformer1.texture', force=1)
上手くいけばこのようになります。
ノイズの代わりに白黒テクスチャを割り当てれば違う形の山になります。