3dsmaxで作成したリグドメッシュをSecondlifeにアップするにょだ♪ | 今さら始めるセカンドライフ♪ りた~んず

今さら始めるセカンドライフ♪ りた~んず

タイトルのとおりです( ´艸`)
「セカンドライフに今更ながらハマってます。。。。おっ!、これタイトルにしようw」(2011年)・・2016年現在もいろいろ遊んでますよ~♪

なんでかタイトルがにゃらん調w

 

前回の記事

http://ameblo.jp/nyachio3/entry-12213144503.html?frm_id=v.mypage-checklist--article--blog----nyachio3_12213144503

 

で、3dsmaxでエクスポートしたリグドメッシュがなんでかSecondlife(SL)でカルシウム不足とみなされてボーン情報がガン無視される件のお話です音譜

 

あ、なんか備忘録っぽくなってきたにょ( ´艸`)

 

前回の記事でもちょこっと書きましたけど、

3dsmaxでリグドメッシュを.daeで書き出した場合、ウェイト設定されていないボーンに関しては.daeへ出力されない仕様の様なんですね。。

 

 

例えば、頭部分だけリグドメッシュで出力したい場合、頭ってheadとneckのボーンにウエイトかけるじゃないですか。

 

 

てか頭のオブジェクトにカカトの骨とかウエイト付けなんてしませんもw

 

でもそーすると、3dsmaxのColladaエクスポーター君で普通に.dae出力しますと、headとneckに関しての骨情報しか出力してくれないんですね。

 

出力した結果の.daeファイルをテキストエディターで開いてみますと、

 

<Name_array id="headMeshController-Joints-array" count="2">
 mNeck mHead</Name_array>

 

と、骨情報がmNeckとmHeadしか存在しないことになってます 。

 

これがカルシウム不足ですw

 

こういう場合、

 

困った時のBlenderラブラブ

 

という事で、Blenderに一旦持っててですね・・

 

とか今回はしませんヾ(≧▽≦)ノ

 

だって面倒ですもんw

 

ちょっとウエィトとか形状を確認したいのに、いちいちBlenderへ戻ってとか面倒ですよね・・

全部Blenderで作ってれば問題ないですけど^^;

 

・・

 

で、この3dsmaxでのカルシウム不足現象を回避するには、

 

全ボーンのウエイトつけてやる

 

くらいしかあたしには回避方法がみつかりませんでした・・

 

や、だから頭にかかとボーンとか関係ないし

 

だけど、3dsmax使って、全身メッシュのものがアップできて、部分メッシュだけだとNGなのはそういう事なんですよね。

 

全身メッシュは当然、全ボーンのウエイト設定しますも。。

 

ところが、現在の26基本ボーン設定のものならまだしも、Project Bentoの160ボーンのものなんて全ボーン設定しないでしょ普通w

あ、フィットメッシュでも調整用のボーン入れると全50個くらいだったかしら。。

 

こーなってくると、3dsmaxの.daeエクスポーター自体をなんとかしないとダメっぽい気がするんですけど、とりあえず回避方法があるのでそれで凌ぎます。

 

最終的にほんとに困ったらBlender先輩がいますし

 

・・・

 

さてさて、とりあえずは上記の「頭」部分のメッシュだけアップロードできるようにしてみますね音譜

 

まずは、スキンモディファイヤのロールアップの拡張パラメータ箇所の「リンクするボーンの制限」のところをSL基本アバター骨格ボーン数の26に設定します

 

 

で、スキンモディファイヤの「ウエイトテーブル」開きまーす

 

 

とりあえず頂点#0がmNeckに対して1.000でウェイト設定されてますので、この頂点#0のウェイトを、

mHead以外の全ボーン(24個)にちょこっと値をいれてやります。0じゃダメです!! ←これ重要w

 

 

そうすると、ウエイト値が正規化されていれば当然mNeckのウエイト減りますよねw

 

頭がカカトにつられて動いちゃうってことでしょ・・あせる

 

それじゃこまるので、mNeckのところの頂点#0の値を1.0に修正してあげます音譜

 

そうしますと・・

 

さっきに入力したところが全部「0.000」になります。

 

当たり前っちゃ当たり前ですw

 

 

ところが、この状態でmax形式で保存しますでしょ、再度読み込んでも・・

 

あら不思議w ちゃんと値が「0.000」のまま残ります音譜

 

この状態で.dae出力してあげますと、

 

<Name_array id="headMeshController-Joints-array" count="26">
mNeck mSkull mToeLeft mToeRight mEyeLeft mEyeRight mCollarLeft mCollarRight
mShoulderLeft mShoulderRight mElbowLeft mElbowRight mWristLeft mWristRight mChest mTorso
mPelvis mHipLeft mHipRight mKneeLeft mKneeRight mAnkleLeft mAnkleRight mFootLeft
mFootRight mHead</Name_array>

 

ちゃんと26個のボーン情報が出力されてますラブラブ

 

 

ですので、SLにもカルシウム不足と思われず、

 

全身メッシュのときとは異なりまして、アップロード時点で「頭」変な向きでプレビューに表示されてますけど、

この状態でちゃんと「アバターモデル専用」オプションが表示されまして、

スキンの重さを含む」にチェックいれれるようになってます。

 

で、これをアップして装着しますと

 

ちゃんと頭に装着されまーす音譜

 

 

てかね、カルシウム不足回避方法わかったけど

こんな作業、スキニングの度にやるの面倒ですよ汗汗

 

やっぱBlender先輩・・

 

あ、いあ、この辺を効率よくこなす術(?)は、また次回のネタです( ´艸`)

 

(つづく)