舌の移植
ぷれでたぁ様がセットアップされたモンテコア様の茨木華扇に、同じくモンテコア様の巡音ルカの舌を移植します。
華扇の舌も動きますが、ルカのほうが舌のモーフの種類が多いためこれを使用したいと思います。
まずルカの舌を取り出します。
材質で分かれていないので選択しづらいですが、カメラをうまく移動させて頭の中を覗きます。舌が見えたらどれか面を選択し CTRL+X を押すと舌だけが選択されます。
入り組んだモデルの場合は、どるる様のUVエディタ(http://bowlroll.net/up/dl15244)を使用すればUV展開図から頂点が選択できますので簡単かもしれません。

ルカのモデルから今選択した舌だけを残して削除します。
要するにこの頂点の選択状態を反転すれば良いのですが、PMXEditorに該当するコマンドが見当たらなかったのでスクリプトを書きました。
[PMDE]選択頂点を反転する
舌が選択された状態でスクリプトを実行すると、選択状態が反転されて舌以外が選択されますので、そのまま SHIFT+DELで削除します。

頂点は舌だけが残りました。あとはボーンや剛体、ジョイントなども不要ですので削除します。ただし、頭ボーンは舌がウェイトとして持っていますので残しておきます。モーフも舌に関係ないものは削除します。

結果として各オブジェクトはこのような風になります。これでルカの舌の準備は終わりましたので、モデルを別名で保存してPMXEditorを終了します。
次に華扇をPMXEditorで開き、ルカのときと同じように舌を選択します。この舌はルカの舌と置き換えることになりますので座標を覚えておきます。舌が選択された状態でオブジェクト操作パネルを開き、値指定タブで重1ボタンをクリックすると選択された頂点の中心座標が求まりますのでこの値をメモしておきます。
値を記憶したら、そのまま舌をCTRL+DELで削除します。

次に先ほど準備したルカの舌を追加読み込みします。

ルカは背が高いですので舌の位置が華扇とは合っていないのがわかります。追加読み込み時に同名ボーンのマージをすると自動で位置を調整してくれるかとも思いましたが、このあたりの仕組みはよく判りません。一度ちゃんと調べる必要がありそうです。
ここでは先ほどと同様に舌の位置を知ら得て、先ほど得た舌の座標との差分だけ移動します。
余談ですがPMXEditorの中身を調べていて気が付いたのですが、このオブジェクト操作パネルの移動や回転といったボタンをShiftキーを押しながら右クリックすると値を0に初期化してくれます。CTRLキーだと反転ですね。こういうのってどこかにマニュアルが書かれているのでしょうか?

移動の X, Y, Z に差の値を入力して移動ボタンをクリックすると華扇の元あった舌の位置に移動されました。
次は材質変更です。
ルカの舌を読み込みましたので、舌に割り当てられている材質は未だルカのもののままです。

材質リストに華扇本来の材質である「顔」と、追加読み込みしたルカの「顔」が登録されています。
モンテコア様のモデルの場合、顔のUVは共通であることが多いですので材質を結合するだけで対処できます。リストから両方の材質を選択し、右クリック>材質の材質の結合を実行します。
最後にモーフの結合です。

モーフを確認します。みると、もともとあった「あ、う、え、お」といったモーフと後から追加した舌のモーフが別々に登録されています。これはメニューから編集>モーフ>同名モーフのマージを実行してまとめて終わりです。

以上、舌についてはボーンを入れても良いのですが、モーションでは結局使わないことが多いですので舌はモーフだけでも十分かもしれません。
華扇の舌も動きますが、ルカのほうが舌のモーフの種類が多いためこれを使用したいと思います。
まずルカの舌を取り出します。
材質で分かれていないので選択しづらいですが、カメラをうまく移動させて頭の中を覗きます。舌が見えたらどれか面を選択し CTRL+X を押すと舌だけが選択されます。
入り組んだモデルの場合は、どるる様のUVエディタ(http://bowlroll.net/up/dl15244)を使用すればUV展開図から頂点が選択できますので簡単かもしれません。

ルカのモデルから今選択した舌だけを残して削除します。
要するにこの頂点の選択状態を反転すれば良いのですが、PMXEditorに該当するコマンドが見当たらなかったのでスクリプトを書きました。
[PMDE]選択頂点を反転する
舌が選択された状態でスクリプトを実行すると、選択状態が反転されて舌以外が選択されますので、そのまま SHIFT+DELで削除します。

頂点は舌だけが残りました。あとはボーンや剛体、ジョイントなども不要ですので削除します。ただし、頭ボーンは舌がウェイトとして持っていますので残しておきます。モーフも舌に関係ないものは削除します。

結果として各オブジェクトはこのような風になります。これでルカの舌の準備は終わりましたので、モデルを別名で保存してPMXEditorを終了します。
次に華扇をPMXEditorで開き、ルカのときと同じように舌を選択します。この舌はルカの舌と置き換えることになりますので座標を覚えておきます。舌が選択された状態でオブジェクト操作パネルを開き、値指定タブで重1ボタンをクリックすると選択された頂点の中心座標が求まりますのでこの値をメモしておきます。
値を記憶したら、そのまま舌をCTRL+DELで削除します。

次に先ほど準備したルカの舌を追加読み込みします。

ルカは背が高いですので舌の位置が華扇とは合っていないのがわかります。追加読み込み時に同名ボーンのマージをすると自動で位置を調整してくれるかとも思いましたが、このあたりの仕組みはよく判りません。一度ちゃんと調べる必要がありそうです。
ここでは先ほどと同様に舌の位置を知ら得て、先ほど得た舌の座標との差分だけ移動します。
余談ですがPMXEditorの中身を調べていて気が付いたのですが、このオブジェクト操作パネルの移動や回転といったボタンをShiftキーを押しながら右クリックすると値を0に初期化してくれます。CTRLキーだと反転ですね。こういうのってどこかにマニュアルが書かれているのでしょうか?

移動の X, Y, Z に差の値を入力して移動ボタンをクリックすると華扇の元あった舌の位置に移動されました。
次は材質変更です。
ルカの舌を読み込みましたので、舌に割り当てられている材質は未だルカのもののままです。

材質リストに華扇本来の材質である「顔」と、追加読み込みしたルカの「顔」が登録されています。
モンテコア様のモデルの場合、顔のUVは共通であることが多いですので材質を結合するだけで対処できます。リストから両方の材質を選択し、右クリック>材質の材質の結合を実行します。
最後にモーフの結合です。

モーフを確認します。みると、もともとあった「あ、う、え、お」といったモーフと後から追加した舌のモーフが別々に登録されています。これはメニューから編集>モーフ>同名モーフのマージを実行してまとめて終わりです。

以上、舌についてはボーンを入れても良いのですが、モーションでは結局使わないことが多いですので舌はモーフだけでも十分かもしれません。
コメントの投稿
No title
pmx editorでスクリプトってどうやって実行すればいいんでしょうか?
Re: No title
こんにちは
> pmx editorでスクリプトってどうやって実行すればいいんでしょうか?
編集>プラグイン>CSScript で画面が開きますので、
そこにスクリプトをペーストして実行します。
詳しくは pmdエディタ CSScript で検索すると使い方が出てくると思います。
> pmx editorでスクリプトってどうやって実行すればいいんでしょうか?
編集>プラグイン>CSScript で画面が開きますので、
そこにスクリプトをペーストして実行します。
詳しくは pmdエディタ CSScript で検索すると使い方が出てくると思います。
No title
できました!ありがとうございました
No title
初めまして、こんにちは。
この記事のおかげで舌を移植することができました。
ありがとうございます。
この記事のおかげで舌を移植することができました。
ありがとうございます。