五郎花山さん のコメント

移植先の剛体に「左胸」と「右胸」しかない場合はどうすればいいですか?
No.10
5ヶ月前
このコメントは以下の記事についています
寝付きが悪いので布団の中でアレヤコレヤと考えごとをしながら寝るのですが、ときどき良いアイディアをひらめくことがあります。まあ、朝起きると大抵は忘れているんですけどw 今回のおっぱい剛体のアイディアは忘れなくてよかった。 そんなこんなで、数日試行錯誤してまともに動くようになりました。いい感じに揺れるようになったので細かい調整は後にして、RGBA式おっぱい剛体Ver1.5βとしてツイートしてみたところ・・・ https://twitter.com/RGBCMYK39/status/868716486243737600 たくさんのいいねやリツートをしていただきました。モデルのダウンロード数も400を超えています。皆様ありがとうございます m(_ _)m もともとPMXエディターが使えるMMDer向けのテストモデルなので、おっぱいボヨヨ~ンを期待してDLしたのにカッパが出てきてなんじゃこりゃ~となっている人が多いんじゃないかと心配していますw RGBA式おっぱい剛体Ver1.5βのDLはこちらからどうぞ。DL鍵:回転 https://bowlroll.net/file/137970 できるだけたくさんの人にRGBA式おっぱい剛体を使ってもらいたいと思い、構造と仕組みの解説、移植方法みたいなものを書いてみました(RGBA式おっぱい剛体の構造は自由にお使いください。剛体とJointをコピペして使ってもOKです)。 追記:RGBA式おっぱい剛体はMikuMikuMovingでは正常に動作しません。 動作チェックはMikuMikuDance Ver.9.26 (64bit版) で行いました。 ■RGBA式おっぱい剛体Ver1.5βの解説 RGBA式おっぱい剛体Ver1.5βの基本的な構造は次の図のような感じです。 簡単に説明すると、上下左右前後に移動する剛体の動きと、XY軸で回転する剛体の動きを、Jointで合成して胸剛体に伝えて揺らしています。以下、具体的な解説です。 [1]一般的な胸剛体とJoint 一般的な胸ボーン、胸剛体、胸Jointは図のようなものが多いようです。 上半身(上半身2)剛体に接続してある胸剛体は、Jointの制限/パラメータの移動と回転に数値を入力して可動範囲を設定するのですが、このままでは胸剛体がカクカクと動きボヨヨ~ンとは揺れません。RGBA式おっぱい剛体はこの一般的な剛体構造に補助剛体を取り付けて自然な揺れに見えるようにしています。 RGBA式おっぱい剛体は、MikuMikuDance物理演算の次の特性を利用してボヨヨ~ンと揺らしています。 (1)剛体を、Jointの制限/パラメータの移動と回転を0(ゼロ)で揺らすと「移動」する(「回転」はしません) 詳しくはブロマガ http://ch.nicovideo.jp/rgb/blomaga/ar965977 をご覧ください。 (2)剛体はサイズが小さいほうがよく揺れる 詳しくは動画 http://www.nicovideo.jp/watch/sm21607869 をご覧ください。 [2]上下左右に「移動」する補助剛体を取り付ける 上下左右に「移動」する補助剛体(胸_後)を取り付けて、胸剛体が上下左右にボヨヨ~ンと「移動」するよう補助剛体に接続します。 上下左右に移動する補助剛体(胸_後)をJoint(胸_後1)で上半身2剛体に接続し、Jointの制限/パラメータの移動と回転を0にします。 この上下左右に移動する補助剛体(胸_後)に胸剛体をJoint(胸_後2)で接続します。 これで胸剛体が上下左右にボヨヨ~ンと「移動」するようになります。 [3]上下左右に「移動」する補助剛体と回転用のダミー剛体を取り付ける 上下左右に「移動」する補助剛体(胸_前)と回転用のダミー剛体(胸_回転)を取り付けて、胸剛体が上下左右にボヨヨ~ンと「回転」するようダミー剛体に接続します。 上下左右に移動する補助剛体(胸_前)をJoint(胸_前1)で上半身2剛体に接続し、Jointの制限/パラメータの移動と回転を0にします。 この上下左右に移動する補助剛体(胸_前)に胸剛体をJointで接続してもなぜか上手く回転しません。そこで回転用のダミー剛体を取り付けます。( ←これを思いつくのに2年ほどかかりましたよw ) 上下左右に回転するダミー剛体(胸_回転)をJoint(胸_回転1)で上半身2剛体に接続し、Jointの制限/パラメータの移動を0、回転を図のように設定します(Z軸回転は0でもかまいません)。 図ではダミー剛体(胸_回転)の剛体タイプが「物理+ボーン位置合わせ」になっていますが、「物理演算」でもかまいません。 この回転用ダミー剛体(胸_回転)を上下左右に移動する補助剛体(胸_前)にJoint(胸_前2)で接続します。これによりJoint(胸_回転1)を支点にしてダミー剛体(胸_回転)が上の図で設定した角度で回転することになります。 そしてこの回転用ダミー剛体(胸_回転)に胸剛体をJoint(胸_回転2)で接続して回転を伝えます。 これで胸剛体が上下左右にボヨヨ~ンと「回転」するようになります。 [4]前後に「移動」する補助剛体を取り付ける 前後に「移動」する補助剛体(胸_前後)を取り付けて、胸剛体が前後にボヨヨ~ンと「移動」するよう補助剛体に接続します。 前後に移動する補助剛体(胸_前後)とそのJoint(胸_前後1)は次のようになっています。 この前後に移動する補助剛体(胸_前後)に胸剛体をJoint(胸_前後2)で接続します。 これで胸剛体が前後にボヨヨ~ンと「移動」するようになります。 [5]RGBA式おっぱい剛体Ver1.5βのできあがり これで移動しながら回転するおっぱい剛体のできあがりです。お疲れ様でしたw β版なので動きがチェックしやすいように剛体の揺れは柔らかめに調整してあります。 もうちょっと簡略化できそうです。なにか良い方法とかありましたら教えてください。 [6]揺れ方の調整方法 剛体のサイズ、質量、移動減衰/回転減衰の値で揺れ方を調整します。全体的な胸の揺れを調整するときは胸剛体を、上下左右の移動の調整は胸_後剛体を、上下左右の回転の調整は胸_前剛体を、前後の移動の調整は胸_前後剛体の値を変更します。 ・剛体のサイズは小さいほうがよく揺れます。あまり小さくすると揺さぶったときに剛体がぶっ飛んでいきます。(0.1くらいが限界?) ・質量は大きいほうがユッサユッサと揺れます。あまり小さいとプルプル震えることがあります。 ・移動減衰/回転減衰は1に近いほどフワフワと揺れます。0.5から0.999くらいがいいでしょうか。 剛体のサイズや質量の値を変えると補助剛体の位置が変化します。サイズを小さくしたり質量を大きくすると補助剛体の位置が下がり、サイズを大きくしたり質量を小さくすると上がります。 (1)PMXエディターのTransformViewで下にある「正」をクリックしてパースOFFにし、テンキーの「4」か「6」キーを押して真横からの表示にし、マウスホイールでおっぱい部分を拡大します。 (2)左下の「◎」をクリックしてボーン表示にし、上の「物」をクリックし物理演算をONにした後、「黄色い右向き三角(リアルタイム更新)」をクリックすると胸ボーンの位置が移動するのがわかります。 (3)「黄色い右向き三角」をON、OFFして胸ボーンの位置を見ながら、Jointの制限/パラメータの移動yの値を変更します。胸_後2と胸_前2の2箇所の値を調整しON、OFFしてでできるだけ胸ボーンが物理演算OFFののときと同じ位置になるように調整します(剛体とJointも表示させるとわかりやすいこともあります)。 一時的に片側の胸剛体の剛体タイプを「ボーン追従」にして固定しておくと位置の確認がしやすいです。 ・あと、剛体とJointの距離を調整すると揺れ具合が変化します。試してみてください。 追記:胸剛体の動く範囲の設定方法を書くのを忘れていました。 胸剛体のJointの制限/パラメータで、x軸(上下動)y軸(左右動)z軸(前後動)の移動とx軸(上下回転)y軸(左右回転)回転の可動範囲を設定します。z軸回転の設定もしてますが、z軸で胸剛体が回転しているのかは不明です。 ここで設定した範囲内で胸剛体が動くはずです。実際には補助剛体に引っ張られて設定範囲外まで動くこともあります。また、なぜかわかりませんが、y軸回転は大きな値を設定してもあまり動かないようです。Ver1.5βでは-60から60度に設定してありますが、実際には-30から30度くらいしか回転してないようです。 回転用のダミー剛体の可動範囲も回転の値を上記と同じように設定しています。移動の値は全部0(ゼロ)にしてください。 [7]剛体とJointの移植方法 RGBA式おっぱい剛体の構造は自由にお使いください。剛体とJointをコピペして使ってもOKです。 他の人が作ったモデルに移植するときは、そのモデルの取扱説明書(Readme等)をよく読んで改造OKなのか確認してから移植してください。 移植するモデルに胸ボーンが1本(左右で2本)あるモデルの場合は割りと簡単に移植できます。胸ボーンがなかったり複雑なおっぱいボーンのモデルは大変です。 以下はPMXエディターを使って、胸ボーンが1本ありその胸ボーンに乳まわりのウェイトが塗ってあるモデルへの移植方法です。 (1) PMXエディターで移植先モデルの胸ボーンに接続してある剛体とJointを削除します。(名前を付けて保存で上書きせずに別な名前で保存しましょう) (2) もう一つPMXエディター起動し、カッパちゃんを開きます。 (3) 移植先モデルに上半身2があるか確認しある場合は(4)へ、無い場合はカッパちゃんの剛体の「上半身2_R」と「上半身2_L」の関連ボーンを「上半身2」から「上半身」に変更します。 (4) カッパちゃんの剛体リスト上で右クリックし全て選択(Ctrl+A)、クリップボードへ複製(Ctrl+C)します。移植先モデルの剛体リスト上で右クリックしクリップボードから追加/更新(Ctrl+V)でペーストします。 追記:同様にしてカッパちゃんのJointを移植先のモデルへコピペします。 (5) PmxViewを見ながら剛体とJointの位置を調整します。編集 → プラグイン → System → 剛体/Joint選択表示 を使うと便利です。 (4) 必要なら非衝突グループを調整します。RGBA式おっぱい剛体のグループは「15」になっています。 追記:おっぱい剛体と関連Jointはリストの下の方に置いたほうがキレイに揺れるようです。上の方にあるとおっぱい剛体がプルプル震えることがあります。 これはMMDが物理演算の処理をリストの上から順番に処理しているせいだと思います。たぶん。 勘違いやミス等あると思いますのでコメントで指摘していただけると有難いです。 また、わからないこと等ありましたらお気軽にコメントで質問してください。 ・・・ 次はおっぱい剛体Ver1.5を組み込んだ正式配布用の素体モデルを作る予定です(たぶんw)
RGBA (RGB-CMYK) のブロマガ
MikuMikuDanceやオーディオ、カメラなどの趣味の話とチラ裏です。