Mayaのプラグイン開発

Mayaのプラグイン開発を学び始めたのは、修士論文がきっかけだった。
研究テーマは自分で決めたわけだけど、やたらと壮大な妄想を描いて、モデリング・アニメーション・レンダリング全てが実装されていないと実証できない内容だった。もちろん全て自分で実装する時間もスキルも全く持ち合わせていなかった。(当時そこで諦めなかったのはちょっとエライというか、無謀だったと思う)。
そこで、身近な統合CG制作ツールの力を借りようと思った。


スポンサーリンク


この本を買った↓

Complete Maya programming―日本語版 MayaプログラマのためのMEL、C++

サンプルコードのページ

この書籍は英語版だと第2巻も出版されている。

Complete Maya Programming Volume II: An In-depth Guide to 3D Fundamentals, Geometry, and Modeling (The Morgan Kaufmann Series in Computer Graphics Book 2) (English Edition)

それまではJavaを使ってレンダラを書いていてC++も初めてだったので、まず、本に載っているサンプルコードが読めなかった。C++の入門書を買って、短いサンプルを読むところから始めた。

サンプルコードをいじって、だんだんプラグインのお作法が分かってきたところで、もともと専門だったレンダリング関係のプラグインを書こうと思い、Shaderを作ってみた。Maya標準レンダラには無い、Cook Torranceモデルを実装したShader。当時としてはまだ珍しいフルHD解像度でYouTubeにアップしてみた。↓


スポンサーリンク

その時書いたコードはあんまりキレイじゃないけど、とりあえずGitHubに上げておく。

書籍はもう絶版になっちゃったけど、最近はネット上でMayaプラグイン開発に関する日本語の情報が結構手に入る。デジタルフロンティアさんのブログ記事が参考になるかも。
はじめてC++で書くMayaプラグイン

2014年6月23日追記:
この書籍にShaderの書き方は載っていません。書籍はMayaのソフトウェア構造の解説がメインで、コマンド・ノードPluginの例が載っている。ノードPluginのお作法が解ると、応用でShaderノードも書けるようになるという話。
今時Maya Rendererはあんまり使わないんで、実用目的のShaderならmentalrayとかで実装した方が良いです。


スポンサーリンク

関連記事

ZBrushで仮面ライダー3号を造る 仮面編
3Dスキャンしたテクスチャから照明を除去するUnityツール『De Lighting tool』
ZBrushでアヴァン・ガメラを作ってみる おでこ(?)のバランス調整
書籍『The Art of Mystical Beasts』を購入
映画『ミュータント・タートルズ』を観てきた
複数視点画像から3次元形状を復元するライブラリ『openMVG』
R-CNN (Regions with CNN features):ディープラーニングによる一般物体...
Unreal Engine Tokyo MeetUp!へ行ってきた
ZBrushのキャンバスにリファレンス画像を配置する
色んな三面図があるサイト
clearcoat Shader
OpenCLに対応したオープンソースの物理ベースレンダラ『LuxRender(ルクスレンダー)』
Blender 2.8がついに正式リリース!
Unityをレンダラとして活用する
ブログの復旧が難航してた話
HD画質の無駄遣い その2
ニューラルネットワークで画像分類
Mayaのレンダリング アトリビュート
顔追跡による擬似3D表示『Dynamic Perspective』
ラクガキの立体化 3Dプリント注文
ZBrushで手首のモデリングをリファイン
映画『ジュラシック・ワールド』のVFXメイキング
自前のShaderがおかしい件
日本でMakersは普及するだろうか?
Open Shading Language (OSL)
シン・ゴジラのファンアート
ZBrushでアヴァン・ガメラを作ってみる モールドの彫り込み・身体の形出し
AR (Augmented Reality)とDR (Diminished Reality)
Managing Software Requirements: A Unified Approach
1枚の画像からマテリアルを作成できる無料ツール『Materialize』
サンプルコードにも間違いはある?
Google App Engineのデプロイ失敗
fSpy:1枚の写真からカメラパラメーターを割り出すツール
OpenCVの超解像処理モジュール『Super Resolution』
ZBrushでカスタムUIを設定する
SIGGRAPH ASIAのマスコット
ZBrushトレーニング
adskShaderSDK
Deep Learningとその他の機械学習手法の性能比較
Python for Unity:UnityEditorでPythonを使えるパッケージ
SONY製のニューラルネットワークライブラリ『NNabla』
マルコフ連鎖モンテカルロ法

コメント