Skip to content

Instantly share code, notes, and snippets.

@redglasses67
redglasses67 / getAnimStartEndFrame.py
Last active December 23, 2022 21:15
アニメーションの開始終了フレームを取得
import maya.api.OpenMayaAnim as oma2
# アニメーションの開始終了フレームを取得
animationStartTime = oma2.MAnimControl.animationStartTime() # アニメーションの開始フレーム
print("animationStartTime = {} - {}".format(animationStartTime, animationStartTime.asUnits(animationStartTime.uiUnit())))
animationEndTime = oma2.MAnimControl.animationEndTime() # アニメーションの終了フレーム
print("animationEndTime = {} - {}".format(animationEndTime, animationEndTime.asUnits(animationEndTime.uiUnit())))
minTime = oma2.MAnimControl.minTime() # 再生範囲の開始フレーム
@redglasses67
redglasses67 / getAllNodeInScene.py
Created December 23, 2022 20:57
シーン内のすべてのノードを取得
import maya.api.OpenMaya as om2
dependencyNodes = om2.MItDependencyNodes()
while not dependencyNodes.isDone():
currentNode = dependencyNodes.thisNode()
dependencyNode = om2.MFnDependencyNode(currentNode)
print("name = {} : typeName = {}".format(dependencyNode.name(), dependencyNode.typeName))
dependencyNodes.next()
@redglasses67
redglasses67 / displayFloatAttrAnnotation.py
Last active March 3, 2024 18:19
Maya で float 値をビューポート上に注釈として表示する
import maya.cmds as mc
import maya.mel as mel
def displayFloatAttrAnnotation(offsetY=0):
selList = mc.ls(sl=True)
if len(selList) == 0:
mc.warning("Please select any object...")
return
channelBox = mel.eval('global string $gChannelBoxName; $temp=$gChannelBoxName;')
@redglasses67
redglasses67 / getConnectedVertexListPerShell.py
Created December 24, 2024 19:33
同一オブジェクト内のシェルごとの頂点リストと中心座標を取得
# -*- coding: utf-8 -*-
import maya.cmds as mc
import maya.api.OpenMaya as om2
from typing import List, Dict
def findConnectedVtxIndexes(targetVtxIndex: int, srcVtxIndexDict: dict, shellVtxIdList: list) -> list:
"""
srcVtxIndexDict 内で targetVtxIndex と繋がっている頂点のインデックスを探す.
繋がっているものは同じシェル内にある頂点となる.