いつの間にやら PMX(2.0)を作って 2年ぐらいが過ぎたようですね。いい機会なので当時の裏話的なお話でもちょっと書いておこうかと思います。
もしかすると「裏側なんて知りたくなかった・・・」と思われるようなこともあるかもしれませんので、心の余裕に自信のない方はご遠慮された方がよいかもしれません。その覚悟のある方は以下へどうぞ。
■PMX(2.0)を作った理由
単純に「PMDが限界だったから」ということによります。
モデラーさんだけでなくモーション作成や映像表現、さらには当時急拡大していた MMEによるエフェクトシステムに至るまで、本来出せるはずのポテンシャルが "PMDの仕様制限" という理由からうまく発揮できませんでした。
また PMDが作られた当時(MMDver3)と比べ MMDユーザーや自作モデルを作る方も飛躍的に増え、さらに MMEなどによる高度な機能拡張も進んでいく中、それらの拡大・拡張へモデルフォーマットとしてもうまく対応できるよう、仕様を一度整理しておく必要がありました。
そういった理由から必要になったが PMX(2.0)という訳です。
■コンセプト
PMXが「PMd eXtend=拡張PMD」というのは概要紹介にも書いてありますが、拡張/更新の基本方針として、
・MMDで(ちゃんと)動く
・MMDのインターフェイス(操作性)は一切変えない
・コストパフォーマンスの維持(=必要以上に重くしない)
・PMDの諸問題の解決
・公開仕様
といったあたりが重要なものと考えていました。
MMDは従来の 3DCG環境と異なり「リアルタイム運用がベース/編集中の映像=最終出力映像」といった特徴があるので、モデル側の変更によってそれらの環境が極力損なわれないように注意する必要があります。
結局のところは、小手先を少し弄る程度でそれなりの益を出さなくてはならない、という結構な制約の中での拡張作業でした。
未だに「PMXになって何が変わったのかよく解らない」というユーザーさんもいるかもしれませんが、ある意味狙い通りと言えるのかもしれません。
また現状あまり気にされる方は多くありませんが、完全な公開仕様になったのも実は大きな変更点でした。昨今は既に忘れている/そもそも知らない、というユーザーさんも多いように思いますが、PMDは、
ユーザーが勝手に解析し、
ユーザーが勝手に改造できるようにし、
ユーザーが勝手に作成できるようにした
ものです。PMDについて正式な公開仕様は存在しません。当然のことながら自分もそんなものは一切持っていません。
ユーザーモデルの作成など現状自由に使えることに変わりはありませんが、PMDの取り扱いはあくまで "MOD" 的なものであることを忘れないようにして頂きたいものです。
■軽〜い感じ
「新しいモデルフォーマット作りましたよー」といっても、それが実際に MMDで動かなければ大して意味はありません。
個人的には PMDの更新や拡張は Mがやることだと思っていましたし、そういう発言も(本気かどうかは定かとして)度々あったので「はよ!」ぐらいの冗談的なやりとりに終始していましたが、
とある企画の際スカイプで直接話せる機会があったので、
..「PMD色々しんどいし、なんか新しいフォーマット作ってもええん?」
M 「いいんじゃね?」
..「んじゃ適当にやってみるわ」
M 「全部は対応せんかもよー」
..「おk」
・・・みたいな感じで、とてもとても軽いノリで始まったのが現在の PMX(2.0)でした。
一応 Mの了解をとった上で始めたことだというのは、憶えておいて頂けるとよいかもしれません。
■実装されない未来予想
PMX(2.0)の仕様を作り始めた当初から「Mの気分次第だから実現されないかもしれないよ!」ということはよく言ってましたが、別にネタでもなんでもなく正直な自分の認識でした。
冒頭の "PMX概要" の投稿日をわざわざ例の日に設定したのもそういう理由からです。
自分は MMDに実装されてもされなくても関係なく PMXは作りますし、PMDエディタも自身の判断で PMXベースに換装してしまいますが、それと MMDで運用できるようになるかは別の話ですからね。
「"あのM" がわざわざこんな面倒なことに労力割いてくれる?・・・無理じゃね?(笑)」
みたいに思ったユーザーはおそらく自分だけではなかったと思います。
■もう戻らないPMDエディタ
PMX仕様に対応するため、PMDエディタは一度バラバラに解体されました。文字通りコード素片として分解され、PMXベースにするため、ほぼ一から作り直しという勢いで換装作業が行われました。
ある程度仮組みを行ったのち、エラー表示に従い一つ一つ問題を修正していく作業においても、表示されるエラー数は常に最大数(300件程度)のままかわらず、
実際修正作業をしている自分でさえ「もう二度と起動できんかもしれんなぁ・・・」と途中でさじを投げたくなったほどです。
その作業がだいたい 2〜3週間ほど続き、おそらく修正したエラー箇所は大小合わせて最終的に千件以上になったと思われます。見た目や操作性はさして変わっていませんが、PMX対応の PMDエディタを作るには PMX仕様をまとめる以上の苦労がありました。
もしあのまま PMDエディタの換装に失敗していたとしたら、PMX(2.0)はお蔵入りとなり、PMDエディタの歴史も 0100をもって終了していたかもしれません。
■PMXオワタ
この手の話題は基本的に避けるのが常道でしょうが、流石に今はもう笑い話のようなものとして扱ってもよいものと思い、あえて書くこととします。
PMX(2.0)用の PMDエディタも完成し、また MMD側も PMX対応したのち・・・というかその直後、例の事件が発生しました。
おそらく MMDコミュニティ始まって以来の最大の大事件だったと思いますが、そうです・・・突然のあの「MMD開発終了宣言」です。
自分的にはとんだ寝耳に水状態でしたし、状況から考えて「PMXのせいだよね?」と思っても、またそう思われても仕方ない・・・というか普通に「いやそれ以外何が?」と自分でも思っていたぐらいですからね。
案の定そういう方向での騒ぎやら何やらで ややこしいことになってしまい、さらにそれに加え 最終版となった MMD7.39及び PMX対応の MMDには解決不能な致命的問題もいくつか内包されたままとなりました。
実質的に MMDにおいては「PMX終了」です。現実はいつも非情ですね。
・・・幸いなことにその後しばらくして、MMD7.39.という不具合修正版が作られたことで、奇跡的に首の皮一枚繋がりましたが、あのまま 7.39が本当に最終版になっていたとすれば、MMD互換ツールなどが普及するまで PMXは暗黒の中を彷徨うこととなっていたでしょう (たとえ互換ツールが普及したとしても最悪のイメージを払拭するのは多分無理)
事の真相はともかくこの事件をきっかけに、未だに PMX(や自分)に悪印象を持たれている方もいるかもしれませんが、まあ仕方ないことですね。
■1.0
ここまでウザイぐらいに "(2.0)" というのを付けて書いてきましたが、一般的にバージョンは 1.0ないしそれ以下から始まるものなのに、何故 PMXは "2.0" になっているのか疑問に思われなかったでしょうか?
実は PMXは元々 PMDエディタ内で私的に使用していた拡張PMDフォーマットの拡張子でした。プラグインから利用することは可能でしたが、あくまで自分用として用意していたものです。
それが MMDで動く新しいモデルフォーマットを作ろう、ということになった際、流石に自分が正式な形として PMDver2を作るわけにはいきませんので、既にあった PMX(1.0)を更新して対応した(→PMX2.0)、という次第です。
たまに勘違いしているようなコメントを見掛けますが、PMXは元々自分用に作ったものです。それを自分の責任において公開仕様として、自由に使えるようにしているだけです。MMD的な公的なナニカではありません。
■PMX2.1とPMXエディタ
PMX2.1は MMDでは動かない PMXです。現在は MMMにおいて仕様のほとんどに対応されています。
PMXエディタは PMX2.1に対応するとともに、過去作ってきた PMDエディタの澱みを取り除いた直系ツールです。PMX2.0の編集にもそのまま利用できます。
どちらもこのブログに移住してきた以降のものなので、詳しくは過去の日記を参照して貰えばよいかと思います。
当初 PMXエディタは 64bit環境専用でしたが、現在は 32bit環境でもほぼ問題なく使えるようです。
結果として PMDエディタは完全に "いらない子" になったわけで、PMXエディタが動かない/プラグインが使えない、などの特別な理由でもない限り、PMDエディタの利用は現在は推奨しません。
※一応、書籍関連などで紹介されていたりするので、今後もPMDエディタの公開自体は続きますが、気分的にはいつ消えてもおかしくない、といった程度であると思って頂ければよいかと思います。
※過去版に関しての再UPも基本放置していますが、書籍関連などで明確な許諾を取られている以外は、基本的にアウトという認識でOKです。
これらの仕様やツールが今後どうなっていくのかなど、先の話はまだまだ解りませんが、今までがそうだったように、これからもきっと色々なことがあるでしょう。
以上、ここまで目を通された方、本当にお疲れさまでした。
PMX(2.0)も作ってから結構な時間が経ち、自分的にも多くの記憶が忘却の彼方へ飛んでいる有様なので、一度まとめっぽいことをしておきました。
【関連する記事】