モデルの衝突

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー



前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 .5 .6 | 投稿日時 2016/4/9 21:59
debon  新米   投稿数: 4
初投稿させていただきます。
blender2.77のゲームエンジンで二足歩行シミュレーションをすることを目標としています。

メッシュとアーマチュアを以下の条件を満たすように設定したいです。

1.ボーンを曲げるとメッシュの対応した部分も追従して曲がる
2.メッシュは重力の影響を受けたり、外界の物や壁と衝突する(すり抜けない)
3.2でメッシュが動いたとき、アーマチュアの位置や角度はメッシュに追従する

1は親子設定でできましたが、2と3も同時に満たす方法がわかりません。

よろしくお願いします。
投票数:5 平均点:2.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016/4/10 12:15 | 最終変更
yamyam  管理人 居住地: そうや、うちはおおさかやー  投稿数: 4405
はじめまして。
コンストレイントの剛体関節を使えばうまくできそうですが、ちょっと今サンプルを作成する余裕がないので、参考になりそうな動画を。
https://www.youtube.com/watch?v=8kjNkhsCl0M

ただ、おそらくアーマチュアからIKでターゲットとして…と考えられているのであれば、循環参照で上手く動かないかもしれません。
投票数:4 平均点:7.50
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016/4/10 17:12
debon  新米   投稿数: 4
返信ありがとうございます。

動画確認しました。ああいう外界からの影響で関節が曲がるのはラグドールというんですね。
申し訳ないですが、私が目標するものとは少し違いました。

私の最初の説明が不足していたと思うので補足します。
・ボーンはテキストエディタのプログラムでのみ曲がる(衝突や重力で曲がらない)
・メッシュは衝突や重力で動く、アーマチュアはメッシュに追従するが、個々のボーンは曲がらない(そのためメッシュは吹っ飛んだり、倒れたりしても姿勢はそのままということになる)

私が途中までやってみたものを貼ります。
/modules/xelfinder/index.php/view/165/bgetest.zip

アドバイスいただけたら幸いです。

?
投票数:7 平均点:2.86
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016/4/12 21:22
yamyam  管理人 居住地: そうや、うちはおおさかやー  投稿数: 4405
ボーンはこのままでも衝突や重力で曲がりませんし、胴体のメッシュはこのままではアーマチュアに追従するだけで、他のオブジェクトの影響を受けることはできません。

そこで、この胴体と別に設置判定用のメッシュを使用しないといけないのですが、剛体オブジェクトは他のオブジェクトの子になれなかったように思うので、間接コンストレイントの動画を貼りました。

ただ、間接コンストレイントによるペアレントでは平行移動はできないようですので、今何か別の方法を思案しているところです。
?
投票数:4 平均点:2.50
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016/4/12 22:37
debon  新米   投稿数: 4
返信、動画の確認ありがとうございます。

関節コンストレイントの動画というのが貼られていないみたいなんですが…。
私の見落としだったらすみません。

調べていたら私がまさにやりたかったことをしている動画があったので貼ります。
https://www.youtube.com/watch?v=jev4UA7EVkc

よろしくお願いします。
投票数:7 平均点:5.71
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016/4/14 12:40
yamyam  管理人 居住地: そうや、うちはおおさかやー  投稿数: 4405
ちょっと色々端折って書いてしまったのでもう一度整理し直します。
まず最初の質問ですが、
引用:
1.ボーンを曲げるとメッシュの対応した部分も追従して曲がる
2.メッシュは重力の影響を受けたり、外界の物や壁と衝突する(すり抜けない)
3.2でメッシュが動いたとき、アーマチュアの位置や角度はメッシュに追従する
1はもう実現されていますが、通常のアーマチュア変形を行ったメッシュオブジェクトが2.の挙動を行うのは不可能なのです(ただし衝突判定だけはボーンに専用のオブジェクトをペアレントすることなどで可能)。

3を行うことはコンストレイントやスクリプトを駆使すればなんとかできるはずです。多分。

で、衝突判定用にオブジェクト群を剛体間接コンストレイントでジョイントして組み上げ、それを相互にフィードバックさせればいいんじゃないかと思った次第です。ただしメッシュ変形は上述の理由により、アーマチュアによる変形ではなく、ボーン⇔各オブジェクト間の姿勢のコピーなどで制御することになると思います。

剛体間接コンストレイントの作成チュートリアルについては、先に投稿したラグドール動画の1:13あたりを参照してみてください。後でサンプル上げられそうなら上げます。

ただ、スクリプトでアーマチュアのボーンを駆動するぐらいなら、直接これらのオブジェクト群を制御した方が早いような気もします。
?
投票数:7 平均点:5.71
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2016/4/14 23:14
debon  新米   投稿数: 4
ありがとうございます。

アーマチュア変形をしたメッシュは基本的に重力を受けたり、衝突したりできないんですね。

最初のメッシュは別のCADソフトで作ったものをインポートしたものですがblenderで部位ごとに作り直してコンストレイントをつけるやり方でやってみようと思います。
投票数:5 平均点:6.00

  条件検索へ


ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Buildbot(自動生成)


●開発関連
公式開発サイト
Blender開発blog
Blender Wiki