3DCGbook

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

OpenMaya

三次元回転を極める

タイトル… 懐かしいタイトルと思った方は同志と勝手に思います。元ネタはこちら。 3次元回転を極める ~ 一歩進んだキャラクタアニメーションプログラミング ~ | CEDEC 2010 | CESA Developers Conference懐かしいですね。 CEDECのいいところは、基礎から教…

Maya Python API 2.0 のMatrix計算が便利

Maya Python API 2.0、凄く便利ではまってます。Maya Python API 1.0だと、MScriptUtilェ…な問題が発生してたのですが…。 お手軽にmatrix計算ができるので勉強になります。例えば、 import maya.cmds as cmds import maya.api.OpenMaya as om2 """ # DAG pSp…

Maya - 回転変換系プラグインを2つ作りました。

3Dにとって回転というのは大きな問題…。 ただMayaってオイラー以外あまりサポートしてない気がする。 いや、Mayaのデフォルトでも頑張ればクォータニオン回転は得ることは可能ではあるが…。といっても余計な機能も付いちゃってるので、 そのくらい自分で作っ…

OpenMaya 勉強中 その6 [LocatorNode]

さすがにこれは無駄に長いので書きはしないけど… 本当、OpenGLの勉強すればいろいろできそうですね! これはキューブなんだけど…これだけでも結構感動しました。なのでちょっとOpenGLの勉強しようかなーという気持ちになれてます(^^)

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):…

はじめてのOpenMaya ~Attributes~

完全にメモレベルなので汚いですが… maya.cmdsやPyMelだったらすぐ取得できるのに…とたまに考えてしまう。 変数 = 関数(セットするもの) に全く慣れないです(^^; #MSelectionListを作る。これはオブジェクトを入れておく配列。 mSel = OpenMaya.MSelectionLi…

はじめてのOpenMaya ~Iterator~

正直言います。 OpenMaya…心が折れる程、理解不能な時あり。 それでもやります!頑張ります。 さて、簡単に今日やったIteratorの使い方をまとめておきます。 気づいたけど、結構会社で自分のブログを見てます。 困った時にメモっておくと意外と使えるなーと…

信じられないOpenMaya(Python)

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