しむ蟲:人生シュミレーションのSimsシリーズ

今度はお布団に挑戦!

Sims4製作覚書

長らくGIGOさんのお布団を愛用していたんですが、しばらく前のアプデから使えなくなってしまい、代用で何かないかと必死に探して、【omame】Traditional Futonを導入させていただきました。
問題なく動作するのですが、寝袋ベースのため、起きた時に住人たちが体が痛いだのだるいだのぶーぶー言ってくるんですわw
露天風呂外に設置したら、みんな割り当てた布団ではなく外で風呂に入ってそのまま寝ちゃう。。。(ーー;)

ふかふかのお布団でゆっくり休ませてあげたいな〜と思い、布団に手を出したんですがこれまた簡単なものではなかった。。。
まず仕込んであるボーンの数がえげつない!!
こんなの手動でいちいちセットしなおしてたら間違いなくどこかで泥沼にはまりそう。なので基本は形状と位置をできるだけ動かさずにやった方がいいのだと思う。

けど、Blenderのクロスシュミレーションも試してみたい誘惑にかられ、ベイクの練習も兼ねてまた1から作ってみた。
普段は直接ローポリから作ってたんだけど、シュミレーションでシワとかベイクしたかったので、ハイポリから作成。


このクロスシュミレーションもやってみるとなかなかやっかいで、アドオンの力だけでは予想通りにならず、なんかいも設定を変えてはぶん投げて落としてを繰り返してなんとか。

このままでは超絶重いメッシュになるので、これを徐々に様子をみながらローポリ化してゆき、適度なところでUV展開に取り掛かる。(これでもまだまだポリゴンが多い状態)

しかしローポリ化して、展開していくなかで、比較的シンプルなほぼ四角の枕がなぜかUV爆発を起こした。

変に凝縮されてるポイントをみると普通に平坦な四角面がつながってるところが丸くくっついてたり。。。
ほんとこういうのが意味わからん(><)展開方法をいろいろ変えたりリセットしても直らないので作り直した。

他にも展開しておかしくなるところは、何度も隣接頂点結合したりしてても引っ張るとくっついてなかったり、、、
あと、マテリアル当てた時に、全部つながってるのにある1つの面だけおかしいとか、謎はいろいろありますな。

ノーマルベイクもしたあとは、できるだけ余計なポリゴンを削るために、重なる部分やみえない裏側はごそっと削っていく。

お布団2枚重ねにしたので、結構高さはいい感じに調整しやすかった。
まあクロスシュミレーションしたせいで形状はかなり違うけど、とりあえず動きに追随しそうな首元から足ぐらいまでとまくらの高さと位置をだいたい近い位置になるように調整。

動きのあるものに、もひとつ大事なのがウェイトマップ。ここちゃんと塗り分けないと動く部分、固定する部分がわけられないので。
同じシリーズのダブルとシングルをベースにしたのあが、ダブルとシングルで何故かウェイトが違う??

敷布団は動かないで良さげだったから、見比べて固定にしてみた。

さあ、テストだ!
どのみちまったくピッタリにはならないから、多少のボーン調整は必要になると思うが、どこが必要でどこがそのままでいいか確認せねば。

すぽーーーーん

あれ?ウェイトも設定したのに、入る時になんか上掛けと枕が丸ごと動いたぞw
正式にはこういうふうにまくりあげて潜り込んで欲しい。

そして寝る時も、布団に入らず中途半端にはみ出ている状態。そのあたりの高さは合わせたはずだが。。。
腕もまくらにめりこんでるしね。

本来はこうあるべき。

つまり多分ボーンがちゃんと動きに追随してないんですよ。
助けて〜〜〜〜!AI先生〜〜〜〜〜〜〜!!

まあ最初にボーン名のミスや頂点グループなど指摘されたんですが、それはそのまま流用してるので間違いはない。
次に考えられるのは、普段やってるクローン元に自作メッシュをアペンドして、元メッシュの頂点削除して統合する方法。これがデータを壊すことがあるらしい。
カット番号とかUVとか見ても一見わからないが、頂点グループが狂うっぽい。ので、データ転送を使って移行してみた。

元オブジェクトからウェイトを「綺麗に」転送する

手動でのペイントはズレの原因になるため、「データ転送(Data Transfer)」モディファイアーで公式ベッドから完全にコピーするのが最も確実です。

  1. S4Sからエクスポートした「元の公式ベッドのメッシュ(クローン元)」と「自作したメッシュ」を同じ画面に配置します。
  2. 自作メッシュを選択した状態で、モディファイアー(スパナのアイコン)を追加 > 「データ転送(Data Transfer)」を選択します。
  3. 「ソース(Source)」に元の公式ベッドのメッシュを指定します。
  4. 「頂点データ(Vertex Data)」にチェックを入れます。
  5. すぐ下に表示されるドロップダウンから「頂点グループ(Vertex Groups)」を選択してください。
  6. ※これで元のベッドの骨組み(ボーン)とウェイトの情報が、自作メッシュに正しく転送されます。
  7. マッピング(Mapping)を「最近接面の補間」(Nearest Face Interpolated)」に変更します。
  8. 「生成(Generate Data Layers)」を押し、最後にモディファイアーを「適用(Apply)」します。

ステップ3:ウェイトの正規化(必須)

  1. 自作メッシュを選択し、左上のモードを「ウェイトペイント(Weight Paint)」に切り替えます。
  2. 上部メニューの 「ウェイト(Weights)」 > 「すべてを正規化(Normalize All)」 をクリックします。これで各頂点のウェイト合計値が綺麗に「1」に修正されます。

3. S4Sへインポートする前の最終確認

  • 「Vertex Color(頂点カラー)」:Sims 4のオブジェクトは、頂点カラー(通常は真っ黒 000000 や特定の色)で影やアニメーションの挙動を制御している場合があります。元モデルの頂点カラーも合わせてコピーされているか確認してください。
  • 「カット番号(Cut Number)」:S4Sの「Mesh」タブに表示されているCut番号(0, 1, 2など)と、Blender内のオブジェクト名(s4studio_mesh_0 など)の末尾の数字が一致しているか再度確認してください
                                    by Google AI先生

半信半疑でこれを実行してみた結果・・・・・・

おう!本当にちゃんと潜ってくれたよ!そっかー手動でウェイト指定とかしないでコピーしちゃう方がいいんだな。
統合してまた重複とかすると困るので、元データを削除して、自作の方の名前を消したものに書き換え。

ぐるりと見回して、こういうメッシュがおかしな変形をしているところをチェック。多分このあたりが調整必要なボーンになると思われる。
また裂けてるところは頂点がつながっていない可能性があるのでもう一度チェックだな。

コメント