創作內容

0 GP

物理演算各數值說明

作者:神秘商店│2011-11-27 19:02:37│巴幣:0│人氣:3043
文件備份用。

原始文章:http://ddcafe.homeip.net/mmd/index.html

[物理演算メモ]
・剛体
    重さ:剛体の重さの基準単位(大きさで剛体全体の重量は可変する)基本調整範囲は0.1-1.0で標準値は0.5あたりがよい。
    移動減衰:剛体のA地点からB地点への移動抵抗(0は抵抗なし 基本調整範囲は0.01-0.99で 1は空中で静止 1より大きな数値の適用についてはケースbyケース)
    回転減衰:剛体の角度Aから角度Bへの回転抵抗(0は抵抗なし 基本調整範囲は0.01-1で 1で回転による振り子動作は1回で終了 1より大きな数値の適用についてはケースbyケース)
    反発力:剛体同士が衝突した際に相手に与える運動力(0は反発力なし 基本調整範囲は0.01-1で、大きくすればするほど衝突時反発するので1より大きくする場合は移動減衰と剛体の重さによって調整)
    摩擦力:剛体同士が衝突した際に相手に与える抵抗力(0は摩擦なし 基本調整範囲は0.01-0.99で、1以上にすると剛体同士を持ち上げたりするのに使用できる)

剛体について
標準で追加すると地面に対して垂直に配置
剛体の強度自身はどういじろうがが変わらないためボーン追従の剛体と衝突した際にモーメントの逃げ場がないと必ず突き抜ける。
物理演算同士でも突き抜けない保証はない。
剛体の配置は衝突判定をしないのであればモデルと重ねる必要なし。

・JOINT
制限
    移動:JOINTの基準点を標準とした移動量制限(0~0で動かない)
    回転:JOINTの基準点を標準とした回転量制限(0~0で動かない、最大値と最小値を逆にすると無限回転)
ばね
    移動:JOINTが元の位置に戻ろうとする力(0でばねなし 基本調整範囲は1~100でそれよりも大きな値は移動減衰・剛体の重さ/重心と調整)
    回転:JOINTが元の角度に戻ろうとする力(0でばねなし 基本調整範囲は1~100でそれよりも大きな値は回転減衰・剛体の重さ/重心と調整)

JOINTについて
標準で追加すると地面に対して垂直に配置
剛体の角度にあわせてXYZ回転させるとJOINTの制限値をシンプルに表現することができる。
JOINTの強度は思った以上に弱いため制限値を越えた所ですぐ分解する。
JOINTの移動はレールの感覚
JOINTの回転は糸で結んだ感覚
JOINTをある程度正確な角度と方向で動かしたい場合は2点支持で。1点支持にした場合はその回転させたい方向をX軸とすると
Z軸Y軸方向へ力を逃がそうと回転するためねじれが発生する。

剛体を連結させた場合の動き
例としてミクのツインテールの場合で剛体の重さを0.1→0.1→0.1→0.1→0.1→0.1としたものがあるとする(左方向が髪の根元とする)
根元の重さを1.0等にすると根元の動きが硬くなる。
端の方の重さを1.0とした場合は重力方向に向けた引張りが発生するため房全体の動きが硬く見える。

剛体の移動減衰の効果について
例としてミクのツインテールの場合で剛体の移動減衰を0.1→0.1→0.1→0.1→0.1→0.1としたものがあるとする(左方向が髪の根元とする)
根元の移動減衰を1.0にすると根元の動きがゆっくりとなる。
端の方の移動減衰を0.99とした場合はその剛体の移動がゆっくりとなるためそこを髪の房全体がひっぱるような動きになる。あわせてその中間の剛体の動きにたわみができる。
端の方の移動減衰を1.0にするとアンカーを打ったみたいになる。
(例:LAT式ミクのツインテールで移動減衰と重さの効果を利用、キオ式ルカスカートの末端部分に移動減衰と重さの効果を適用すると柔らかい布の動きになる)

剛体の回転減衰の効果について
スカート等をひらひらとした動きにしたい場合は0.6-0.9の間で調整、0.5以下だとひらひら通りすぎでばっさばっさになる。
動かしたいんだけど落ち着かせたい場合は0.99を入れてみる
がっつり回転を止めたい場合は1を入れてみる。

ばねについて
剛体同士が衝突してぷるぷるしている原因はばねか制限値の値が許容範囲を超えている。
感覚的に100で普通に締め上げてる感じ

制限値(回転について)
5-10単位での値の増減で調整するぐらいで問題なし

制限値(移動について)
0.1単位での値の増減で調整するぐらいで問題なし

剛体同士の衝突について
力の逃がし方が重要。衝突を直接行わず空間を空けたり間にクッション用の剛体を挟む事で衝突による無駄な動きを吸収。逃がせないとJOINTが破壊か裏にめり込む。

人体モデルでの具体的な基本数値(このあたりから値を調整)
前髪
剛体 [重さ:0.1 移動減衰:0.5 回転減衰:1.0 反発力:0.0 摩擦力:1.0]
JOINT[移動制限:x 0~0 y 0~0 z 0~0 回転制限:x -15~15 y -5~5 z -15~15 移動ばね:x 0 y 0 z 0 回転ばね:x 0 y 0 z 0]
横髪・後髪
剛体 [重さ:0.1 移動減衰:0.8 回転減衰:0.8 反発力:0.0 摩擦力:0.0]
JOINT[移動制限:x 0~0 y 0~0 z 0~0 回転制限:x -30~30 y -5~5 z -30~30 移動ばね:x 0 y 0 z 0 回転ばね:x 0 y 0 z 0]
スカート
剛体 [重さ:0.5 移動減衰:0.5 回転減衰:0.5 反発力:0.0 摩擦力:0.1]
JOINT[移動制限:x 0~0 y 0~0 z 0~0 回転制限:x -45~45 y -30~30 z -90~90 移動ばね:x 0 y 0 z 0 回転ばね:x 0 y 0 z 0]

ほかのボーン追従の剛体については普通に追加でOK

JOINTや剛体で極端な数値にする場合
例:
かこみき式おっぱい(胸用剛体の重さ・移動ばね・移動減衰にかなり極端な値を適用)
ランカの髪の根元(わさわさとした動きを抑えるため回転ばね・重さ・移動減衰に極端な値を適用)
シェリルの胸の寄せて上げて対応(両腕で胸を寄せて上げてできるように摩擦に極端な値を適用)

剛体の設置作業時はバックグラウンドは黒・パースはOFF、理由は剛体のワイヤーフレームを見やすくするため。
基本剛体を配置する際はモーションの適用は行わない。

モーション適用で動作確認する際は初期モデルと調整用の2体を表示させ比較しながら調整する。

JOINTの角度制限値の目安は各ボーンを手動で動かしXYZの最小最大角度を確認する。
JOINTの移動制限値の目安は各ボーンを手動で動かしXYZの最小最大位置を確認する。
上記確認で一番なのは数十フレームでもいいので物理演算適用ボーンを手付けでモーション付けする。

肘・手首はアクセサリとは衝突させないほうがいい。
長い髪の場合腕を前に組むモーションのときに腕や肘で剛体を挟み込んでしまうため肩より少々下にある剛体と肘を非衝突にしたり剛体に隙間を空けてあげると問題が起き難い。
(例:LATミクさん・ちびハクさんのツインテール等)

髪の形を維持したい場合はJOINTの回転の数値で調整するのではなく回転のばねで調整

減衰とばねの関係は車の足回りいじくるのに似てる気がする。
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=1473037
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 1 篇留言

61
求中文解說TmT

12-05 16:30

我要留言提醒:您尚未登入,請先登入再留言

喜歡★coldwater 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:創造-增傷效果測試... 後一篇:MMD艾爾模型製作基礎觀...

追蹤私訊切換新版閱覽

作品資料夾

lemonade1120隨便逛逛的你
歡迎來小屋逛逛看看奇幻小說喔 :D看更多我要大聲說3小時前


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】