やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Blenderゲームエンジンで衝突判定

 キューブが落ちて床に衝突するアニメーション。

demo

Blender内蔵ゲームエンジン

 Blender2.79にはゲームエンジンが内蔵されている。これを用いてオブジェクト同士の衝突判定をさせてみる。

 なお、Blender2.8からはゲームエンジンが削除されてしまったようだ。別のアドオンを使ってゲームエンジンを入れるらしい。

手順

  1. ゲームエンジン設定
  2. キューブを上に持ち上げナナメにする
  3. 床を作る
  4. キューブの物理演算を設定する
  5. ゲームを開始する

1. ゲームエンジン設定

  1. Blender2.79を起動する
  2. 画面上にあるBlenderレンダーをクリックしてBlenderゲームに変更する

2. キューブを上に持ち上げナナメにする

  1. 初期配置されているキューブを右クリックして選択する
  2. 青色矢印をDnDして上に平行移動させる
  3. Rキーを押す
  4. マウス移動し、回転させてナナメにする

 重力によって床に落ち、衝突したら、複雑に体勢が変わるような位置と角度にする。角が下を向いていると好ましい。

3. 床を作る

  1. 画面左にある作成タブをクリックする
  2. プリミティブ,メッシュから平面をクリックする
  3. 画面中央に現れた平面図形を右クリックして選択する
  4. Sキーを押す
  5. マウス移動して拡大する

4. キューブの物理演算を設定する

  1. キューブを右クリックして選択する
  2. 画面右にあるプロパティのアイコン一覧でマウスホイールする
  3. 一番右側にある物理演算のアイコンをクリックする
  4. 物理演算,物理タイプをクリックして剛体を選択する
  5. 衝突境界設定チェックボックスを入れる

5. ゲームを開始する

  1. 画面右にあるプロパティのアイコン一覧でマウスホイールする
  2. 一番左側にあるレンダーのアイコンをクリックする
  3. 開始をクリックする
  4. アニメーションされる
  5. ESCキーで終了する

所感

 動いた!

対象環境

$ uname -a
Linux raspberrypi 4.19.97-v7l+ #1294 SMP Thu Jan 30 13:21:14 GMT 2020 armv7l GNU/Linux