タイトル画像

【BGE】カメラ切り替え(Switching Camera)

2015.02.14(22:45) 28

【概要】
 カメラが二つある時の切り替え機構です。python は使いません。

 カメラが二台あり、スペースバーを押すとアクティブなカメラが切り替わるという仕組みを作ります。

【作り方】
1.まずこんな状況を作ります。
switch cam_01.png
 床と箱とカメラ二つ、あとは分かりやすいように矢印と色付きの照明を置いてみました。

2.選択されているカメラ(Camera と名前が付いているほう)に設定を施していきます。
 画面構成を Game Logic に切り替えて、Logic Editor で作業します。

switch cam_02.png

 2-1.まず先にプロパティを作っておきます。
  左の Propertys パネルにあるボタン[+ Add Game Property]を押して、新しいプロパティを作ります。
  次にプロパティ名を camera と名付けて、Type を Boolean にします。
  ついでに[ i ]と書かれたボタンも ON にしておきます。

 2-2.情報を見えるようにする。
  さっき ON にしたのは実行時のプロパティの情報を見れるようにするためのボタンでした。
  しかしそのままだと見れないので、インフォメーションヘッダ(画面上部)の Game と書かれた場所をクリックして、出てきたメニューから Show Debug Properties を選んでチェックを入れます。
switch cam_05.png
  これでゲーム実行時にプロパティの情報が画面左上に表示されるようになります。

3.スイッチの"つまみ部分"を作ります。

 3-1.キーボードセンサーを追加し、スペースバーを入力装置に指定します。
  このとき[ Tap ]ボタンを有効にしておいてください。
  キーを押しっぱなしにしたときに、画面が切り替わり続けるのを防ぐための機能です。

 3-2.アクチュエイターに Property を追加してください。
  Mode: を Toggle にし、Property: に camera(プロパティ名)を入れます。

 3-3.最後に二つを And コントローラーで繋ぎます。
  とりあえずこれでカチカチ出来るつまみ部分は出来ました。
  次はこれに配線して使えるようにします。

4.スイッチに二つの状態を繋いで使えるようにします。

 4-1.センサーに Property センサーを二つ加えてください。
  ※見やすくするため、先程設定したロジックブリックは最小化しています。
  switch cam_03.png
  二つとも Evaluation Type: は Equal 、Property: は camera に設定してください。

  ※Evaluation : 評価する[動]
   式や変数から値を決定すること。

  上のセンサーの Value: は True 、下のセンサーの Value: は False にそれぞれ設定します。

 4-2.アクチュエイターにも同様に二つ Scene アクチュエイターを追加してください。
  Mode: を Set Camera にし、上のアクチュエイターと下のアクチュエイターの Camera Object: を、それぞれ Camera と Camera.001に割り振ってください。

 4-3.作ったアクチュエイターをセンサーと繋ぎます。
  最後に、二つのアクチュエイターとセンサーをそれぞれ別の And コントローラーで繋ぎます。

 これで完成です!(*・ω・)ノ

 あとはどちらかのカメラに視点を移して(アクティブにしたいカメラを選択して Ctrl+0) Pキーでゲームを実行し、スペースバーを押せば画面が切り替わるはずです。
switch cam_04.png

参考文献:Blender Game Engine - Switching Cameras During Game

[別の方法]
はじめてのゲーム作り Capture2/TibLab
 後半でスクリプトを使ったカメラ切り替え(カメラの"位置"が切り替わる)が紹介されています。



[余談]
 SPAAAAACE!! のネタが分かった人はどのくらいいるのだろうか(*・ω・)
ちなみにチェック柄の床と赤いキューブという組み合わせは赤鬼さんリスペクトです。
関連記事
スポンサーサイト

超エキサイティン! フンストンの3DCG至難の書


<<【企画】嵐山ステージ(途中) | ホームへ | 【ステージ配布】ボン○ーマン風ステージ【MMDアクセサリ】>>
コメント
コメントの投稿













管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://funstone.blog.fc2.com/tb.php/28-1e7d76b7
この記事にトラックバックする(FC2ブログユーザー)