片手で操作できる自由なカメラ【はじめてゲームプログラミング】

片手で自由に動かせるカメラを作ります。

とりあえず最初に作っておくと、デバッグもしやすいかと。

目的

Lスティックと1つのボタンだけでカメラの位置を動かしたり、カメラの向きを変えたりできるようにする。

両方のスティックを使ってもいいが、片手で操作したかったのでLスティックとZLボタンを使います。

用意するもの

  • カメラ×1
  • UFO×1
  • Lスティック上下×1
  • Lスティック左右×1
  • ZLボタン×1
  • 計算(掛け算)×4
  • NOT×1
  • マッピング×2(なくてもいい)
  • 上ボタン×1
  • 下ボタン×1
  • +ー反転×1

 マッピングノードンはカメラの感度調整用なのでお好みで。

繋ぎ方

f:id:sadala:20210908145358p:plain

完成形

 

カメラとUFOをれんけつ

f:id:sadala:20210908145428p:plain

れんけつするだけ

UFOの設定は「見えない」「当たらない」を基本に作りたいゲームに合わせて変更してください。

UFOの位置や向きをガレージ上で変えるとカメラが動くようになればOK。

 スティックの出力をかけざんの入力(上)へ

f:id:sadala:20210908145519p:plain

上2つがカメラ用、下2つがUFO用

UFOの移動用とカメラの移動用に4つのかけざんノードンの入力ポートへ接続します。

カメラの感度を変えたい場合は、間にマッピングノードンを挟んで調節してください。

UFOの移動はUFOの設定画面で調節できます。

 

www.sadalablog.com

ZLボタンの出力をNOTの入力へつなぐ

f:id:sadala:20210908145736p:plain

ZLボタンの出力をカメラ用のかけざんの入力(下)につなぐ

f:id:sadala:20210908145759p:plain

これでZLボタンを押している間上2つのかけざんノードンからLスティックの出力が出力されます。

NOTの出力をUFO用のかけざんの入力(下)につなぐ

f:id:sadala:20210908145949p:plain

下2つは逆にZLが押されていない間、出力されるようにします。

かけざんの出力をカメラとUFOの入力につなぐ

f:id:sadala:20210908150129p:plain

カメラ用の出力はカメラの入力に、UFO用の出力はUFOの入力につなぎます。

この時点でLスティックで前後左右の移動、ZLを押しながらLスティックでカメラを動かせたらOKです。

上ボタンと+ー反転した下ボタンをUFOの上下につなぐ

f:id:sadala:20210908150255p:plain

これで上下(高さ)の移動もできるようになりました。

※+ー反転の代わりに引き算ノードンでもできます。

とりあえず目的は達成。

 

アレンジ

カメラとUFOの操作をスイッチで切り替える

f:id:sadala:20210908150407p:plain

f:id:sadala:20210908150448p:plain

ボタンの出力→カウンター増やす(ループ0から2)→動くマーカー となるようにつなぎます。

次にマーカーの上にスポイトを置き、左側のスポイトの出力をUFO用のかけざん(もともとNOTの出力がつながっていた下側)に、右側をカメラ用のかけざんにつなぎます。

f:id:sadala:20210908150519p:plain

ボタンを押すと操作が切り替わるようになります。

お好みに合わせてどうぞ。