【Blender】boxの中に物を落とす【リジッドボディ】【解決方法紹介】【Blender 2.90】

最近の出来事として、YouTubeでコップを作る動画を見ながら自分でも作ってみて、何とか作ることができたから、その中に物を落としてみたけれど、上手くいかなかったから何とかする方法の話。

箱の作成

コップは少し面倒なので今回は箱で説明

  1. 編集モード(Edit Mode)で面選択に変更
  2. オブジェクトの上面を選択して、削除する

取り敢えず、箱の完成!(雑)

落下するオブジェクトの作成

  1. 「追加(Add)」→「メッシュ(Mesh)」からUV球とか適当なオブジェクトを追加
  2. 「sキー」→「0.7」とかの箱に入る適当な大きさにリサイズして、上に持ち上げる

落下オブジェクトの完成!(こっちも適当)

リジッドボディの適用

  1. 球体を選択して、物理演算プロパティ(青い丸いやつ)のリジッドボディ(Rigid Body)を選択
  2. 箱も同じようにリジッドボディを選択
  3. 箱は動かないようにタイプ(Type)をパッシブ(Passive)に変更

リジッドボディを適用したので、重力による落下や衝突などのシミュレーションができる。

上手くいかないとこ ー箱の中に入らないー

この状態でアニメーションを実行してみると、球体は無いはずの箱の上面で止まってしまう。

何もないように見えるけれど、何かあるらしい…(よくわからん!)

解決法 ー箱の中に入るようにするー

解決できた方法をいくつか紹介

方法1

リジットボディの設定内のコリジョン(Collisions)のシェイプ(Shape)をメッシュ(Mesh)に変更する方法

ちゃんと中に入ってる

ワイヤーフレーム表示にするとわかりやすい↓

方法2

平面を5枚使ってボックスを作る方法

1枚目はそのままでいいけれど、あとの4枚は位置と角度を設定しないといけないし、5枚すべてにリジッドボディを適用するのも面倒くさい!(この程度ならプログラムを書いてやるという方法もあるけど、どちらにせよ面倒くさい)

そもそも、今回はシンプルな形だから大丈夫だけれど、コップみたいな複雑な形だとかなり厳しい!というか無理!

↑上が方法1、下が方法2

方法1だと底面との間に隙間ができるけれど、方法2だとそれが無くなるというメリットは一応あるっぽい(?)

方法3

編集モードで面選択にして、周囲の面を1つずつ選択して、「右マウスクリック」→「分離(Separate)」→「選択(Selection)」で面を分離して、方法2みたいに5枚の平面にしてしまう方法

分割するごとに「立方体.001」、「立方体.002」・・・と増えていく

こっちも元の形が複雑になると分割するのが大変になるし、上手くいかない(中に入らなかったり、箱の途中で止まったりする)こともある(自分のやり方が悪いだけかも)から、そんなにおすすめはできないかも…

まとめ

リジッドボディ設定をメッシュに変える方法がたぶん一番楽

Blender1年ちょっとのほぼ初心者なので、思いつく解決方法はこれくらい…

他にも方法があれば追記するかも(?)