yagi39のブログ

モデリングツールXISMOについて

XISMO機能解説講座Part10ボーン・剛体・ジョイント編

ここでは
・ルートボーン
・ボーン変形ノード
・ボーンウィンドウ上での操作
・ボーンノード
・ボーンツール
・メニュー>ボーン
・タグ(剛体・ジョイント含む)
を解説します。
これらのうち、名前からその動作が分かりやすく、注意点のない機能は省略しています。

yagi39の推測による内容もあるのでご注意ください。
質問、要望、訂正すべき箇所などありましたらコメントやツイッターのリプ・DM、
質問箱(匿名)をご活用下さい。
なおyagi39が理解していない事項に関してはお答えできません。ご了承ください。
機能の動作等はバージョン199bで確認しています。

■ルートボーン
ボーンの情報を持つノード。このノードが無いとボーンを作成出来ない。
"メニューバー>作成>ルートボーン"で作成できる。
複数作成できるが通常は1つで良い。

■ボーン変形ノード
xismoでアニメーションツール時にボーンを操作してメッシュを変形するのに
必要なモディファイア。
このノードをメッシュの子にして使う。
なお、xismoでボーン操作によるメッシュの変形をするのに必要であって
ウェイトなどを設定するわけではないので、
このノードがなくてもPmx出力後のデータに違いはない。

■ボーンウィンドウ上での操作

ボーンノードはドラッグ&ドロップ(以下D&D)で移動、親子関係にできる。
ボーンノードを移動する際はShift+D&Dですると親子関係にはならないので便利。
ボーンノードの削除は"ボーンウィンドウ>編集>削除"でのみ削除できる。
ボーンノードを削除するとその子ボーンのノードも削除されるので注意。
親子列の中の特定のボーンだけ削除したい場合は
そのボーンノードの親子関係を外さなければならない。

■ボーンノード

MMDではボーン。
xismoではボーンノードの軸から末尾に向かう方向が
ボーンノードのローカル座標で必ずZ軸となり、
ローカル軸と表示先を個別に設定することはできない。

 

【追記 : 2022/08/05】

しかし、pmx出力して出来たpmxでは、特定の文字(左腕等)を含んだ名前のボーンのみボーンの向きとローカル軸が一致し、基本的にはローカル軸はワールド座標のXYZと同じになる。

例えば、「左腕」、「左腕A」といったボーンはボーンの向きとpmxでのボーンのローカル軸が一致するが、

「全ての親」、「左足」、「前髪」といったボーンはpmxでのボーンのローカル軸はワールド座標のXYZと同じになる。



●表示モード
xismoにおけるボーンの表示モードを変更する。
"メニューバー>ボーン>表示モードを変更"で、
選択したボーンの表示モードを一括で変更できる。

●浮動ボーン
浮動ボーンにすると、親子関係にあるボーンとつながらなくなる。

●移動可
アニメーションツール及びMMDにおいてボーンが移動できるようになる。
MMDで「移動ボーン」と呼ばれるもの。


●角度制限
xismoでアニメーションツール使用時にIK的操作した場合の変形でボーンの変形角度
を制限したり、MMDでIK影響下にあるボーンの変形角度を制限したりする。


■ボーンツール
●調整
ボーンを選択したり、移動したりする。

●作成
何もないところをクリックしてドラッグすることでボーンを作成できる。
ボーンの先をドラッグすればそのボーンの子を作成できる。

■メニュー>ボーン
●ボーンを追加
原点にボーンを追加する。

●選択ボーンを隠す
選択したボーンを非表示にする。
ボーンウィンドウでの可視の操作と同じ。

●表示モードを変更
xismoにおけるボーンの表示モードを変更する。
ボーンノードのプロパティの"表示モード"で、ボーン1本ごとに設定できる。

●アップベクターを整列
ボーンの捻り方向の向きを設定する。ボーンのローカル軸にかかわる。

●位置を整列
選択ボーンの軸及び末尾の位置を揃える。

●直線状に並べる
選択したボーンが親子関係にあるボーンの時のみ、
最も親にあるボーンの軸と最も子にあるボーンの末尾を結ぶ直線状に
選択ボーンの位置を移動する。
移動後のボーンの長さの比率は移動前のボーンの長さの比率と同じ。

●対称化
選択した2本のボーンがYZ平面に関して+と-の両側にある場合、
それぞれのボーンの軸、末尾をYZ平面に関して対称な位置に移動させる。

●親の位置に合わせる
選択したボーンが親を持つ場合、そのボーンの軸を親の末尾に移動させる。
なお、この機能を使ったボーンのアンカーを作ると、アンカーの頂点が2箇所に重なって
作られてしまう。詳しくはPart11ウェイト編のウェイト設定方法>アンカー方式の項を参照。
【XISMO2 202で修正済み】

●末尾を最初の子に合わせる
選択したボーンが子(複数可)を持つ場合、その子の中でボーンウィンドウ上で
最も上にあるボーンの軸に選択したボーンの末尾を移動させる。
なお、この機能を使ったボーンのアンカーを作ると、アンカーの頂点が2箇所に重なって
作られてしまう。詳しくはPart11ウェイト編のウェイト設定方法>アンカー方式の項を参照。
【XISMO2 202で修正済み】

●反転ボーンの位置を合わせる
YZ平面に関して+と-の両側にある反転ボーンを対称な位置に移動する。
反転ボーンだと認識するのは、ボーン名にそれぞれ(左,右)の文字列が含まれ、
それ以外の文字が一致している場合のようである。
(*1左*2,*1右*2)型 (ただし*1、*2はそれぞれ同一の文字)
例)(左ボーン,右ボーン),(ボーン左,ボーン右),(テスト左ボーン,テスト右ボーン)など
なお、「左」と「右」の文字がYZ平面に関して+と-の
どちら側のボーンの名前に含まれるかは影響しない。
つまりX軸+側にあるのが*1左*2ボーンと*1右*2ボーンのどちらでもよい。
ちなみに(左,右)以外の文字では反転ボーンだとみなされないようだ。
(上,下),(ひだり,みぎ),(L,R),(Left,Right)では反転ボーンだとみなされなかった。
また、選択するのは複数のボーンでも構わない。
反転ボーンのうち、
両方またはX軸+側のボーンが選択されている場合はX軸+側のボーンの位置に、
X軸-側のボーンが選択されている場合はX軸-側のボーンの位置に合わせられる。

MMD用ボーンを追加
MMDでよく使われる構造のボーン(標準ボーン)を一括で作成する。
MMD付属の初音ミクver2のボーンとは構造、位置が若干異なるので注意。


■タグ
タグはノードに追加情報を加えるもの。
複数追加できるが、他ノードに移動、コピーすることはできない。
同ノード内で並べ替えることはできるが、
並べ替えて変化のあるタグは現時点では未実装とのこと。
●テキスト
メモをするものだと思われる。
・テキスト
 ここにメモをすることができる。ただし、半角で15字程度しか表示されない。

●剛体
物理演算の剛体の設定をする。
剛体に関してはすでに解説が多くあるので、
各設定値のxismoとPmxEditorとの対応は画像で示し、
ここではxismoにおける剛体設定の注意点のみを扱う。

剛体が表示されるのはボーンツールまたはアニメーションツールを選択かつ
フィルタ設定で剛体にチェックが入っている時のみ。
xismoで剛体はボーンノードのタグとして設定する。
剛体の位置はタグ付けしたボーンノードのローカル座標からの相対値で設定され、
ボーンノードを移動、回転すると剛体も合わせて移動、回転する。
ボーンからの相対位置は剛体タグのプロパティの数値でのみ変更できる。
(ハンドル等での操作は不可。)

xismoでの剛体グループは0~15、PmxEditorでの剛体グループは1~16なので注意。
xismoでの剛体グループに1を足したものがPmxEditorでの剛体グループになる。

●ジョイント
物理演算のジョイントの設定をする。
ジョイントに関してはすでに解説が多くあるので、
各設定値のxismoとPmxEditorとの対応は画像で示し、
ここではxismoにおけるジョイント設定の注意点のみを扱う。

ジョイントが表示されるのはボーンツールまたはアニメーションツールを選択かつ
フィルタ設定でジョイントにチェックが入っている時のみ。
xismoでジョイントはボーンノードのタグとして設定する。
ジョイントの位置はタグ付けしたボーンノードのローカル座標からの相対値で設定され、
ボーンノードを移動、回転するとジョイントも合わせて移動、回転する。
ボーンからの相対位置はジョイントタグのプロパティの数値でのみ変更できる。
(ハンドル等での操作は不可。)
角度制限のY、Z値はMMDとxismoでボーンの座標系が異なるため入れ替わるとのこと。
ばねの移動の値はPmxEditorでの値の10倍なので注意。

●コンストレイン
コンストレインとは拘束という意味。
MMDにおけるIKボーンや付与ボーンなどの属性を設定する。
拘束タイプの設定によって計算値、ターゲットのPmxEditorとの対応が異なるので、
MMDでのボーンの種類ごとにPmxEditorとの対応を画像で示して解説する。
回転ボーン・回転移動ボーン
MMDにて一番使用頻度の高い普通のボーン。
これらのボーンはコンストレインタグは必要ない。
(コンストレインタグをつけ、拘束タイプを未設定にしてもこれらのボーンになる。)
回転移動にするにはボーンノードのプロパティで移動可にチェックをつける。

連動ボーン
付与親に設定したボーンを操作すると、それに連動してユーザーが定めた連動率で
移動・回転するボーン。
連動して変形する側のボーンノードにこのタグをつける。
使用例)左目ボーン

バージョン199b以前では計算値(つまり付与率)にマイナス値を設定できないので注意。
バージョン200beta0以降ではマイナス値も設定できるように修正された。

IKボーン
IKボーンとは、IKボーンを操作することでIK影響下ボーンに設定された親ボーンを変形できるボーン。
使用例)左足IKボーン・左つま先IKボーン・ネクタイIKボーン・左髪IKボーン
ちなみに、xismoで「MMD用ボーンを追加」機能で追加される
足IKボーンやつま先IKボーン、
MMD付属の初音ミクver2の
足IKボーン・つま先IKボーン・ネクタイIKボーン・左髪IKボーンのIKは全角、
PmxEditorの準標準ボーンプラグインで追加される足IK親ボーンのIKは半角である。

「IK階層」は「IK接続先ボーンとIK影響下ボーンの合計数」つまり
IK影響下ボーンの数に1を足したもの。
「ターゲット」に設定したボーンの、「IK階層」の数だけ設定した親までがIKのLinkボーンになる。
(ここでは「全ての親>IKLink4>IKlink3>IKlink2角度制限>IKlink1>IKターゲット」の順に親子関係を設定し、「ターゲット」に「IKターゲット」ボーン、「IK階層」に4を設定しているので、IKlink3からIKlink1までがIKのLinkボーンになる。)

捩りボーン
回転軸を一つの軸のみに制限したボーン。
使用例)左腕捩ボーン・左手捩ボーン

xismoではボーンのローカル座標でのZ軸回転のみできるようになる。


他パートへのリンクを貼った目次代わりのPart1

XISMO機能解説講座Part1概要編 - yagi39のブログ