ちょっとしたスクリプト
先日、モデルの改造をしていた際に必要となって書いた簡単なスクリプトをいくつか紹介します。
調べてはいませんが、同じような事もしくはもっと高度なことを実現するスクリプトやプラグインは既にあったりすると思います。しかし、こういった小さなスクリプトを普段から書いておくと色々な場面で流用ができて便利なので、ちょっとしたものであれば書くことにしています。書いた方が早いというのもありますが、書くのもまた楽しいですので。
プラグイン化せずにスクリプトのカタチで残しておくとその場その場のニーズに合わせて弄れるので便利良いです。また、こうしてスクリプトで晒しておけば、プラグインやスクリプトをどうやって書けば良いかわからないという人の参考になるかも知れません。
基本的な使い方は、PMXEditor(PMDEと略)のメニューから[編集]-[プラグイン]-CSScriptと選び、簡易形式のタブにコードをコピペして実行ボタンを押す事で処理されます。
常用するならプラグイン化も簡単で、CSScriptの画面から[編集]-簡易形式を一般形式に変換を実行し、"CSScript生成プラグイン"と書かれた文字を適当な名前に変えたあとに、[ファイル]-プラグインDLL生成を実行し作成します。
作成したDLLはPMDEのプラグインフォルダにコピーすると次回起動時からプラグインとして使用できるようになります。
[PMDE]選択頂点の鏡像選択
モデル編集中にX軸を挟んで反対側の頂点、つまり鏡像を選択したくなることが時々あります。私がよくやってしまうは、ウェイトの鏡像反映をしようと思って一生懸命頂点を選択したのはいいけれど、処理をするために選択しないといけないのは反対側だったなんて時に、このスクリプトを実行します。
[PMDE]頂点の選択状態を保存する
選択頂点の記憶はPMDE標準機能にもありますが、一旦作業を中断してPMDEを終了する時、モデルを読み直したい時に今の選択状態を保存する際に使用します。
[PMDE]頂点の選択状態を読む
前述の「選択状態を保存」で保存した選択状態を読み込んで頂点を選択します。
基本的には頂点番号で管理していますので、頂点を入れ替えたり削除したりすると正常に動作しません。そういったとき、SHIFTキーを押しながらスクリプトを実行すると頂点座標で選択しようとします……がうまくいくとは限りません。
[PMDE]頂点モーフから選択頂点のみを抜き出す
たとえば、「まばたき」のモーフを選択し、顔の左側の頂点を選択してスクリプトを実行すると、左ウィンクのモーフが出来上がります。モーフを分離したいときなど、余計な頂点がモーフに入ってしまったときなどに使用します。
[PMDE]頂点モーフを合成する
いくつかのモーフを合成して新たなモーフを合成します。おそらくTransformViewを駆使すれば同じ事はできるのでしょうが、作成したいモーフがたくさんあったり繰り返し同じ作業をやらないといけない事が多いのでスクリプト化します。
と、まぁ他にも書き捨てのスクリプトは幾つかありますが、整理できれば紹介したいと思います。
PMDE界隈はプラグイン作家さんが意外に少ないので、もっと増えてほしいですね。
調べてはいませんが、同じような事もしくはもっと高度なことを実現するスクリプトやプラグインは既にあったりすると思います。しかし、こういった小さなスクリプトを普段から書いておくと色々な場面で流用ができて便利なので、ちょっとしたものであれば書くことにしています。書いた方が早いというのもありますが、書くのもまた楽しいですので。
プラグイン化せずにスクリプトのカタチで残しておくとその場その場のニーズに合わせて弄れるので便利良いです。また、こうしてスクリプトで晒しておけば、プラグインやスクリプトをどうやって書けば良いかわからないという人の参考になるかも知れません。
基本的な使い方は、PMXEditor(PMDEと略)のメニューから[編集]-[プラグイン]-CSScriptと選び、簡易形式のタブにコードをコピペして実行ボタンを押す事で処理されます。
常用するならプラグイン化も簡単で、CSScriptの画面から[編集]-簡易形式を一般形式に変換を実行し、"CSScript生成プラグイン"と書かれた文字を適当な名前に変えたあとに、[ファイル]-プラグインDLL生成を実行し作成します。
作成したDLLはPMDEのプラグインフォルダにコピーすると次回起動時からプラグインとして使用できるようになります。
[PMDE]選択頂点の鏡像選択
モデル編集中にX軸を挟んで反対側の頂点、つまり鏡像を選択したくなることが時々あります。私がよくやってしまうは、ウェイトの鏡像反映をしようと思って一生懸命頂点を選択したのはいいけれど、処理をするために選択しないといけないのは反対側だったなんて時に、このスクリプトを実行します。
[PMDE]頂点の選択状態を保存する
選択頂点の記憶はPMDE標準機能にもありますが、一旦作業を中断してPMDEを終了する時、モデルを読み直したい時に今の選択状態を保存する際に使用します。
[PMDE]頂点の選択状態を読む
前述の「選択状態を保存」で保存した選択状態を読み込んで頂点を選択します。
基本的には頂点番号で管理していますので、頂点を入れ替えたり削除したりすると正常に動作しません。そういったとき、SHIFTキーを押しながらスクリプトを実行すると頂点座標で選択しようとします……がうまくいくとは限りません。
[PMDE]頂点モーフから選択頂点のみを抜き出す
たとえば、「まばたき」のモーフを選択し、顔の左側の頂点を選択してスクリプトを実行すると、左ウィンクのモーフが出来上がります。モーフを分離したいときなど、余計な頂点がモーフに入ってしまったときなどに使用します。
[PMDE]頂点モーフを合成する
いくつかのモーフを合成して新たなモーフを合成します。おそらくTransformViewを駆使すれば同じ事はできるのでしょうが、作成したいモーフがたくさんあったり繰り返し同じ作業をやらないといけない事が多いのでスクリプト化します。
と、まぁ他にも書き捨てのスクリプトは幾つかありますが、整理できれば紹介したいと思います。
PMDE界隈はプラグイン作家さんが意外に少ないので、もっと増えてほしいですね。