はじめてゲームプログラミング

パパと子どものはじめてゲームプログラミング「カメラノードン」で3Dマリオ風カメラワークを作ろう!

今回はNintendo Switchから大好評発売中の「ナビつき!つくってわかる はじめてゲームプログラミング(以下はじプロと略します)」から、カメラノードンを使って3Dマリオ風のカメラワークの作り方を説明していきます。

このゲームをやる上で、答えをただ示すことは面白さを半減させてしまうと思います。

私と子どもとの”試行錯誤”の生の過程(間違いも含めて)を示していくことで、はじめてゲームプログラミングの「ノードン」たちのことを、もっともっと深く理解することが出来ると思います。

今回はカメラノードンの使い方を学びつつ、3Dゲームを作る上で必要なX・Y・Z軸についても解説をしていきます。

では始めて行きましょう!

今までの投稿はこちらへ

CHECK
パパと子どもの「はじめてゲームプログラミング」のまとめ

2021年6月11日にNintendo Switchで発売された「ナビつき!つくってわかる はじめてゲームプログラミング(以下、はじプロと略します)」の話をしようと思います。 ナビつき! つくってわか ...

続きを見る

 

はじめに「カメラノードン」とは?

「カメラノードン」とは、カメラ系ノードンの一つです。

カメラ系ノードンには、「カメラノードン」の他にも「ゲーム画面ノードン」カメラくわしく系ノードン「カメラ位置ノードン、カメラ注視点ノードン、カメラ画角ノードン、カメラ位置ノードン」があります。

どうしてこういう分類をしているかというと、これらのグループ分けしたノードン達は重ねて使うことが出来ないからです。

つまり作り手としては、一つのゲームに対して「ゲーム画面ノードン」か、「カメラノードン」か、「カメラくわしく」かのどれを使用するか決める必要があるということです。

すごくアバウトな使い分けの説明としては、ゲーム画面ノードンが主に2Dのゲームに適しているのに対して、カメラノードンは3Dのゲームに適しています。カメラくわしくは、カメラノードンをばらしてさらに詳細に設定ができるイメージです。マニアックな設定を追い求める人向けってことですかね。

 

ちなみに今回説明する「カメラノードン」は、

FPSみたいな一人称の視点のカメラを作ったり、バイオハザードみたいな部屋のある一点に固定された監視カメラを作ったり、いわゆる3Dマリオみたいにキャラクターに追随してくれる中継カメラみたいな動きを作ったり…

作り手の色々な要望に応えてくれるノードンです。

 

3Dマリオ風のカメラワークってどうやって作るの?

パパ!
・・・いきなり何??
3Dゲームのキャラを追っかけてくるようなカメラを作りたいんだけど、カメラノードン出してやってみたんだけど無理なんだよ~
カメラね~、アレ難しいよね。どんなのイメージしてるの?
3Dマリオみたいな感じって言えばわかる?
わかるわかる。キャラクターにくっついてくるカメラでしょ?ひとまずどうやってプログラムしたのか教えて。

 

こんな感じ!

あーなるほどなるほど。カメラも右スティックで動かせる感じにしたんだね。でもこれだと・・・
そう。ヒトにカメラが付いてこないんだよ~
まぁ、一度見てみましょうよ

これだと固定されたカメラを動かしてるって感じで、3Dマリオじゃないよなぁ。ヒトノードンとカメラノードンを“れんけつ”してみなよ。そうすればうまくいくんじゃない?
それは僕もやってみたよ。でもね、上手くいかないんです!

 

ヒトノードンとカメラノードンを“れんけつ”するだけでは、FPSみたいになっちゃう

ほんとに??ヒトノードンとカメラノードンを“れんけつ”したの見てみようよ。

ヒトノードンの動きに、カメラが付いてくるようにはなったけど…なんかイメージとは違うね。一人称ゲームのFPSみたいだな。
ほらね!ちなみにこのカメラの設定はこうだよ。

あー、「ずらすキョリ」をいじってないから上手くいかないんだ!
どうやっていじるの??それが分からない(笑)
まず3DゲームのX・Y・Z軸はわかる??
・・・わかんない
X・Y・Z軸が分かってると、3Dゲームでどこに何を置くだとか、AとBの間の位置関係を考える時に、とても役立つから、この機会に理解しておこうよ。

解説:はじプロの3Dゲーム作りにおける軸について

はじプロの3Dゲームでは、画面の左右がX軸上=高さがY軸奥がZ軸になります。

画面の右がXプラス、画面の左がXマイナス

画面の上=高くなる方向がYプラス、画面の下=低くなる方向がYマイナス

画面の奥がZプラス、画面の手前がZマイナス

になります。

カメラとしては、少し高いところから、ヒトノードンより少し手前から見る形がよいと思う。それじゃあカメラノードンはどっち方向にずらすといいかな?
うーん、Yはプラスで、Zはマイナスってことかな?
そうそう!分かりやすいように、Yは+3.00、Zは-6.00で設定してみよう

こういう感じね!

 

カメラノードンを使って3Dマリオ風のカメラワークの完成へ!

これで一応、3Dマリオっぽいカメラの設定が出来たんじゃない?
わーい!これでステージづくりに進めるぞ~!

カメラノードンだけでは満足できないあなたに

パパ!実はさ、3Dマリオみたいな感じはいいんだけど、、本当は2人プレイできる3Dゲームを作りたいんだよ~
お~、そりゃ本格的だね。でも・・・カメラワークはどうするの??
イメージ的には、2人が離れたらカメラが離れて、2人が寄って来たらカメラも寄ってくるみたいな!?

 

う・・・・そ、それは高度だね・・・
・・・できる?

 

まぁ、何とかなると思うけど…。カメラノードンよりもカメラくわしくを使った方が良いかもね。かなり難しいけど。。
わーい!じゃあまた教えてね~

 

まとめ

最後に、思考の過程を整理してみようと思います。

・3Dマリオのようなカメラワークを作ろうとした

・カメラノードンをヒトノードンに連結することで達成しようとしたが、カメラを上手くずらす必要が生じた

・3Dゲームにおける軸の概念を理解して、カメラをずらすことに成功した

というようなことを考えながら、試行錯誤してカメラノードンを用いて3Dマリオ風のカメラワークを作ることが出来ました。

 

最後に出てきた「2人プレイ3Dゲームのときのカメラワーク」については、カメラくわしくを駆使してそれなりに複雑なプログラミングをする必要があります。今後、解説していく予定です。

 

はじプロは、子どもと楽しみながらゲームを作ることができるだけではなく、ゲーム作りを通じて論理的な考え方・問題解決能力を育てることができそうですね!

以上となります。

-はじめてゲームプログラミング

Copyright© 小児科医の子育て相談室 , 2021 All Rights Reserved Powered by AFFINGER5.