マガジン

  • Godot製アクション2Dゲーム制作備忘録

    2D対戦アクションゲームを作りつつ、Godotでの気づきやつまづきを備忘録として残していきます。

最近の記事

Godotでテストプレイしたらスンッ…て画面が消える現象「load: Resource: 'リソース名' is already being loaded. Cyclic reference?」

export(Resource)を含んでいるシーンが、シーン開始時にリソースを読み込んで、その中に自身が含まれているせいで循環参照になっちゃうみたい。 テストシーンaとシーンbを作って、このスクリプトをアタッチして、aのnext_sceneにbを、bのnext_sceneにaを指定して実行するとスンッて消える。 extends Nodeexport(Resource) var next_scene ロード時に次のリソースがさらにロードされるのが問題みたいなので、パス指定

    • UnityでVRMモデルのボーンに基づいて各部位(手足等)のオブジェクトを取得する。

      コードvar humanDesc = VRM.GetComponent<VRMHumanoidDescription>();var bone = Array.Find(humanDesc.Description.human, b => b.humanBone == HumanBodyBones.RightHand);var rightHand = Array.Find(VRM.GetComponentsInChildren<Transform>(), c => c.name

      • Godot2Dアクション製作備忘メモ-参照先のオブジェクトが本当にnullかチェックする

         銃弾に対してカウンター行動を起こす、というような仕組みを作ろうとしてつまずきました。 問題-nullだけどnullじゃない 今作っているゲームでは銃を撃つことが出来ます。それで弾の処理が必要なのですが、消えた弾に対して処理を行おうとするとまずいので、弾がnullであるかどうかをチェックする必要があるのですが、単純にif文でnullと比較してもうまくいかず。 #仮コードfunc _ready(): var b = $Node2D b.free() if b!=null:

        • Godotのデバッグ付きエクスポートをオフにする(実行時の黒いウィンドウを消す)

           Godotで特に設定をせずにWindowsDesktop用にエクスポートをすると、ゲーム本体と同時にコンソールウィンドウが起動します。  このコンソールウィンドウを消すには、エクスポート時のダイアログにある「デバッグ付きエクスポート」のチェックをオフにします。  とても簡単な設定なのですが、プロジェクト設定やエクスポートの設定に項目があると思っていたせいで微妙に詰まってしまいました。

        Godotでテストプレイしたらスンッ…て画面が消える現象「load: Resource: 'リソース名' is already being loaded. Cyclic reference?」

        • UnityでVRMモデルのボーンに基づいて各部位(手足等)のオブジェクトを取得する。

        • Godot2Dアクション製作備忘メモ-参照先のオブジェクトが本当にnullかチェックする

        • Godotのデバッグ付きエクスポートをオフにする(実行時の黒いウィンドウを消す)

        マガジン

        • Godot製アクション2Dゲーム制作備忘録
          4本

        記事

          Godot2Dアクションゲーム備忘メモ

           Godotで2Dアクションゲームを作ろうとしてるけど、すぐ忘れそうなので備忘録として記事を作成。ついでに誰かの役に立つのではないかという欲。  間違い等あるかもしれませんが怪しいところは指摘して頂けると嬉しいです。 AnimationPlayer Animationと名前は付いているけど、画像だけではなく、あらゆるパラメータをタイムラインで制御する機能ぽい。 使った場所 ・キャラクターのアニメーションのフレーム制御 ・しゃがみに合わせて上半身コライダーを無効化

          Godot2Dアクションゲーム備忘メモ

          GodotのRigidBody2Dを指定の座標に直接移動させる

          問題 RigidBody2Dの自機を指定の座標にワープさせたいが、positionを変更しても移動は一瞬だけで元の位置に戻ってしまう。 原因 物理演算が適応されるオブジェクトに対する処理は_physics_process内で行う必要がある。 解決var warp_position : Vector2var warp_flag = false#ワープメソッドfunc warp(pos : Vector2): warp_position = pos warp_flag = t

          GodotのRigidBody2Dを指定の座標に直接移動させる

          内容をわすれないようにメモ

          ・HingeJoint2Dズレる問題 フックアクション的な事をやろうとして、HingeJoint2Dを連結して動かしたらジョイントの位置がズレた。 Transformを直接操作するとRigidBodyの処理がスキップされるらしい。移動はAddForceだけど、画像の反転のためにlocalScaleを操作していたので、これが原因だったらしい。というわけで、スプライトを子要素として管理する事で解決した。[追記あり] ジョイントを設定したオブジェクトを動かしていると、ジョイント

          内容をわすれないようにメモ