LightWave3D(Intel)プラグイン

Calcium2  Ver 2.21(LW[6.5]版)


・始めに

このプラグインの著作権は、Molypにあります。最新バージョンは、 天然立体工房にて公開しています。
質問、要望等は私宛にメールをお願いします。

Calcium2は、LightWave3D6.5の標準機能、Skelegonの拡張版です。

Skelegonは、モデラ上で簡単にボーンを作成できる大変便利な機能ですが、やはりいろいろと問題を持っています。

1. レイアウト上でなぜかひとつのオブジェクト単位でしかボーンに変換できない。
2. IKゴールを作ることができない。
3. 親から浮いたボーンが作れない

そこで、Calcium2はそういった問題点を解消し、簡単に複雑なボーンを仕込むことができます。
また、従来のV1.xのCalciumはモデラプラグインでしたが、レイアウトプラグインになりました。

対応するLightWaveのバージョンは、6.5以上です。
必ずバージョンアップしてください。


 
 

・インストール

Calcium2.zipを展開して、Calcium2.pをレイアウトプラグインのディレクトリにコピーし、レイアウトで「Add Plugin」してください。
 
 

・使い方

まず、LWの設定を変更しておく必要があります。

「その場でペアレント」をOnにしておきます。これをしないとゴールの位置設定ができません。

 

さて、では実際にボーンを仕込んでみましょう。

まず、モデラでスケルゴンを仕込みます。
この例では、色の違うボーンごとにボーン名がつけられています。(実際にCalcium2がこのように色をつけるわけではありません)

ただし、ここでボーンに名前を付ける場合に"(1)"のようにカッコに数字の入ったものを末尾につけないでください。
こうしてしまうと、自動的にLWがつける番号と紛らわしくなってしまうし、Calciumが正しく名称を認識できなくなるためです。
また、スケルゴンの名前は大まかにグループごとにつけます。たとえば、「腕」「胴体」など。
これは、後に述べるゴールを自動的に置くようにするためです。
Skelegonを作成すると、自動的に連番のボーン名がつきますが、グループごとに共通の名前にしてください。

必要なら、この時にウエイトマップもつけておきます。

 

Skelegon Treeで見ると、このようになります。

 

次に、そのオブジェクトをレイアウトで読み込みそのオブジェクトが選択された状態で、「プラグインオプション」の「その他のプラグイン」から、Moly_Calcium2を実行します。
プラグインを起動すると、上のダイアログが出ます。

Skelegonを処理 Skelegonをボーンに変換する。Offの場合は、既存のボーンを処理する。
Skelegonをプラグインが処理 標準のMakeSkelegonを使う代わりに、Calcium2が作成します。
これを使うと、すべてのボーンはBank回転を使用しません。
名前のフラグを削除 _F, _N, _Gなどのフラグを名前から削除する。
"_F"で終わるBone名は浮動ボーンのダミー

ボーン名の末尾が_Fで終わっている場合、浮動ボーンのためのダミーボーンとする。
このボーンは実際には作られない。
ただし、このボーンが最上位の親ボーンの場合はこの指定は無視される。

"_I"で終わるBone名は無効化 ボーン名の末尾が_Iで終わっている場合、ボーンを無効化する。また、このフラグがついているボーンにはゴールは作られません。
各Boneの先端にゴールを置く ゴールオブジェクトを作成し、ボーンにIKを設定する。(名称は"〜Goal")
"_N"で終わるBone名はゴールを作らない ボーン名の末尾が_Nで終わっている場合、通常ならゴールを作成する場合でも作らない
"_G"で終わるBone名にはゴールを作成 ボーン名の末尾が_Gで終わっている場合、通常ならゴールを作成しない場合でも作成する
Goal Boneを入れる ゴールボーン(後述)を作成する。(名称は"〜GoalBone")
ゴールの親を最適化する ゴールの親を最適化する(後述)
フルタイムIK Fulltime IKをOnにする。

OKを押すと選択されているオブジェクトがスケルゴンを持っていればボーンを作成します。
複数のオブジェクトを選択すると、そのすべてについて処理を行います。
LWの問題で、スケルゴンを変換するたびにいちいちメッセージが出ますが、気にせずOKボタンを押してください。

ボーンの数が多い場合、処理にかなり時間がかかります。   左下の座標の表示のあたりがチカチカとまたたいていたら処理中ですので、しばらく待っていてください。

注:

  1. Skelegonを処理」をOffにしていると、スケルゴンは処理せず、現在のオブジェクトに設定されているボーンを使って処理を行います。
    この場合、「 名前のフラグを削除」がOnになっているとフラグのついたボーンの名前が変わります。また、「"_F"で終わるBone名は浮動ボーンのダミー」になっていると、_Fのついたボーンは削除されます。
  2. Skelegonをプラグインが処理」をOnにしていると、標準のMakeSkelegonは使用しません。
    本来、SkelegonはBank回転を指定できるのですが、これが思いもよらない回転を起こしてとんでもないBankのボーンを作成してしまうので、これをしないために自前でボーンを作成します。
    これによってすべてのBankが0のボーンが出来上がります。
  3. 処理するオブジェクトに、すでにボーンがついている場合にスケルゴンを処理すると、そのままスケルゴンのボーンを追加し、既存のボーンも含めて処理を行います。

 

 

・ゴールオブジェクト

Calciumでは、ゴールオブジェクトが必要な部分を自動的に認識して適切な位置にゴールオブジェクトを作成します。
基本的には、次のようなルールでゴールオブジェクトを作成する場所を決定します。

  1. それ以上子ボーンのない先端のボーン
  2. すべての子ボーンの名前が自分とは違っているボーン

この例では、色の違うボーンごとにボーン名がつけられています。(実際にCalcium2がこのように色をつけるわけではありません)

これはCalcium2をすべてのオプションをOnにして作成した例ですが、各色のボーンの先端にゴールオブジェクトとしてNULLがついているのがわかると思います。
このように、必要と思われる部分に自動的にゴールオブジェクトを自動的に作成し、ボーンにゴール設定を行います。
もし、ゴールが必要ないと思われる場所についてしまう場合は、ボーン名の末尾に _N をつけてください。そのボーンにはゴールをつけません。
また、 _G をつけた場合は、逆に強制的にゴールを作成します。

 

・ゴールボーン

LightWave3Dの仕様で、IKゴールはボーンの根元を基準にすることになっています。
しかし、これでは先頭のボーンのIKによる動きが見た目の直感に反する気がします。
そこで、普通なら先端に短いボーンを追加してIKを設定しますが、Calciumではそれを自動的に行えます。

一見、ボーンの先端にゴールがあるように見えますが、実はさらにその先に非常に小さなボーンが自動的に追加されています。
このボーンのことをCalciumでは「ゴールボーン」と呼んでいます。
IKの設定は、実はこのゴールボーンに設定されています。
ゴールボーンはStrengthが0に設定されているので、ボーン変形には一切影響しません。
これで、ゴールを動かすとそのボーンの先端がゴールに従うように見えます。
ゴールボーンを入れる」をOffにした場合、このようになります。この場合、先端のゴールに直接IKゴールが設定されているので、不自然になりますが、自分できっちりとゴールボーンを作りたい場合は、この設定を使ってください。

 

  ・浮動ボーン

浮動ボーンとは、親子関係はあるが親の先端にはつながっていないボーンのことです。
これは、抑えボーンを入れる場合などに威力を発揮します。

このモデラの画面で、選択されているスケルゴンは末尾に _F がつけてあります。

これをレイアウトでカルシウムで処理すると・・・

このようになります。_F がついたスケルゴンはボーンになっていません。

しかし、その先のボーンはちゃんと_Fのボーンの元の親とつながっています。

この機能を使うとボーンが削除されますので、「スケルゴンを処理する」をOffにして既存のスケルゴンを処理する場合は注意してください。

 

・ゴールの親を最適化

LW[6]でオブジェクト以外のものでもオブジェクトの親にできるようになりました。
そこで、この機能を使って、ゴールオブジェクトをごく自然にIKに従わせることができる機能です。
この機能は、ゴールオブジェクトを作るときにそのゴールがゴール指定されるボーンの親をたどります。
そして、祖先に名前の違うボーンを見つけると、 そのボーンをゴールオブジェクトの親にします。
これにより、たとえば手首、指先にゴールがある場合、手首のゴールを動かせば指のゴールはそれにつれて自動的についてきます。


 

この例では、色の違うボーンごとに違う名前でスケルゴンが作ってあります。

この状態でCalciumで処理すると、指の部分のゴールは、その根元に当たる紫のボーンの先端の子となります。

指の部分の先端の3つのゴールは、紫の先端のボーンを親としています。

 

すると、手首のゴールを動かすとちゃんとその変形にゴールもついてくるのがわかります。

 

・最後に


このプラグインのバージョン2.2は、LightWave3D 7.5 (Intel) 用に作成されました。
その他のバージョンでは動作は保証しかねます。

バグ報告、機能追加の要望等はお気軽にメールにてお願いします。

本プラグインはフリーです。
再配布する場合は、本ドキュメントを必ず添付してください。
転載する場合は、メールをお願いします。

本プラグインの著作権はMolyが持っています。

LightWave3Dについて詳しくは株式会社ディ・ストームへ。
 

 

・更新履歴

2.21i (2002/6/2) 無効化フラグが浮動ボーンの後にあると無視されてしまうバグを修正
2.2i (2002/5/29) 無効化フラグ追加
2.12iβ (2001/10/10)

ゴールオブジェクトの位置がめちゃくちゃになるのことがあるのを修正

2.01i (2001/8/18)

「自動キー」がOffの場合に変換ミスするバグと、VertexPaintのウエイトマップを無視していたのを修正

2.0i (2001/8/11) スケルゴンからの変換を自前で行うように修正
2.0 (2001/3/5) Intel版正式版初回リリース
2.0i(Beta) (2000/8/29) Intel版β版リリース