チュートリアル3 キャラコン
移動方向に向かせるには、atan2(x, z)という関数を使えばイイという事は分かっているので、スクリプトしていく。ただ結論として言えるのは、向くことは向くが、いきなり向くので見栄えは良くない。もっとスムーズに向きを変えてもらいたいのだが、今のところ…
blenderでの人型3Dモデル作成準備は完了。今回は、実際にモデルを作ってGodotにインポートしよう。アニメーションを付けてないから、これでいいのか不明だが、出来たところまで忘れないうちに記述しておく。後で、全部修正する可能性あり。 今回は、アニメー…
おじさんを移動方向に向かせたいんだが、その方法はYouTudeの動画解説でatan2(x, z)という内蔵関数を使ってやるという事がわかった。なんでか知らないが、これでy軸の回転角度が出るようだ。ゲームを作ろうという人にとっては基本中の基本みたいな感じ? ま…
結局4本RayCast。そろそろカプセルを人型キャラに置き換えたいんだけどな。 人型3DモデルはblenderのアドオンであるManuelbastioniLABを利用させてもらった。ManuelbastioniLABの利用は、「1.使ったよ」ということと「2.HPアドレス」のリンクを載せればokだ…
思いっきり透けてるやないかい! ま、考えてみりゃ、そりゃそーだわな。やっぱり4本RayCastか。
1本より2本! どーせ角度的に床は透けないし、透けるのは壁。だったら、ヘッドの左右からレイを飛ばして2本で判定したらいいんじゃね? ということで2本RayCastしてみる。結論としては、こっちの方が断然キレイ。・・・ただ天井があった場合は、天井が透ける…
現在カメラは単にヘッドの子。だから、プレイヤとカメラの間に障害物が挟まっても容赦なしに、障害物の裏に回って映してしまう。簡単に言うと、カメラは壁や床の裏に回っちゃうって事。 そんな所に行っちゃイヤじゃん。ということで、プレイヤとカメラの間に…
移動に関しては、「キーを押すといきなりトップスピード、離すと瞬時にストップ」という仕様になっている。これを、やや滑らかな加速・減速の仕組みを持ったものに修正する。あと、重力も追加する。で、結論的には一応ソレっぽくは動くんだけど、イマイチあ…
マウスカーソルがゲーム画面から出ると、ヘッドコントロールが出来なくなるので、これをどうにかする。ただ、ゲーム画面からマウスカーソルが出れないと×アイコンでゲームを終了させられなくなるため、併せて終了処理も追加する。あとカメラもくっ付ける。
なんか変な疲れがあんだよなー。・・・で、グローバル方向ではなく、カメラの向いている方向に対して動くようにする。そのためには、"my_dir"に加算する値を"Vector3(1, 0, 0)"のような固定値ではなく、その時その時カメラが向いてる方向の軸(ローカル軸)…
キー入力を受けて移動させる。今回プレイヤには「KinematicBody」を使用しているので、移動用の関数move_and_slideを使えばいいだけ。簡単。とは言っても、キーを押した瞬間に時速300kmのトップスピードで動かれては困るし、キーを押した方向と言うよりはカ…
ヘッドをグルグルさせることが出来たので、ここで物体を回転させるのに意識しておくべき3つの軸、「1.原点の軸」、「2.親の軸」、「3.自分自身の軸」について書いておこうと思う。 ちっこいカメラのマークの所が原点。赤線(横)はx軸、青線(縦)はz軸。2つ…
「横ぐるぐるが」出来たので、今度は縦にうなづけるようにする。じゃ~「縦うんうん」か。で、注意点としては、ノード自身が持っている軸(ローカル軸)で回すのと、回す際、際限なく回すのではなく、±80度などの限度をつけること。この2点に注意してスクリ…
カプセル移動の前に、カメラ制御をする。結論から言えば、キネマティックボディーの子にヘッドを作成、作ったヘッドの子にカメラをちょっと離して固定。スクリプトでヘッドを動かすと、つられてカメラも動く。こんだけ~~! どんだけ簡単なんだっつーの。ま…
なんだかんだで、YouTubeにある"1st Person"のチュートリアルそのまんまで、"3rd Person"もイケそう。なんか、「~やってみた」系になりそうな予感で悪寒・・・。ブログで「やってみた」系とかアホかと思うけど、ま~、ともあれ、適当な名前でプロジェクトを…
クソゲ「玉転がし」が無事完成。次は「サードパーソン.キャラクタ.コントローラ」を予定。ボディーはリジッドではなく、キネマティックで。操作はキーボード&マウス。また、ちょっとずつ作りながら進むので、エアホッケーの時のように途中放棄もありうる系。…