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とかで実装した方が良いです。

関連記事

Adobe Photoshop CS4 Extendedの3Dモデル編集機能

MFnMeshクラスのsplit関数

OpenCVで平均顔を作るチュートリアル

html5のcanvasの可能性

オープンソースの取引プラットフォーム

実写と実写の合成時の色の馴染ませテクニック

ZBrushでアヴァン・ガメラを作ってみる 口のバランス調整

Unityからkonashiをコントロールする

WordPressプラグインの作り方

BlenderのGeometry Nodeで遊ぶ

『PIXARのひみつ展』に行ってきた

HTML5・WebGLベースのグラフィックスエンジン『Goo Engine』

uvでWindows11のPython環境を管理する

BlenderでPhotogrammetryできるアドオン

AmazonEC2のインスタンスをt1.microからt2.microへ移行する

タマムシっぽい質感

Google XML Sitemap Generatorプラグインを3.4.1へダウングレード

自前Shaderの件 解決しました

ZBrushで基本となるブラシ

Gource:バージョン管理の履歴を可視化するツール

2D→3D復元技術で使われる用語まとめ

今年もSSII

Javaで作られたオープンソースの3DCGレンダラ『Sunflow』

ZBrushでアヴァン・ガメラを作ってみる 腕の作り込み

機械学習で遊ぶ

Manim:Pythonで使える数学アニメーションライブラリ

ドットインストールのWordPress入門レッスン

Maya 2015から標準搭載されたMILA

Maya には3 種類のシェーダSDKがある?

UnrealCLR:Unreal Engineで.NET Coreを利用できるプラグイン

世界一下品なクマと世界一紳士なクマ

HD画質の無駄遣い

OpenCVのfindEssentialMat関数を使ったサンプルを読んでみる

Physically Based Rendering

『ゴジラ キング・オブ・モンスターズ』のVFXブレイクダウン

Google App Engineのデプロイ失敗

顔のモデリング

JavaScriptとかWebGLとかCanvasとか

ブラウザ操作自動化ツール『Selenium』を試す

Unity MonoBehaviourクラスのオーバーライド関数が呼び出される順番

CGALDotNet:計算幾何学ライブラリ CGALのC#ラッパー

ZBrushトレーニング

コメント