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

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

Godot キャラコン 20 「dae の import とanimation あれこれ」 6/6

本日はスクリプトの回。 歩き出す際のアニメションがブレンドされる。GIF にはしなかったが、もちろん反対に、止まる時もそうなる。

Godot キャラコン 19 「dae の import とanimation あれこれ」 5/6

今回は「AnimationTreePlayer」の使い方を分かった範囲でまとめる。複数のアニメをブレンドするってやつね。で、忘れないように先に書いとこう、今回の第1ポイントは、[Master Player] の [Assign] だ。しないと tree が作れんぞ。第2ポイントは [Base Path]…

Godot キャラコン 18 「dae の import とanimation あれこれ」 4/6

だんだんメンドクサくなってきたが、今回は「AnimationPlayer」ノードを利用したdaeアニメーションを実施する。[ゲーム再生]で、アイドルアニメーションがループ再生され、キーを押している間はウォークアニメーションになる。キーを離すとまたアイドルアニ…

Godot キャラコン 17 「dae の import とanimation あれこれ」 3/6

daeに関して、importとの関係で押さえておくべきことは今のところ「1.シーンとして扱われる 2.変更を加える時には[New Inherited]する」の2点だ。では、animationとの関係で押さえておくべき事は何なのか? 今回はその辺をまとめておきたいと思う。

Godot キャラコン 16 「dae の import とanimation あれこれ」 2/6

前回さくっと、「daeはシーンとしてインポートされる」と言う内容を書いたが、そもそもなぜ「シーン」としてインポートされるのか? 俺の想像だけど、多分あってると思われるので、書いておく。 "そもそも論"ね。

Godot キャラコン 15 「dae の import とanimation あれこれ」 1/6

dae形式の「おばさん(33)」をインポートして、何とかイイ感じに方向転換させる事は出来たが、アニメーションはまだ出来ていない。で、これにアイドル・ウォークアニメーションを実装しようと試行錯誤してみた結果、いくつか分かった事が出て来たんで、まと…

Godot キャラコン 14 「スムーズな方向転換」

「1.Quatで取って来て、2.slerp()で補間して、3.Transform()でセットする。」 この一連の流れが出来るようになったので、早速、キャラコンのスクリプトに入れ込んでいこう。忘れないうちにやっちゃわないと、天才過ぎる俺でもやり方忘れちゃうからな。 (御…

Godot GDScript 17 「Quat と slerp()」 2/2

「Quat()でとってきて、Transform()であてはめる。」 前回やったコレこれさえ覚えておけば、物体Aが持ってる回転を物体Bに反映できる。今回はとってくるQuatをslerp()させる。以下のGIFのように、角の小さい方を通ってミーがターゲットと同じ方向を徐々に向…

Godot GDScript 16 「Quat と slerp()」 1/2

ラジアンでの回転または角度の決め打ちはGDScriptの15でまとめたが、別の回転表現としてGodotには、Quatと言うのがあるらしい。これはQuaternion(発:クォータニオン)という[x, y, z, w]の4つの要素から出来ている~~なんたら~かんたら~、、、分からん!…

Godot キャラコン 13 「キャラを移動方向に向かせる」

移動方向に向かせるには、atan2(x, z)という関数を使えばイイという事は分かっているので、スクリプトしていく。ただ結論として言えるのは、向くことは向くが、いきなり向くので見栄えは良くない。もっとスムーズに向きを変えてもらいたいのだが、今のところ…

Godot キャラコン 12 「blender + Better Collada Exporter + ManuelbastioniLAB」 2/2

blenderでの人型3Dモデル作成準備は完了。今回は、実際にモデルを作ってGodotにインポートしよう。アニメーションを付けてないから、これでいいのか不明だが、出来たところまで忘れないうちに記述しておく。後で、全部修正する可能性あり。 今回は、アニメー…

Godot キャラコン 11 「blender + Better Collada Exporter + ManuelbastioniLAB」 1/2

おじさんを移動方向に向かせたいんだが、その方法はYouTudeの動画解説でatan2(x, z)という内蔵関数を使ってやるという事がわかった。なんでか知らないが、これでy軸の回転角度が出るようだ。ゲームを作ろうという人にとっては基本中の基本みたいな感じ? ま…

Godot キャラコン 10 「障害物とカメラ めんどくさいけど4本RayCast」

結局4本RayCast。そろそろカプセルを人型キャラに置き換えたいんだけどな。 人型3DモデルはblenderのアドオンであるManuelbastioniLABを利用させてもらった。ManuelbastioniLABの利用は、「1.使ったよ」ということと「2.HPアドレス」のリンクを載せればokだ…

Godot キャラコン 09.1 「どーせ床は透けないしとか言っておきながら・・・」

思いっきり透けてるやないかい! ま、考えてみりゃ、そりゃそーだわな。やっぱり4本RayCastか。

Godot キャラコン 09 「障害物とカメラ 簡単2本RayCast」

1本より2本! どーせ角度的に床は透けないし、透けるのは壁。だったら、ヘッドの左右からレイを飛ばして2本で判定したらいいんじゃね? ということで2本RayCastしてみる。結論としては、こっちの方が断然キレイ。・・・ただ天井があった場合は、天井が透ける…

Godot キャラコン 08 「障害物とカメラ 簡単1本RayCast」

現在カメラは単にヘッドの子。だから、プレイヤとカメラの間に障害物が挟まっても容赦なしに、障害物の裏に回って映してしまう。簡単に言うと、カメラは壁や床の裏に回っちゃうって事。 そんな所に行っちゃイヤじゃん。ということで、プレイヤとカメラの間に…

Godot キャラコン 07 「加速・減速 と 重力」...根本的に間違ってるかも

移動に関しては、「キーを押すといきなりトップスピード、離すと瞬時にストップ」という仕様になっている。これを、やや滑らかな加速・減速の仕組みを持ったものに修正する。あと、重力も追加する。で、結論的には一応ソレっぽくは動くんだけど、イマイチあ…

Godot キャラコン 06 「マウスカーソルがゲーム画面から出ないように」

マウスカーソルがゲーム画面から出ると、ヘッドコントロールが出来なくなるので、これをどうにかする。ただ、ゲーム画面からマウスカーソルが出れないと窓の[×]ボタンでゲームを終了させられなくなるため、併せて終了処理も追加する。あとカメラもくっ付ける…

Godot キャラコン 05 「カメラの向いている方向に対して移動」

なんか変な疲れがあんだよなー。・・・で、グローバル方向ではなく、カメラの向いている方向に対して動くようにする。そのためには、"my_dir"に加算する値を"Vector3(1, 0, 0)"のような固定値ではなく、その時その時カメラが向いてる方向の軸(ローカル軸)…

新生銀行のシステムってやばいの? Godotで作ればいいじゃん。

先日、新生銀行から「【新生銀行:取引通知】ATM出金のお知らせ」というのが来た。だが、俺はこの銀行の口座は持っていない。 詐欺メールかとも思ったが、一応、新生銀行に電話する。ここで、本物の新生銀行からのメールであることが判明。

黄色くないじゃん!

マジで今さっき気付いたんだが、YouTubeで解説してる人の見てると、スクリプトエディタ上のキーワードとか関数の色とかが、俺のと違うんだよ。「えっ! 違う!!」って気付いた時、まー、それはそれはびっくりしたわ、今頃気付いた自分にさ。(おせーよ気付…

Godot キャラコン 04 「グローバル軸方向に移動」

キー入力を受けて移動させる。今回プレイヤには「KinematicBody」を使用しているので、移動用の関数move_and_slideを使えばいいだけ。簡単。とは言っても、キーを押した瞬間に時速300kmのトップスピードで動かれては困るし、キーを押した方向と言うよりはカ…

Godot GDScript 15 「回転 軸 3パターン」

ヘッドをグルグルさせることが出来たので、ここで物体を回転させるのに意識しておくべき3つの軸、「1.原点の軸」、「2.親の軸」、「3.自分自身の軸」について書いておこうと思う。 ちっこいカメラのマークの所が原点。赤線(横)はx軸、青線(縦)はz軸。2つ…

Godot キャラコン 03 「カメラぐるぐる 2/2」...縦

「横ぐるぐるが」出来たので、今度は縦にうなづけるようにする。じゃ~「縦うんうん」か。で、注意点としては、ノード自身が持っている軸(ローカル軸)で回すのと、回す際、際限なく回すのではなく、±80度などの限度をつけること。この2点に注意してスクリ…

Godot キャラコン 02 「カメラぐるぐる 1/2」...横

カプセル移動の前に、カメラ制御をする。結論から言えば、キネマティックボディーの子にヘッドを作成、作ったヘッドの子にカメラをちょっと離して固定。スクリプトでヘッドを動かすと、つられてカメラも動く。こんだけ~~! どんだけ簡単なんだっつーの。ま…

Godot キャラコン 01 「とりあえずカプセル」

なんだかんだで、YouTubeにある"1st Person"のチュートリアルそのまんまで、"3rd Person"もイケそう。なんか、「~やってみた」系になりそうな予感で悪寒・・・。ブログで「やってみた」系とかアホかと思うけど、ま~、ともあれ、適当な名前でプロジェクトを…

Godot キャラコン 00 「3rd Person Character Controller」...KinematicBody

クソゲ「玉転がし」が無事完成。次は「サードパーソン.キャラクタ.コントローラ」を予定。ボディーはリジッドではなく、キネマティックで。操作はキーボード&マウス。また、ちょっとずつ作りながら進むので、エアホッケーの時のように途中放棄もありうる系。…

Godot 玉転がし 15 「最終回 ビルド」

exe形式に書き出すことをビルドって言うのかと思ってけど、Godotの場合は、export(エクスポート)と言うみたいだ。ま、どっちでもいいけど。結果、目的のフォルダに、ダブルクリックでゲームが起動するファイルが出てくれればいい。

Godot 玉転がし 14 「グローバル変数でカウントして、WINするぞ」

玉転がしの12の最後で「次回最終回」とか言っておきながら、全然最終回ではないという・・・。最終回詐欺だな。ま、それはそれとして、前回グローバル変数を設定したので、今回は実際にスクリプトの中で使っていく。グローバル変数の足し算が上手く出来れば…

Godot 玉転がし 13 「グローバル変数でカウントしたいよね」... AutoLoad

コレクタブルを12個全部取ったら「WIN」と表示させる。そのためには、取った個数をカウントする変数を用意する必要がある。今回はこれをグローバル変数なるもので管理してみようと思う。理由は、なんでも、こっちの方がちょっとだけ短く記述できるからってい…