Blender 2.79 ゲームエンジンで剛体シミュレーション
【概要】
Blender 2.79 のゲームエンジン(Blender Game Engine)を使い,床・壁・球のオブジェクトを配置して剛体シミュレーション(物体を形の変わらない剛体として扱い,重力や衝突の物理演算を行うしくみ)を行う手順を解説する.
このページの内容は,Blender バージョン 2.79 で操作する.Blender Game Engine は Blender 2.80 で削除されたため,2.80 以降では動作しない.2.80 以降で剛体シミュレーションを行う場合は,物理演算プロパティのリジッドボディ(剛体)を使い,タイムラインの再生でシミュレーションを実行する.
【目次】
【関連する外部ページ】
- Blender の公式ページ: https://www.blender.org/
- 旧バージョンの Blender の配布ページ: https://download.blender.org/release/(2.79 は Blender2.79 のディレクトリ内)
- 現行版のリジッドボディのマニュアル: https://docs.blender.org/manual/ja/latest/physics/rigid_body/index.html
【サイト内の関連情報】
1. 前準備
Blender 2.79 のインストール
このページの操作には,ゲームエンジンを搭載した最後のバージョンである Blender 2.79 を使う.旧バージョンは https://download.blender.org/release/ の Blender2.79 のディレクトリから入手できる.インストール済みの現行版とは別のディレクトリに展開して使う.
【現行版の Blender のインストール】(このページの操作には使用しない)
Blender 2.79 でメニューを日本語化する場合は,「File → User Preferences → System」で「International Fonts」をチェックし,Language に「Japanese (日本語)」を選び,Translate の「Interface」「Tooltips」をチェックする.
2. Blender 2.79 ゲームエンジンについての基本操作
Blender 2.79 ゲームエンジンに切り替え
- Blender の画面ワークスペースを「Game Logic」に変える
- Render Engine (レンダー・エンジン) を,「Blender Game (Blender ゲーム)」に切り替える
Render Engine (レンダー・エンジン) は,既定では 「Blender Render (Blender レンダー)」になっている.
Standalone Player (スタンドアローンプレーヤー)の開始と終了
- Standalone Player (スタンドアローンプレーヤー)の開始:
カメラプロパティの画面で, Standalone Player (スタンドアローンプレーヤー)の下の「Start (開始)」をクリック
別ウィンドウでシミュレーションが始まる.
- Standalone Player (スタンドアローンプレーヤー)の終了:
ESC キー
3. Blender での剛体シミュレーションの例
- Blender ファイルをダウンロードする
- ダウンロードしたファイルを Blender 2.79 で開く
- スタンドアローンプレーヤーを起動する.
カメラプロパティの画面で,Standalone Player の下の「Start (開始)」をクリックする.
- 結果を確認する
終了は ESC キー
- 球の位置を変えて,スタンドアローンプレーヤーを起動する
終了は ESC キー
4. 剛体シミュレーションの演習
Blender を起動し,Blender 2.79 ゲームエンジンに切り替え
- Blender 2.79 を起動する.
- 中央に表示されるスプラッシュ画面は,画面の外側を左クリックすると消える.
- 中央にある立方体のオブジェクト(灰色のもの)を右クリックで選択し,「DELETEキー」を押して削除する.
- DELETEキーを押すと確認表示が出るので,「削除 (Delete)」を左クリックする.
- Blender の画面ワークスペースを「Game Logic」に変える
- Render Engine (レンダー・エンジン) を,「Blender Game (Blender ゲーム)」に切り替える
Render Engine (レンダー・エンジン) は,既定では 「Blender Render (Blender レンダー)」になっている.
床と壁を作る
- 床: 平面 (Plane) 1つを調整
- 壁: 立方体(Cube) 4つを調整
- 平面(Plane)のオブジェクトを追加する
- いま追加した平面(Plane)のオブジェクトを拡大する
「s」キーで拡大縮小(スケール)ツールになる.
- 立方体(Cube)のオブジェクトを追加する
- 視野を回転して確認する.
マウスの中ボタンを押しながらマウスを移動する
- 立方体 (Cube) を拡大縮小,移動して,「壁」を作る.軸ロックの機能を使う
「s」キーで拡大縮小(スケール)ツールになる.拡大縮小ツールのときに「X」キー,「Y」キー,「Z」キーを押すと軸ロックされ,その軸方向だけの拡大縮小になる
「G」キーで移動モードになる.移動モードのときに「X」キー,「Y」キー,「Z」キーを押すと軸ロックされ,その軸方向だけの移動になる
※ マニピュレータを使って移動することもできる
- 同じ操作を繰り返して,壁を 4つ作る
※ 下の図の Blenderファイルのダウンロード
- スタンドアローンプレーヤーを起動し,おかしな動作がないことを確認する.確認したら ESC キーで終了する
カメラプロパティの画面で,Standalone Player の下の「Start (開始)」をクリックする.
球を置く
- UV球 (UV Sphere) のオブジェクトを追加する
- UV球 (UV Sphere) の表面をなめらかに見せる.
いま追加した UV 球 (UV Sphere) のオブジェクトを選び, 「CTRL キー」と 「2」を同時押しする(「2」は,テンキーで無い方の「2」)。これによりSubdivision Surface(サブディビジョンサーフェス:メッシュを細分化して曲面をなめらかに見せるモディファイア)がレベル2で追加される。
下の図に結果を示している
- いま追加した UV 球 (UV Sphere) のオブジェクトを移動して,床の上になるようにする.
「G」キーで移動モードになる.移動モードのときに「X」キー,「Y」キー,「Z」キーを押すと軸ロックされ,その軸方向だけの移動になる
※ マニピュレータを使って移動することもできる
- いま追加した UV 球 (UV Sphere) のオブジェクトを選び,
物理演算 をクリックする
- 物理演算タイプとして
剛体(形の変わらない物体として力学的に計算するモード) を選ぶ
- 「衝突境界設定 (Collision Bounds)」(物体どうしの当たり判定に使う形状を指定する設定)をチェックし,形状に「球 (Sphere)」を選ぶ
※ ここまでの手順を終えた Blenderファイルのダウンロード
- スタンドアローンプレーヤーを起動する.
カメラプロパティの画面で,Standalone Player の下の「Start (開始)」をクリックする.終了は ESC キー
- UV 球の高さを何通りか変えて,スタンドアローンプレーヤーの起動と終了を繰り返す.
落下距離が大きいほど床に衝突するときの速度が大きくなり,跳ね返りが大きくなることを確認する
- 床を傾ける
「R」キーで回転モードになる.
- スタンドアローンプレーヤーを起動して確認する.終了は ESC キー
床が傾いているため球が滑り,摩擦で止まる.
Blender ファイルのバリエーション