☆LightWave3D☆ ~Free Diary~

悪戦苦闘の3D制作の日々と、悪戦苦闘の日常を書き記していく日記です。

   


2013/07/19 【同名アイテムとExpressionの問題】

2013_07_hyosi.jpg
同じ名称のアイテムとExpressionをシーンに複数追加すると、アイテムが正しく動作しない問題がありました。


これはとても致命的です。orz


グラフ編集パネルで入力したExpressionは追加したアイテム分だけ複製されることが無いので、コントロールアイテムを動かすとExpressionが利いていなかったり、Expressionを適用した全てのアイテムが同時に動いたりしてしまいます。


これをどうすれば良いかって言ったら、単体の時に前もって名称変更をするしか無いです。
なので、Nullオブジェクトの名称変更とグラフ編集パネルに入力したExpressionの名前を変更していきます。



【セットアップ後の名称変更】

まずはExpressionの名称変更。
グラフ編集パネルからエクスプレッションタブを開いて作成した全てのExpressionの名称に接頭辞か接尾辞を付けます。
これも一括で変更出来たら嬉しいんですけど、そういう機能は無いので地道に入力していきます。


次にNullオブジェクトの名称変更です。
ここで注意することは、既にセットアップが終わって作り込まれた状態でアイテム名を変更する場合、接頭辞だとレイアウトが停止することがよくありました。(LW11.5)

 ・「name」 → ・「S_name」×

何が原因なのか分らないですけど、接尾辞で入力していけば安全みたいですね。

 ・「name」 → ・「name_S」○

名称変更の際はPoly to Poly様の「Rename Helper」やサンライズ様の「su:Name_Replace」など利用すると、選択アイテムから子孫まで一括で変更することが出来るのでとても便利です。


これが終われば、セットアップ済みのキャラクターを他のキャラがいるシーンに追加しても問題無く動くようになります。
 

--------------------------------------------

- 注意点 -

アイテム名変更と同時に、Expressionの値に含まれているアイテムの名称も自動的に変更されるはずなのに、Hip CenterとHip HeightのExpressionは未コンパイルになってしまう事がありました。

Expressionで間違っている所は、値の中に含まれているアイテムの名称を指していましたけど、[>>>Item.Position.X<<<]を「Item.Position.X」と不等号だけを消せば正常に働くようになります・・・名前は合っているはずなのに謎です。

他にもExpressionによってこういったことがあると動作チェックの確認漏れが出てくる可能性が高いので、セットアップを始める時点から名称変更する予定の名前を入力していった方が良いですね。

--------------------------------------------

 

そして、次の問題点はモーションデータの共有です。
アイテム名が変わってしまえばモーションデータの使い回しが利きません。
僕は他のキャラのモーションを別のキャラに読み込ませたりする事をあまりしないのでこういうことは詳しくないですが、サンライズ様のAnim_Key_IO_save/loadのプラグインを使う良い機会なのでやっていこうと思います。

 



【モーションデータの共有】

既にセットアップ済みでNullアイテムやExpressionの名称も変更されている二体のキャラを用意します。
 

左のDRはNullに接尾辞「_D」を・・・
右のCBはNullに接尾辞「_C」を付けています。


62791d1a.gif

まずはDRの足のゴールアイテムに適当に動き(移動・回転)を付けます。




b02e668c.png

6c2d8f0c.png

足のゴールを選択した状態で「Anim_Key_IO_save」でモーションデータを保存。
(保存名は「DR_Leg_GOAL_test_0001」。)

 

【.xmlファイルの中身】
346060cd.png

保存された.xmlファイルをテキストエディターで開きます。
メモ帳(.txt)やワードパッド(.rtf)でも出来ますけど、フリーソフトの「notepad++」を利用するとソースコードの編集がとてもし易いのでこちらの方を使っています。

 

【notepad++で.xmlの中身を編集】
30277fd1.png

僕はプログラミングの知識が無いけど、パッと見てhtmlのソースに見た目が似ているのでとても分り易かったです。

clipのタグ(<clip>)の中を見ると階層順にアイテム名が存在します。
この部分を単純にアイテム名の接尾辞を「_D」から「_C」に変更するだけでOKです。

そしたら別名保存します。
(名前:CB_Leg_GOAL_test_0001)



LWのレイアウトに戻ります。


1d936bac.png

0a4bd39e.png

CBの足のゴールアイテムを選択して、「Anim_Key_IO_load」で先ほど編集して保存した.xmlを読み込みます。


するとどうでしょう。
DRで作ったモーションがCBにも付ける事が出来ました。


76f8b1e7.gif

この方法は背丈がほぼ同じキャラにしか使えませんけど、これでモーションの使い回しが出来るようになりますね。



とりあえず、こんな感じで・・。
前記事でベイクと、今回の複数キャラやモーションの使いまわしで致命的な問題点を解消出来たかなと思います。

次は「改善」ですね。
もう終わった事なんだから良いじゃないか~と愚痴を洩らしていますけど、僕の独り反省会はまだまだ続きます。(笑)

 

拍手[1回]

カレンダー

08 2017/09 10
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

プロフィール

HN:
d_suzukky
性別:
男性
自己紹介:
こんにちは、d_suzukkyです。

田舎暮らしでのほほんと3DCGの勉強をしています。

ブログ内検索

Booklog

最新コメント

[09/16 Aaronsat]
[09/15 Aaronsat]
[09/15 Aaronsat]
[09/14 Aaronsat]
[09/14 Aaronsat]

最新トラックバック

バーコード

フリーエリア

Copyright ©  -- ☆LightWave3D☆ ~Free Diary~ --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS /  /