俺に解るように説明する "Godot Engine 3.x" 入門+

ゲームエンジン Godot Engine に関すること。入門とか使い方とかチュートリアルとか、あれとかこれとか。日本語解説。

Godot 玉転がし 07 「カメラとライト」

前回カメラをシーンに設置しなかったので、「あー、ゲーム画面、真っ暗、どうしよう」というおやくそくをみごとに実行できた(やや満足)。今回は普通にカメラを置いていこうと思う。ついでにライトもね。まー、シーンのルートノードに「Camera」ノードと「DirectionalLight」ノードを追加して、イイ感じの所に動かせばいいだけだけどね。 f:id:ore2wakaru:20180304204913p:plain

f:id:ore2wakaru:20180304211141p:plain


カメラ

カメラは結構近づかないと、どっちを映すかのカメラ枠(ピンクっぽい線)が見えないから注意ね。枠が見えればハッキリするけど、映す方向はマイナスZ軸方向。 f:id:ore2wakaru:20180304211707p:plain

プロパティも、分かるところだけ書いとこうかな。
f:id:ore2wakaru:20180304212736p:plain

  1. Keep Aspect: ゲーム画面の大きさをいじった時、見え方をどうするか。縦横どっちに合わせますか? の設定。縦方向固定なら、"Keep Height"、横方向固定なら"Keep Width"。
  2. Cull Mask: 知らん。たぶん映すレイヤーと映さないレイヤーを決めるんだろな。
  3. Environment: 知らん。たぶんスカイボックスとかの設定だろな。
  4. H OffsetV Offset: Hhorizontal(横)で、VVertical(縦)だろ。置いたところよりちょっとずらしたい時にいじるんかな。
  5. Doppler Tracking: しらん。なんか追跡カメラとかにした時の便利機能かな? 面白そうだ。
  6. Projection: "Perspective"と"Orthogonal"が選べる。近くがおっきく、遠くがちっちゃい、奥行き感じちゃうのがPerspective。近くも遠くも同じ大きさなのがOrthogonalな。前もどっかで出てきた用語だな。
  7. Current: カメラが複数あった時、優先的に有効にするとき、ここチェック。メインカメラをどうするかの設定。カメラ1この時はどうでもいい。
  8. Fov: "field of view"。視野だよね。デフォでは70度ってことだな。
  9. NearFar: カメラに映す距離だな。NearとFarの間のものだけ映すって、デフォでは100メートル先までしか映さんの? ずいぶん省エネやな。

そして、一番重要なのが、メインパネルの[View]ボタンとの連携。カメラを選択すると、画面右上に[Preview]ってボタンが出てくるから、これを押す。すると、カメラビュー、つまり実際のゲーム画面の見え方になる。で、普通の人にとっては1画面での編集はむずいから、画面を分割して、編集画面とカメラビューと分けてみましょうってことな。 f:id:ore2wakaru:20180304221707p:plain

図では、上部を編集用画面、下部をカメラビューとした。だから、上部画面で、カメラを引っ張ったり回転させたりして、下のゲームビューがイイ感じに見えるようにすればいい。後は、きっちりしたい人向けにインスペクターパネルから、Transform情報を手打ちすればいいな。俺は、

  • Translation (0, 25, 28)
  • Rotation Degrees (-45, 0, 0)

としたけど。お好きにどーぞ。


ライト

ライトを追加した瞬間パッと、玉とか壁とかの色の変化があって、なんかライト置いたんだなーという感じがして、すごくいいよね。 f:id:ore2wakaru:20180304224218p:plain

ライトは、めちゃくちゃいっぱい設定項目があるんだけど、これ、ライト博士に聴かないといけないぐらい、意外と奥が深い。だから、今回は、
f:id:ore2wakaru:20180304224854p:plain

  1. Lightカテゴリ > Shadow > Enabled: "On"にチェックで影が表示される。

ここだけ有効にしよう。後は、ライト博士におまかせするとする。

で、今回置く「DirectionalLight」は太陽光を再現する感じのライトね。光の射す方向、つまりどっちから太陽に照らされてるようにするかは、ギズモ(マニピュレータ)の回転で好きにすればいいと思うぞ。 f:id:ore2wakaru:20180304231747p:plain

ちょっとだけ注意することは、「DirectionalLight」はどこに置いても、大丈夫ってこと。太陽は東にあることにしようと思っても、別に東の方に置く必要はないってこと。ゲーム世界のど真ん中に置いても、立派に太陽光を世界に放ってくれるぞ。だから、ゲーム世界を構築する時に、一番邪魔にならない箇所で、さらに分かりやすい所に置くようにするのが鉄則らしい。どこに置いたっけ? とならぬよう注意だ。俺は、ステージの真下に引っ張ってきたぜ。上にあると見た目、邪魔だからな。


では、シーン再生(又はゲーム再生)

やってみてくれ。

どや、重力感じちゃったろ。

またな。