Skip to content

Instantly share code, notes, and snippets.

@redglasses67
redglasses67 / kkMayaWindowMoveCenter.py
Last active June 15, 2020 13:37
Maya上のウィンドウを画面の中心に集める
# -*- coding: utf-8 -*-
"""
参考サイト
python - PyQt4 center window on active screen - Stack Overflow
https://stackoverflow.com/questions/20243637/pyqt4-center-window-on-active-screen
getting all QT/PySide Windows - Google グループ
https://groups.google.com/forum/#!topic/python_inside_maya/q245Vh6W7uI
"""
@redglasses67
redglasses67 / melCommandToExecute.py
Created March 4, 2020 17:44
melコマンドを実行する
import maya.api.OpenMaya as om2
mod = om2.MDGModifier()
mod.commandToExecute("polySphere -r 1 -sx 20 -sy 20 -ax 0 1 0 -cuv 2 -ch 1;")
mod.doIt()
@redglasses67
redglasses67 / kkSelectImportedNodes.py
Last active February 11, 2020 17:56
インポート時に追加されたノードを選択状態に
# -*- coding: utf-8 -*-
import maya.cmds as mc
import maya.mel as mel
import maya.OpenMaya as om
import maya.api.OpenMaya as om2
maya_useNewAPI = True
beforeImport_ID = None
@redglasses67
redglasses67 / ChangeSubstanceParam.cs
Created February 2, 2020 16:08
SubstanceGraphのカラーパラメーターを5秒おきに変更するスクリプト
using System.Collections;
using UnityEngine;
using Substance.Game;
public class ChangeSubstanceParam : MonoBehaviour
{
public SubstanceGraph targetSubGraph;
public string inputColorName;
public Color color1 = new Color(0.2f, 0.8f, 0.1f, 1.0f);
public Color color2 = new Color(0.6f, 0.3f, 0.9f, 1.0f);
@redglasses67
redglasses67 / showAllMenuFullPath.py
Last active November 18, 2022 03:04
Mayaのトップメニューにある全てのメニューのフルネームを取得
# -*- coding: utf-8 -*-
import maya.cmds as mc
# 再帰的にメニューを取得する
def findMenuRecursively(mPath, indentLevel):
indent = ""
for i in range(indentLevel):
indent += " "
mItems = mc.menu(mPath, q=True, itemArray=True)
@redglasses67
redglasses67 / getAndSetVertexColors.py
Created December 25, 2019 05:14
頂点カラーを取得、変更する
import maya.api.OpenMaya as om2
selList = om2.MGlobal.getActiveSelectionList()
mDagPath = selList.getDagPath(0)
mesh = om2.MFnMesh(mDagPath)
# ColorSetの名前一覧を取得
colorSetNames = mesh.getColorSetNames()
print(colorSetNames) # stringのTupleで返ってきます
@redglasses67
redglasses67 / setExpression.py
Last active January 19, 2024 11:31
エクスプレッションを設定する
import maya.api.OpenMaya as om2
import maya.OpenMaya as om
selList = om2.MGlobal.getActiveSelectionList()
mDagPath = selList.getDagPath(0)
objectName = om.MFnDependencyNode(mDagPath.transform()).name()
# 残念ならがまだ Python API 2.0 の方に MFnExpression クラスが移植されていないようなので1.0の方を使います
exp = om.MFnExpression()
exp.create("%s.rotateY = time * 10;" % objectName) # 中身はいつものExpressionを書く
@redglasses67
redglasses67 / getAnimCurveValue.py
Last active December 25, 2019 05:16
キーフレームを取得、変更する
import maya.api.OpenMaya as om2
import maya.api.OpenMayaAnim as oma2
selList = om2.MGlobal.getActiveSelectionList()
mObject = selList.getDependNode(0)
# findPlug を使って取得する場合
dependencyNode = om2.MFnDependencyNode(mObject)
transXplug = dependencyNode.findPlug('tx', 0)
@redglasses67
redglasses67 / getAndSetTRSValues.py
Created December 25, 2019 04:51
TRSの値を取得、変更する
import maya.api.OpenMaya as om2
selList = om2.MGlobal.getActiveSelectionList()
mDagPath = selList.getDagPath(0)
transform = om2.MFnTransform(mDagPath)
trs = transform.translation(om2.MSpace.kTransform)
print("translation = %s" %trs)
trsW = transform.translation(om2.MSpace.kWorld)
@redglasses67
redglasses67 / renameNode.py
Last active December 25, 2019 04:40
ノードをリネームする
import maya.api.OpenMaya as om2
dgModifier = om2.MDGModifier()
dgModifier.renameNode(mObject, "hogehoge") # 第1引数は MObject で、第2引数に 変更したい名前 です
dgModifier.doIt() # この doIt() を書き忘れると実行されないのでご注意を