PmxEプラグインが作りたいの巻

途中で挫折するかもしれない、私による私のための私のPMDEプラグイン作り。

今回のブログ記事は、今読んでいるラノベの文調に非常に影響されていることを先に明記しておく。


まず、.DLLというのが何で開けるかが分からない。
そう、私はプログラミングというのは、Visual Basicしかやったことがないのだ。
VBをプログラミングと呼んでいいのかどうかも分からない。
ともかくここは素人であることを極端に強調しておきたい、そんな気分なのである。

まず何が作りたいかというと、「各指握り拡散ボーン追加プラグイン」である。
「おやおや、握り拡散ボーン追加プラグインならすでにありますぜ」とお思いの方も多いだろうが、
私が作りたいのは「各指」なのである。
指を1関節ずつ曲げるのは面倒ではあるまいか?
各指握り拡散ボーンならば、1ボーン曲げるだけで指がくいっと曲がるのだ。
実に実感覚に近い。

ベルギーモデルには導入されているが、あれは手作業で延々と親子関係を組み替えた結果である。
手作業で指10本分を組み替えればいいのだが、それがめんどくさいからプラグインである。
プログラムとは、人間はいちいちやるのをめんどくさい処理を、
プログラム任せにして人間は優雅に紅茶でも飲みながらゲームでもやるために作るのだ。

ちなみに、そのためにかかる手間などの時間と手作業とどちらが早いかは、
何度その工程を繰り返すかによって変わってくる。
私はこれから作るモデルには全部「各指握り拡散ボーン」を入れたいのだ。
何故なら便利だからである。

そう、純然たる初心者の私は、まずプラグインが何の言語で書いてあるかすら知らないのだ。
ぐぐってみた。
「PMDE プラグイン 作り方」
出ない。
普段から「ググレカス」を連呼している私ではあるが、出ないのでは困った。

ちなみにこのような、おそらくとても親切なものがあったが、
私にとってはまだ何のことかさっぱり分からぬ。
PMDE_Plugin astah* プロジェクトファイル
とりあえず「なるほどね!」と言っておいたが、誰も聞いていない。

とりあえず、かたっぱしから人様の配布なさっているプラグインを開いていると、
そぼろさんのところに
「■開発環境 Microsoft Visual C# 2010 Express Edition」
と書いてあった。
神ではなかろうか。
「そぼろ」の三文字に、にわかに後光が差した。

ひとまず私は、Microsoft Visual C# 2010 Express Editionとやらが、
有料ソフトだったらどうしようと怯えながら、ダウンロードページに行った。
「数万円ほどする専門的なソフトで素人が購入するとは考えづらい~」というあのニュースが頭をよぎる。
ちなみに私の動画も、数万円する高価なソフトでできています。
すっかりAdobeの犬である。

しかしながら、Microsoft Visual C# 2010 Express Editionは、
運良く無料だったため、無事ダウンロードすることが叶った。
Microsoftは時々寛大である。
うちのMicrosoftは未だに2003である。
windowsOSとパッケージ商売にしようったってそうはいかぬ。

とりあえず、Microsoft Visual C# 2010 Express Editionをインストールした。
うむ、名前が長い、MVC#でいいか。
とりあえず、初心者がやることは、まず先人たちの道筋を読み、それをパクる参考にすることである。

…….dllファイルは開かなかった。
そう、そういえばそうであった。
プログラム系のファイルは一度コンポーズだったかコンパイルだったかすると、
それは起動用のものになって、中身が見えない。
思い出してまいりましたよ。
VBAの知識も役に立つものだ…へへへ…。

むぅ、思い出したところで前進しない知識も思い出したところで、二度目の壁にぶち当たった。
C#で書けることは分かったが、書式も何も分からぬ。
PMDEに「Hello world!」とでも表示させてみるか…。

起動して、新規作成するとご親切にもこのような画面が出る。
エクセルやワードでも似たようなのが出た気がするが、初心者にはより分かりづらいのではなかろうか。
nnn0480.jpg

と、思って再び、もらってきてあるプラグインのフォルダを一つ一つ開いていたら、
「pmdDummyMorph」のところに、.csファイル(C#ファイル)が!!!
そぼろ様!!!!
これで例文はなんとかなった。
なんとかなって中身を見てみるが、なるほど…わからん。
むむむ、もしやここでさっきのプロジェクトファイル図が生きてくるのではないか!
うむ!読める!読めるぞ!
ところで、.cxファイルが時々同梱されてるが、これは開けないのか…?
ぐぐっても怪しい日本語のサイトが出てくる。


さて、プログラミングの基本であるやりたい手順を列挙してみよう。
1. X手握りボーンを追加する(親:Y手首)。
2. Y握りのボーンを追加する(親:Y手首、X手握り回転連動1)。
2. PMXからボーン名を取得する。
3. XY指nのボーン名を発見したらその前(インデックス順の前)に、XY指握n握ボーンを挿入する。
4. 追加ボーンの親は該当ボーンの親にする。
5. XY握りボーンへの回転連動1を付与させる。
4. XY指nの親をX指握n握に変更する。
これの繰り返しである。
ただし、拡散ボーンのことを考えていないので、
n=1の時のみ例外が発生して、
XY指n握の後にXY指n拡を追加し、なおかつここの親子関係は、
Y手首→XY指握1→XY指拡1→XY指1の順である。

うむ、できた。もうプログラミングの半分くらいできた気になった。
XとかYとかnとかあると混乱する人もいるだろうが、プログラミングは基本は変数でやるものだ。
まあ、今回はXには「右」とか「左」とか、Yには「人」とか「親」とか「中」とか入るんだけど。

というか、握り拡散プラグインはあるので、もうこれはこれを頼って、
各指にするのだけ考えた方がいいかもしれない。
1. X手握りボーンを発見したら、コピーして、コピー後のボーンの名前をXY握りに変える。
2. 付与率:1、付与親:X手握りで、回転連動付与。
3. XY指1握り1の付与親をXY握りに変更。
4. 1-3の間を、Yが「人」から「小」になるまで繰り返す。
5. 1-4の間を、Xが「右」から「左」まで繰り返す。

これならできそう。もう完成した気がする。


ここで未だに躓いている。というか飽きてモデリングを始めた。
引き続き頑張る日は来るのだろうか。

コメントの投稿

非公開コメント

プロフィール

のののP

Author:のののP
絵描いたり動画作ったり歌ったり3Dモデリングしたりゲームしたり。

■ニコ動
mylist/2325248
■youtube
nononoP00
■Pixiv
id=141058
■連絡
opm_niconico○yahoo.co.jp
○→@

MMD配布系まとめ
PMDE講座まとめ
blender tips

配布物以外の無断使用禁止。

商用利用、商業依頼については上記連絡先までメール下さい。

カテゴリー
アーカイブ
ブログ内検索
リンク
RSSフィード