[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
ただいまコメントを受けつけておりません。
import pymel.core as pm import maya.cmds as cmds #指定ノード以下のシェイプノードのバウンディングボックスを取得 def get_boundingbox(root): if isinstance(root,str) == True: root = pm.PyNode(root) transforms = root.listRelatives(ad=True,type="transform") pm.select(transforms) bbox = cmds.polyEvaluate(b=True, ae=True) return bbox #バウンディングボックスの位置にロケータ作成 def make_bbox_locator(bbox ,root): for x in bbox[0]: for y in bbox[1]: for z in bbox[2]: l = pm.spaceLocator(p=(x, y, z)) pm.parent(l ,root) min = int(pm.Env().minTime) max = int(pm.Env().maxTime) step = 5 #フレームステップ数 obj = pm.selected()[0] root = pm.group(em=True, name='bbox_root') for fr in range(min ,max ,step): pm.currentTime(fr) bbox = get_boundingbox(obj) make_bbox_locator(bbox ,root)