- 1 名前:名前は開発中のものです。 [2021/04/30(金) 13:03:47.04 ID:cptRhreJ.net]
- https://godotengine.org/
https://www.reddit.com/r/godot/ godotでクソゲー作ろうぜ!!
- 953 名前:名前は開発中のものです。 [2024/02/14(水) 19:23:25.99 ID:NM7yugQr.net]
- すごく初歩的な質問だと思うんですが、シグナルがこれで発火しないのはなぜでしょうか?
以下のコードをrigidbody2dにつけていて、staticbodyに衝突したときに発火するようにしてます チュート見てるとコードからシグナルを使っているパターンがあるので、勉強中です func _ready(): self.connect("body_enterd",_on_body_entered) func _on_body_entered(body: Node) -> void: print("hit")
- 954 名前:名前は開発中のものです。 mailto:sage [2024/02/14(水) 19:46:45.22 ID:vNLstP6c.net]
- godot4だと
シグナル自身がconnectする形じゃないっけ? hoge_signal.connect(hoge_method)
- 955 名前:名前は開発中のものです。 mailto:sage [2024/02/14(水) 21:22:02.42 ID:unr7G+lU.net]
- >>938
->Area2Dの衝突を即座に検知する方法ってないですか? 無い、Area2Dは物理サーバーだかの更新時に一斉に判定されるからワープ直後にいきなり判定とかは無理 Area2Dを毎フレーム動かしてるなら_physics_processを使った方がいい 状況がよくわからないがどうしても気になるなら最大FPSとか物理ティックをいじるしかないんじゃない
- 956 名前:名前は開発中のものです。 mailto:sage [2024/02/14(水) 23:25:34.65 ID:ghvh5+Kq.net]
- >>941
一応ステートマシンは使ってるけどステート遷移条件としてのarea_enteredシグナルが発信されるまでのラグに困ってる感じです >>944 やっぱキツいですかね…… 基本的に_physics_processで動かすようにしてるのでそこは間違えてないハズ……AnimationPlayerとかもPhysicsモードにしてるし ティック弄るのは試してなかったから調べてみます
- 957 名前:名前は開発中のものです。 mailto:sage [2024/02/14(水) 23:40:24.44 ID:bOM0D0dU.net]
- 見た目上攻撃受けてるけどダメージモーションは次のフレームからって状況は商業ゲームとかでもわりと普通の挙動な気がする
- 958 名前:名前は開発中のものです。 mailto:sage [2024/02/15(木) 00:08:37.04 ID:U+ib019H.net]
- 気にしてるのは制作者だけってパターンもあったりするし
実際どういう挙動なのか見ないと何とも言えないけど 食らい判定をもう1つ追加して実際のダメージ判定より前に置いて、 攻撃がボディに当たる手前でモーションだけ変化させてタイムラグごまかすとかどう?
- 959 名前:名前は開発中のものです。 [2024/02/15(木) 06:09:52.29 ID:I2lSz8t6.net]
- >>943
シグナル自体がコネクトというのはどういうことですか リファレンスあれば教えて下さい
- 960 名前:名前は開発中のものです。 mailto:sage [2024/02/15(木) 09:02:19.52 ID:C6Jtia7P.net]
- そうなるともう公式をよく読んでとしか
- 961 名前:名前は開発中のものです。 mailto:sage [2024/02/15(木) 09:29:38.23 ID:4oQt/aCU.net]
- エスパーの時間だ!コラァ!!
>>942で発火しないのは>>937じゃなくて? >>948は>>942のconnectの書き方が古くてgodot4では>>943の書式ではとの指摘 リファレンスはGodotEngine起動してF1キー押して検索キーワードにconnectと打ち込めば候補がでるから ObjectのconnectとSignalのconnectを読むと良い
- 962 名前:名前は開発中のものです。 [2024/02/15(木) 11:40:24.02 ID:I2lSz8t6.net]
- >>950
どうも contactmonitorの設定は大丈夫なので、コードの書き方だと思うんですよね ヘルプでコネクトしらべました connect(signal: StringName, callable: Callable, flags: int = 0) リファレンスにはないし、どっち見ればいいのかわからないですね 第一引数は名前で、第二は_on_body_enteredというシグナル名、第三はよくわからないので書いていません
- 963 名前:名前は開発中のものです。 [2024/02/15(木) 11:48:30.03 ID:I2lSz8t6.net]
- ごめんなさい
単純に関数の引数と型とか書いてないのが悪かったみたい これないだけで動かなくなるんだ func _ready(): connect("body_entered",_on_body_entered) func _on_body_entered(body:Node)->void: print("hit")
- 964 名前:名前は開発中のものです。 mailto:sage [2024/02/15(木) 12:10:06.93 ID:4oQt/aCU.net]
- connectはgodot4を使っているならSignalの方が良いObjectの方は互換性維持の為に残っているのだと思う
文字リテラルが無いのでより安全なコードとなる https://docs.godotengine.org/ja/4.x/getting_started/step_by_step/signals.html
- 965 名前:名前は開発中のものです。 [2024/02/15(木) 12:29:22.48 ID:I2lSz8t6.net]
- >>953
コード内からシグナル呼び出す方法がconnectで、エディタだけでやる場合はシグナルってことじゃないのですか?
- 966 名前:名前は開発中のものです。 mailto:sage [2024/02/15(木) 13:02:15.82 ID:4oQt/aCU.net]
- 新しい方が使い勝手が良いだけだから目的通りに動いていて問題ないならそれで良いよ
Objectクラスのconnectメソッドは3.xで使われている古い形式 https://docs.godotengine.org/ja/3.x/getting_started/step_by_step/signals.html#connecting-a-signal-via-code Signalクラスのconnectメソッドは4.xからの新しい形式 https://docs.godotengine.org/ja/4.x/getting_started/step_by_step/signals.html#connecting-a-signal-via-code
- 967 名前:名前は開発中のものです。 [2024/02/15(木) 14:24:30.75 ID:I2lSz8t6.net]
- ありがとう
動けばいいね 完成目指す
- 968 名前:名前は開発中のものです。 mailto:sage [2024/02/15(木) 17:37:51.88 ID:sVKQXRzU.net]
- >>938
検証してみたが仕様っぽい _physics_processが呼ばれるすぐ前に判定が行われるのでどうやっても1フレームのディレイが発生する RaycastとかShapeCast、DirectSpaceStateとかは影響受けないからそれかな パフォーマンスは知らん https://forum.godotengine.org/t/why-are-area2d-collisions-triggered-1-frame-late/37354
- 969 名前:名前は開発中のものです。 mailto:sage [2024/02/17(土) 01:31:22.33 ID:y5Fxv8CK.net]
- godotスレも伸びたもんだ
次スレのテンプレも考え良い頃では?
- 970 名前:名前は開発中のものです。 [2024/02/17(土) 06:08:28.85 ID:lpQfy7dC.net]
- 【軽量】godot engine【無料】 part2
* ダウンロード https://godotengine.org/ * フォーラム https://www.reddit.com/r/godot/ https://forum.godotengine.org/ * リファレンス https://docs.godotengine.org/en/stable/index.html * こんなのが作れるよ https://www.youtube.com/watch?v=UAS_pUTFA7o https://www.youtube.com/watch?v=ao34A0Y2x6c ----------- ↑これでいいか? ★次スレは950がたててください
- 971 名前:名前は開発中のものです。 mailto:sage [2024/02/17(土) 07:27:52.08 ID:79tXZS3b.net]
- 【軽量】godot engine【無料】 part3
--テンプレートここから-- Godotエンジンは機能豊富な、クロスプラットフォームのゲームエンジンであり、2D・3Dゲームを単一のインターフェイスで製作することができます。 基本的なツールは一通り用意され、ユーザーはプログラムの再発明をすることなくゲーム製作に集中できます。 製作したゲームは主要なデスクトップ環境(Linux, MacOS, Windows)や、モバイル(Android, iOS)、Webベース(HTML5)環境にワンクリックで書き出せます。 GodotはMITライセンスの下、完全に自由でオープンソースです。 利用に関して特に制限はありませんし、利用料を請求することもありません。 エンジンのコードの最後の一行まで、ゲームは製作したユーザーのものです。 Godotは自主的なコミュニティによって開発されており、エンジンを期待にかなうものにするため、ユーザーの方々も自由に参加できます。 Godotは非営利団体Software Freedom Conservancyによって支援されております。 ■公式サイト https://godotengine.org/ ■コミュニティ https://godotengine.org/community/ ■ドキュメント https://docs.godotengine.org/ja/4.x/ ■こんなのが作れるよ https://www.youtube.com/watch?v=W1_zKxYEP6Q https://www.youtube.com/watch?v=UAS_pUTFA7o https://www.youtube.com/watch?v=ao34A0Y2x6c ■前スレ 【軽量】godot engine - part2 https://mevius.5ch.net/test/read.cgi/gamedev/1619755427/ ★次スレは>>951がたててください --テンプレートここまで-- 少し直してみた、前スレ無くても良いかと思ったが見る事もあるのかなと
- 972 名前:名前は開発中のものです。 [2024/02/17(土) 09:52:17.39 ID:lpQfy7dC.net]
- このスレって2だったのか
3たてた https://mevius.5ch.net/test/read.cgi/gamedev/1708131114/l50
- 973 名前:名前は開発中のものです。 [2024/02/17(土) 10:41:37.67 ID:lpQfy7dC.net]
- https://tech.pjin.jp/blog/developer/godot_basic11
godotはグローバル変数がないのね(*´ω`*)、、、 キャラクターから玉を発射するとき、その弾の発射位置を決めないといけない キャラクターの位置から発射されるとして、キャラクターの位置情報を玉シーンに渡したい場合はグローバル変数でいいのかな?
- 974 名前:名前は開発中のものです。 mailto:sage [2024/02/17(土) 11:11:54.26 ID:RX1RYYC1.net]
- 目的が達成できるなら厳密な定義のグローバル変数があるとかないとかは重要には思えない
キャラクターが弾を発射した際に弾シーンをインスタンス化して使用しているなら グローバルを介さずともインスタンスの設定処理を呼ぶなりプロパティを直接変更するなりできるのでは?
- 975 名前:名前は開発中のものです。 [2024/02/17(土) 12:41:35.62 ID:lpQfy7dC.net]
- ありがとう
単純にpositionを指定すればいいだけでした ありがとう 常に共有する必要ないならグローバルにすることもないすね
- 976 名前:名前は開発中のものです。 [2024/02/17(土) 14:32:38.06 ID:lpQfy7dC.net]
- ゲームはヘタに長編とか企画しないほうがいいかな?
完成すらままならないし game a week
- 977 名前:名前は開発中のものです。 mailto:sage [2024/02/17(土) 14:58:27.01 ID:g0jnqHff.net]
- これの通りにやってみてるんだけど13:30辺りのbuildまでやるとGodotClassとNode2DVirtualが見つからなくてエラーになるんですがどなたか分かる方いますか?
https://www.youtube.com/watch?v=z14cfTc40uQ
- 978 名前:名前は開発中のものです。 mailto:sage [2024/02/17(土) 15:16:52.03 ID:RX1RYYC1.net]
- 全部に目通せなくて適当なんだけどLaunch.jsonの中のパスは自分の環境に合わせた?
- 979 名前:名前は開発中のものです。 mailto:sage [2024/02/17(土) 16:15:14.30 ID:g0jnqHff.net]
- 動画コメントにNode2DVirtualが最新ではINode2Dに変わったってあってそこの次には勧めたけど
今度はBase<Node2D>にget_position()がないって言われた
- 980 名前:名前は開発中のものです。 [2024/02/17(土) 20:02:49.87 ID:ALvQDFgf.net]
- >>968
self.base().get_position() #501 で変更されたようです
- 981 名前:名前は開発中のものです。 [2024/02/17(土) 20:29:20.16 ID:lpQfy7dC.net]
- 質問させてください
1,2,3,4,5という球体があって、その球体を箱の中にバラマキ、衝突した者同士を合体させたいです 1と2が衝突したら、3に加算されて合体する感じです こういうスクリプトは1つのコードで作れるのでしょうか? ボールの基礎となるballBaseというシーンを作り、そのシーンを継承したシーン1、2,3,4,5を作っています
- 982 名前:名前は開発中のものです。 mailto:sage [2024/02/17(土) 20:50:12.29 ID:CqLT5YDg.net]
- >>970
まずはこういうの見てみたら?
- 983 名前:名前は開発中のものです。 mailto:sage [2024/02/17(土) 20:50:33.37 ID:CqLT5YDg.net]
- ごめん貼り忘れた
https://2dgames.jp/godot4-suikagame/
- 984 名前:名前は開発中のものです。 mailto:sage [2024/02/17(土) 20:53:30.78 ID:8+3skhOA.net]
- 単純な加算なら
・各ID(1~5)を保持する変数 ・接触時のID加算メソッド ・生成用シーンのパスまたはExport をベーススクリプトに置いて 継承側でID指定しておけばいけるんじゃないかな ソラで考えたから適当やけど
- 985 名前:名前は開発中のものです。 [2024/02/18(日) 10:54:40.58 ID:pPH7PCwn.net]
- ありがとう
設計考えるのは難しい 創作部分に力を使えない
- 986 名前:名前は開発中のものです。 [2024/02/18(日) 11:18:36.23 ID:pPH7PCwn.net]
- 1つのノードに対してスクリプト1つだけのようですが、スクリプトを増やしたいのならノードを増やすのですかね
1つのスクリプトがゴチャつくと嫌なので
- 987 名前:名前は開発中のものです。 mailto:sage [2024/02/18(日) 11:35:13.00 ID:Z7eZwvfU.net]
- >>961
乙
- 988 名前:名前は開発中のものです。 mailto:sage [2024/02/18(日) 11:37:09.96 ID:Z7eZwvfU.net]
- >>960
gj
- 989 名前:名前は開発中のものです。 mailto:sage [2024/02/19(月) 01:11:53.28 ID:DtZmL+d4.net]
- >>938の者ですがShapeCast2DによるArea2Dの検出を使うことで解決しました
大量の衝突を扱うにはパフォーマンス的に向いてなさそうではあるが自分の用途的には問題なさそう 色々アドバイスくれた人に感謝 備忘録的に自分が引っかかった部分を書いておくと Area2Dの移動後にArea2D.force_update_transform()で物理サーバー上の位置を更新しておかないと ShapeCast2D.force_shapecast_update()の検出が思ったようにいかないので注意
- 990 名前:名前は開発中のものです。 mailto:sage [2024/02/19(月) 19:53:43.75 ID:fNr8o5z2.net]
- シグナルってゴドット独自の機能ですか?ユニティには同様の機能は無いですか?
- 991 名前:名前は開発中のものです。 mailto:sage [2024/02/19(月) 20:54:49.14 ID:2Y8JlU8D.net]
- ないよ
- 992 名前:名前は開発中のものです。 [2024/02/19(月) 21:37:25.61 ID:ySU3/gww.net]
- onClickみたいなやつがシグナルじゃないの?
- 993 名前:名前は開発中のものです。 mailto:sage [2024/02/19(月) 23:28:37.50 ID:P79bWfFH.net]
- ユニティーで言うところのonClickみたいなかんじでしょうか
まだ使ったこともないのでよくわからないのですが シグナルって自由に名前定義できてどのスクリプトからも受信できるっていう認識であってますか? 例えばプレイヤーが敵に衝突して死んだ場合 プレイヤースクリプトからplayer_deadっていうシグナルを発信 メインスクリプトでplayer_dead受信したらゲームオーバー処理 みたいなことができるのでは?というイメージなのですが
- 994 名前:名前は開発中のものです。 [2024/02/20(火) 05:10:11.44 ID:TYJz4VqA.net]
- そんな感じです
名前定義は出来ない認識ですが、よくわからない
- 995 名前:名前は開発中のものです。 mailto:sage [2024/02/20(火) 10:52:14.20 ID:kdaN1CVT.net]
- 独自シグナル実装できるだろ
https://docs.godotengine.org/ja/4.x/tutorials/scripting/gdscript/gdscript_basics.html#signals
- 996 名前:名前は開発中のものです。 mailto:sage [2024/02/20(火) 12:32:18.39 ID:ajfww+mh.net]
- シグナルをイベント発火時に外部ルーチンを呼び出す処理と見なすなら
Unityで同等の事を行うにはこの記事が参考になる https://ekulabo.com/send-messages-sample シグナルの良い点は発火側が受信側の存在を意識する必要がない事 受信側が必要に応じて接続する 必要がなければ接続しなくても問題がない シグナルの別な良い点はawaitに対応している事 シグナル発火までawaitで待つ事ができる
- 997 名前:名前は開発中のものです。 mailto:sage [2024/02/20(火) 16:11:46.57 ID:953VQrex.net]
- >>983
やはりそうですか >>984 ドキュメント長すぎて心折れそうになりましたが下のほうにシグナル説明ありますね シグナルって引数も発信できるのですね すごい >>985 UNITYでも同じような処理できるのですね URL参考に勉強してみます シグナルって引数も送れて必要がなければ別に接続してもしなくてもOK これってすごい便利ですね シグナルすこしわかってきたような感じがします みなさま回答ありがとうございます
- 998 名前:名前は開発中のものです。 [2024/02/20(火) 18:33:04.94 ID:TYJz4VqA.net]
- こんにちわ
カーソルの位置をキャラクターをゆつくり移動させるために、move_toward関数使ってみたんですが、以下の減算するだけのコードでもいけました。 extends CharacterBody2D var SPEED = 300 var cursor_position var player_position func _ready() -> void: pass func _process(delta: float) -> void: cursor_position = get_global_mouse_position() player_position = self.position player_position = (cursor_position - player_position).normalized() move_and_collide(player_position * SPEED * delta) 単純にこれでいけたのですが、move_towardというのは見当違いの機能だったでしょうか?
- 999 名前:名前は開発中のものです。 mailto:sage [2024/02/20(火) 19:35:11.58 ID:GCCmBP+O.net]
- move_towardは(target_position - org_position).normalized()*deltaをまとめてやる関数っぽい
- 1000 名前:名前は開発中のものです。 mailto:sage [2024/02/20(火) 21:15:18.04 ID:ajfww+mh.net]
- >>987のコードではcursor_positionに到達した後に微動作し続ける
move_towardを使えばtoの位置で止まるので静動させるならmove_towardを使う
- 1001 名前:名前は開発中のものです。 mailto:sage [2024/02/20(火) 22:18:20.67 ID:OUfUeN9r.net]
- GodotってAPKの中身丸見えでスクリプト構造も丸見えで
オープンソースだから対策もさほどできなくて、ずっーと丸見えなんですって? やだぁ〜エッチ〜w
- 1002 名前:名前は開発中のものです。 mailto:sage [2024/02/20(火) 22:54:28.74 ID:ajfww+mh.net]
- 自己満開発だから気にした事なかったが調べた分には暗号化の機能はあるようだぞ
https://docs.godotengine.org/en/3.5/development/compiling/compiling_with_script_encryption_key.html プロプライエタリなUnreal EngineやUnityであってもガンガンMODが作られている時点で気休めにしかならないとは思うが
- 1003 名前:名前は開発中のものです。 [2024/02/21(水) 06:39:44.21 ID:pdI9ZoxT.net]
- >>988
>>989 ありがとう パフォーマンス気にしないならこのままでいいみたいですね
- 1004 名前:名前は開発中のものです。 mailto:sage [2024/02/21(水) 07:24:04.79 ID:Rl2rZt0e.net]
- >>989
move_towardは通り過ぎちゃうのを切り捨てる処理も入るって事か
- 1005 名前:名前は開発中のものです。 mailto:sage [2024/02/21(水) 09:26:02.86 ID:YmXsU+lh.net]
- >>991
やだぁ〜これって独自の Godot エンジンをコンパイルすることが前提条件らしいじゃないですか〜マイッチング 将来もっと簡単になればいいのにぃ〜、こうなったらもう丸見えでいくわ、うっふーん https://godot.community/topic/35/protecting-your-godot-project-from-decompilation
- 1006 名前:名前は開発中のものです。 [2024/02/21(水) 10:06:40.02 ID:pdI9ZoxT.net]
- 平凡なしくみを面白く仕上げるのがクリエイティビティなんだろうか
ただのバウンドするボールを面白く仕上げるとかね
- 1007 名前:名前は開発中のものです。 [2024/02/21(水) 10:49:01.60 ID:pdI9ZoxT.net]
- インデントについて、4でもタブとスペースの混在は駄目なんですかね。
- 1008 名前:名前は開発中のものです。 [2024/02/21(水) 19:10:13.19 ID:pdI9ZoxT.net]
- >>987
このコード投稿したものなんですが、これはマウスカーソル位置にキャラクターを徐々に動かすもんです 途中にウンコが落ちていたとして、それを迂回するように回避する方法ってあるでしょうか? https://www.youtube.com/watch?v=fS0IhyZrzts この動画だとパス使ってるみたいですが、コードでできればいいです ウンコに大きめのコリジョンをつけるか、ウンコの領域に入ったら、キャラクターのコリジョンを広げる方法を今ためしてみます
- 1009 名前:名前は開発中のものです。 mailto:sage [2024/02/22(木) 13:17:37.77 ID:99VHeX8k.net]
- テンプレで次スレ立てを深く考えず安易に950で指定してしまったが
現状や他スレを見るに980辺りで良かったと思う 次スレが立つのはずっと未来の話だが立てるタイミングの調整とテンプレ修正が必要 >>997 単純な回避でも左右どちらに避けるギリギリで避ける早めに避けるだの考慮する点は多い Navigation2Dは複雑な地形であってもルート算出してくれるのだから使えるならその方が楽だろう >>996 インデントの問題は議論はしている様だが現状のまま オプションで選べても良いとも思うが綺麗に書く心がけをしていれば問題ない スペースを可視化するオプションがあるので有効にすれば打ち間違いは目視できる >>995 跳ね返るボールを打ち合うPONG 跳ねるボールを壊すキャノンボール 転がるボールを運ぶマーブルマッドネス ボール一つ取ってもみても歴史があり様々なアイデアがある アイデアを具現化するのがクリエイティビティなんだと思う 面白い面白くないはアイデアの評価でありクリエイティビティとは関係ない
- 1010 名前:名前は開発中のものです。 [2024/02/22(木) 18:12:59.14 ID:AyYlDxOL.net]
- >>997
ありがとう 何が何でもプログラムで動きを作る必要はないのだろうけど、この辺一度やってみたいから、シューティングでもやろうかな ゲームは既存のアイディアを改変死たほうがいいと思う 0から作ろうとすると面白くもなんともない物体が出来る 身の程を知るというか
- 1011 名前:名前は開発中のものです。 [2024/02/22(木) 19:50:17.46 ID:AyYlDxOL.net]
- う目
- 1012 名前:名前は開発中のものです。 [2024/02/22(木) 19:50:22.89 ID:AyYlDxOL.net]
- 梅
- 1013 名前:1001 [Over 1000 Thread.net]
- このスレッドは1000を超えました。
新しいスレッドを立ててください。 life time: 1028日 6時間 46分 36秒
- 1014 名前:過去ログ ★ [[過去ログ]]
- ■ このスレッドは過去ログ倉庫に格納されています
|

|