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

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

Godot 音シュー05「キューブ、置く。俺、進む。 1/2」

体ば、重び。そんな中、30分だけ考えて「音シュー」ちょっと進めてみた。とりあえず、リズムに合わせてトンネルの中を進む。最初はキューブの方を自分に向けて飛ばそうと考えてたけど、キューブはトンネルの中に(直線上に)ズラーって置いて、自分(カメラ)がその中を進めばいいじゃんと気が付いた。生成するんじゃなくて、3D空間上に全キューブをただ置くだけ。力技

f:id:ore2wakaru:20180612193446p:plain


1ビートは2メートル

キューブを置くんだが、何メートル間隔に置くのがいいのか分からないので、今回は、適当に 2メートルとする。キューブの大きさは 1辺60cm。これも適当。

だが普通にベタに置いちゃうと、今回使用する曲のBPMは113なので、1分やるだけで113個地道に配置しないとイケナイ。ちょっと1個ズレたら、もう地獄。(ちなみに「なんでしょう? by KK」は5分もあるので、キリのいい所で途中終了させないとちょっと辛い感じだな。。。)

というわけで、1小節毎にコピペ出来るようにしてみた。ほんの少しだが、こっちの方が出来るだろ。

3Dビューで真上から見た感じだと、こう。

f:id:ore2wakaru:20180612181432p:plain

普通に置いてあるだけのようにみえるが、シーンパネルでは、

f:id:ore2wakaru:20180612182928p:plain

こんな感じに1小節毎に「Spatial」ノードでカタマリを作って [Ctrl] + [D] で増やせるようにした。今回の曲は、1小節4ビート。

1ビートは2メートル間隔なんで、1小節目は0mの所からスタートさせ、2小節目は8mの所から、3なら16だ。一般化させるとn小節は、"(n - 1) * 8"mの所に置けばイイ。確認するのも修正するのも、ちょっとなはず。

ビートの部分は、いつもの「スタティックボディ魔法の組み合わせ」で出来ている。

f:id:ore2wakaru:20180612183845p:plain


秒速何メートルで進めばイイ?

ゲームで使うスピードといえば、当然秒速だよね。で、キューブは2m間隔。つまり、ビート間隔が2mの空間を、自分(カメラ)は秒速何メートルで進めば、リズムに合った前進が出来るか?

これすげー悩んだんだけど、のりまき巻き食べてたらなんか気が付いた。実は、めちゃくちゃ簡単だった。算数の範囲。

BPMが113じゃん。これは60秒(1分)で113ビートあるって事。1ビートは2m。つまり、60秒で226m。(226mとは、"BPM * 2" のことな。) これ、60で割れば、秒速になるべ。

結局、秒速"BPM * 2 / 60" = "BPM / 30"で求められるって事だ。出たな。のりまきパワー。

では、スクリプトしてカメラを動かそう。


カメラ側の準備とスクリプト

と思ったが、やっぱり体が重い。明日にする。

一応動いてるんだけど、これで合ってるかどうか。。。