![見出し画像](https://assets.st-note.com/production/uploads/images/121401276/rectangle_large_type_2_fab937bbd8ec80f1480ccbcc79a2170b.png?width=1200)
Godotの3Dチュートリアルの2週目をやった時の記録
概要
Godotの3Dチュートリアルを2週目やった時の記録です。
ゲームエリアの設定 — Godot Engine (4.x)の日本語のドキュメント
1周目は書いてある通り操作してみました。2週目なので"強くてニューゲーム"気分でキャラクターの置き換えとか独自要素に挑戦しています。変更したところだけ書いています。書いてないところはチュートリアルに従いました。
間違えているところやアドバイスがあればコメントをお願いします。
ゲームエリアの設定
ゲームエリアの設定 — Godot Engine (4.x)の日本語のドキュメント
書いてある通りに従ったのですが、地面が白かったので画像ファイルをドラッグするとMaterialが付きました。
![](https://assets.st-note.com/img/1699083403841-vkvrBaqyTW.png?width=1200)
3Dで画面を狙ったところに移動するにはShift+マウスミドルボタンをドラッグです。(Unityだと単にマウスミドルボタンのドラッグ相当)
MeshInstance3Dを選んでインスペクタからGeometryInstance3DのUV1のスケールをいじるとテクスチャがリピートされて細かくなりました。
![](https://assets.st-note.com/img/1699360176116-8raOSxbdlC.png)
プレイヤーシーンと入力アクション
プレイヤーシーンと入力アクション — Godot Engine (4.x)の日本語のドキュメント
チュートリアルで用意されているglbファイルの代わりにfbxファイルを使おうとすると警告が出たのでBlenderでglbファイルに変化しました。
Godotではライセンスの都合でglbが推奨な模様。
また、チュートリアルではglbファイルをドラッグして登録しているが、メニューの シーン->新しい継承シーン でtscnファイルを作ってから登録しないとAnimationの編集ができませんでした。(ヒエラルキーみたいなののNodeが黄色くなって編集できなかった)
プログラムでプレイヤーを動かす
プログラムでプレイヤーを動かす — Godot Engine (4.x)の日本語のドキュメント
プログラムからPlayerを動かそうとすると後ろ向きに動いたのでglb継承してできたtscnのNodeを180度に向けました。
![](https://assets.st-note.com/img/1699155364051-je3xS1LOh6.png?width=1200)
モブシーンをデザイン
モブシーンをデザイン — Godot Engine (4.x)の日本語のドキュメント
Monstorのglbをシーン->新しい継承シーンで作ったらサイズが大きかったのでScaleを変更しました。
![](https://assets.st-note.com/img/1699175655674-IyvJiBiWcJ.png?width=1200)
Spawn monstors
Spawning monsters — Godot Engine (4.x)の日本語のドキュメント
チュートリアルに従った。
Jumping and squashing monsters
Jumping and squashing monsters — Godot Engine (4.x)の日本語のドキュメント
後で
Killing the player
Killing the player — Godot Engine (4.x)の日本語のドキュメント
後で
Score and replay
Killing the player — Godot Engine (4.x)の日本語のドキュメント
後で
Charcter Animation
Character animation — Godot Engine (4.x)の日本語のドキュメント
独自のアニメーションを作ろうとすると"AnimationPlayer:….contains unnormalied Quaternion key."のような表示が出ました。
ググると押すと良いボタンが書いてあったのでそれに従いました。
AnimationPlayer 3D Transfrom Track Rotation ask for normalized tranform for rotation · Issue #738 · godotengine/godot-proposals · GitHub
![](https://assets.st-note.com/img/1699177895643-OwGKb3n80X.png?width=1200)
アニメーションの切り替えはAnimationPlayerを指定してplay()で再生するアニメーションを指定しました。
@onready var animation = $shapellFuku5/AnimationPlayer
func _physics_process(delta):
animation.play("Run")
シェイプキーをいじる場合下側でアニメーションウインドウをピン止めしてBlend Shapesが有るノードを探しました。そして鍵ボタンでトラックに追加しました。
![](https://assets.st-note.com/img/1731932262-PoaigjNrCw3lOAFmQHYpW96T.png?width=1200)