Quantcast
Channel: 気まぐれブロマガ
Viewing all articles
Browse latest Browse all 56

Blender用PMXエクスポーター・マニフェストのJUNCキーの書き方

$
0
0

拙作PMXエクスポーターで、PMXボーンの表示先を指定する方法をこの記事で解説します。

Blender上でボーンに「接続」(Connected)した親がある場合、PMXにエクスポートした親ボーンの表示先はその子ボーンになります。ここでは、接続した親子関係にはないけれども、PMXボーンの表示先だけは接続する(表示先をボーンにする)方法を説明します。

具体的にはマニフェストのjuncキーを使います。これは、ボーンの表示先を指定するために用意した既定キーです。

実はjuncキーにはデフォルト値があって、そのために「右腕」=>「右腕捩」=>「右ひじ」というボーンの接続した親子関係があっても、右腕ボーンの表示先(見た目の接続先)は右ひじボーンになります。デフォルト値についてはREADME.txtをご覧ください。

ここでは例として、「太郎.pmx」という名前のモデルをエクスポートするものとします。Blender上では、左足ボーンと左ひざボーンが接続した親子関係でなく、右足ボーンと右ひざボーンも同様であるものとします。PMXにエクスポートするときに、その左足ボーンの表示先が左ひざボーンに、右足ボーンの表示先が右ひざボーンになるようにするには、マニフェストにjuncキーを追加し、その値を次のようにします。
(1)

[太郎]
name: 太郎
info: MMD用モデル 太郎
junc: 左足 左ひざ 右足 右ひざ
上記のように、「表示元のボーン 表示先のボーン」の順番で並べます。ボーンの間は空白文字で区切ります。従って、「左 ひざ」のようにボーン名に空白文字が入っているとうまくいきません。ボーン名を空白文字がないものに変えてください。

次のように改行して見やすくすることもできます。
(2)
[太郎]
name: 太郎
info: MMD用モデル 太郎
junc: 左足 左ひざ
右足 右ひざ
改行する場合は、2行目以降に字下げ(インデント)が必要です。

ボーンの名前がBlenderの左右対称ルールに従って「足_L」「ひざ_L」「足_R」「ひざ_R」となっている場合、エクスポートされるボーンの名前は「左足」のように変換されますが、juncキーの値には元々のBlender上の名前で書きます。
(3)
[太郎]
name: 太郎
info: MMD用モデル 太郎
junc: 足_L ひざ_L
足_R ひざ_R

ボーンの名前がBlenderの左右対称ルールに従っている場合に限り、左右のマーカーを省略した記述が可能です。次の(4)は上の(3)と意味が全く同じです。
(4)
[太郎]
name: 太郎
info: MMD用モデル 太郎
junc: 足 ひざ
ただし、左右のマーカーは書式を統一してください。例えば、「足_L」と「足.R」のようになっていると(4)の書き方ではうまくいきません。

エクスポートするボーンの名前をdictキーで指定する辞書で変換する場合でも、juncキーの値に指定するときは元々のBlender上の名前で書いてください。例えば、「leg_L」「knee_L」「leg_R」「knee_R」というボーンがあって、エクスポート時に辞書変換によってそれぞれ「左足」「左ひざ」「右足」「右ひざ」に変換する場合、juncキーの値は次のようにします。
(5)
[太郎]
name: 太郎
info: MMD用モデル 太郎
dict: DICT
junc: leg knee

[DICT]
leg: 足
knee: ひざ

マニフェストにjuncキーがあると、基本的にデフォルト値への追加となります。

デフォルト値を変更するには、デフォルト値にあるボーンをjuncキーの表示元ボーンに加えます。例えば、腕ボーンの表示先をデフォルトのひじボーンではなく、捩ボーンにしたいときは、次のようにします。
(6)
[太郎]
name: 太郎
info: MMD用モデル 太郎
junc: 腕 腕捩
足 ひざ

juncキーについては以上となります。




Viewing all articles
Browse latest Browse all 56

Trending Articles