3DCGbook

映像プロダクションに所属しています。主に毎日のアウトプットを配信していこうと思います。

Python

OpenMaya 勉強中 その5 [SinNode]

そういえばMayaってsin、cosノードってありましたっけ? ノードとしてはないような…sinノードにPlusMinusAverageとか、MultiplyDivideとかはさめば 結構使えたりしそうですよね。カメラシェイカーとかそういうのに。個人的に、こういう初歩的なプラグインか…

OpenMaya 勉強中 その4

頂点にpartcleを生成。 これからちょっとアドバンス的なのを目指す叩き台… まずはひたすらおさらいしてます(^^;そういや2014のAPIガイドはPythonの項目がかなり増えてましたね!いい感じ! import sys import maya.OpenMaya as om import maya.OpenMayaMPx a…

OpenMaya 勉強中 その3

フラグをつける方法をなんとなく理解。しかし先は長い! これで、ワールドかローカル座標を返すだけですからね!(笑) スクリプトだったら一行とかですよ!この先のステップまで理解できるように早くなりたい… import maya.OpenMaya as om import maya.OpenMa…

OpenMaya 勉強中 その2

基本的ですが、 1.シーン上にあるポリゴンメッシュを走査 2.それらの頂点情報を出力する import maya.OpenMaya as om dagPath = om.MDagPath() meshFn = om.MFnMesh() pointArray = om.MPointArray() iter = om.MItDag() while not iter.isDone(): iter.getP…

OpenMaya 勉強中 その1

プラグインを作りながらOpenMayaを勉強… というのは僕には合ってなかったみたいです。 というか素人プログラマー気取りの僕にはまだ早かったです(笑)なので、OpenMayaを一つ一つ丁寧に理解していこう!にシフトチェンジしました。 C++だと一つ一つ丁寧にが面…

Maya Python API "HelloWorld"

import maya.OpenMaya as om import maya.OpenMayaMPx as ommpx class pyHelloWorldCmd(ommpx.MPxCommand): #プラグインコマンドを指定する kPluginCmdName = 'pyApiHelloWorld' def __init__(self): ommpx.MPxCommand.__init__(self) def doIt(self, args):…

2頂点をくっつけてキーフレームを打つ

1.くっつけたいとこのvertexを選ぶ 2.くっつけるvertexを追加で選ぶ 3.引数のところにどこからどこまでキーを打つか値を入れる 4.スクリプトの実行 これはシミュレーション用といってもいいでしょう。 シミュレーションはよく暴走するので…くっつけときたい…

Nurbsカーブの座標値を保存して適用

前回ののNurbsCurveバージョン。 いやー、迷った。 NURBSは上手く数値が入ってくれなかったので古典的な方法でSetしてる。 何がしたいかっていうと、 ・キャッシュの数値を保存(ワールド座標) ・キャッシュをなしのものに適用する。 但しこの数値をcvにその…

頂点情報のコピーとペースト

メモレベルのスクリプトなので汚い…。 ただ長いフレームを取得するとやばいかも。 全部をdataに突っ込んでるので(^^; import pymel.core as pm inFrame = 61 outFrame = 137 def getVertexPosition(inFrame,outFrame): global getMesh global data data = []…

再帰:ポーズのコピーとペースト

いろいろ資料を参考にして、 ポーズのコピーとペーストを作ってみた。 正直、再帰って難しいです。 ここで使うんだ!というのが僕には上手く理解できません…(^^; 木になっているものはガンガン再帰使った方がいいのかなぁ。 と、ちょっとスクリプトを書く際…

range と xrange

Pythonのビルトイン関数。 rangeとxrangeの使い方メモ //range ・リストを作るよ! ・当然、リソースの消費あり。 例えば、1000個何かを操作する場合は range(1,1000)となり 1~1000が入った配列が作られてしまう。 //xrange ・範囲を取得するよ! ・リソー…

信じられないOpenMaya(Python)

MScriptUtil Pythonにはポインターやらデータ型とかは特になかったり。 なのでMScriptUtilってのでそれを作ってあげなきゃいけないみたいです。 最後のgetDouble()は引数にポインターを入れてねとか言ってくる。 というか試してみたほとんどがポインターを入…

PyMelのススメ

maya.cmds派とpymel.core派の二派閥(?)があるとは思いますが、 あなたはどっち派ですか? 僕はpymel.core派です。 理由はmaya.cmdsはMELをPython化したようにしか感じなかったからです。 もっと他にも理由があるとは思いますが素人な僕は なんとなく新しくて…

子供のペアレント/アンペアレントの切り替え

英語は適当なので気にせずに… 選択したオブジェクトの子供のペアレント/アンペアレントの 切替をできるものを作ってみました。

2点間の距離の取得関数ってないの?

python、ベクトル とかでぐぐっても何も出てきませんでした。 二点間の距離を返す関数とかあるんでしょうかね。