【軽量】godot engine - part2

レス数が950を超えています。1000を超えると書き込みができなくなります。
1名前は開発中のものです。
垢版 |
2021/04/30(金) 13:03:47.04ID:cptRhreJ
https://godotengine.org/
https://www.reddit.com/r/godot/

godotでクソゲー作ろうぜ!!
856名前は開発中のものです。
垢版 |
2024/02/02(金) 17:38:12.48ID:KtCPrk0G
>>848
スクリプトを新規作成したときに、readyとprocessに自動的に型を指定してほしいなと できれば
しかし、gdscriptでも型付けというのはしたほうがいいんでしょうか?
そのほうがトラブルは少なそうですが
857名前は開発中のものです。
垢版 |
2024/02/02(金) 18:18:56.37ID:1cSrS8bV
>>856
>>843
>使うならエディタ設定の型ヒントをオンにしたほうが良さそう
が答えで[エディタ設定][テキストエディタ][自動補完][型ヒントを追加]でわかるかな?

構文チェックはあればあるほどバグが入り込みにくくはなるけど不便になっていくので
個人や組織で必要に合わせて調整するもの
自分の感覚だとuntyped_declarationと型ヒントを追加を有効にするが実用範囲だけど
これだけでもタイプ量と言語知識の要求が増えるのでコーディング難度はあがる
858名前は開発中のものです。
垢版 |
2024/02/02(金) 18:40:18.28ID:KtCPrk0G
>>857
どうも、英語情報調べてるだけじゃ分からん情報でありがたい
このスレも賑わって嬉しい

1週間程度のそんな大きくないプロジェクトなので、untyped declarationなしで、部分的に型付けを使う方式にしたいと思います
混合しないほうがいいのかもですが
859名前は開発中のものです。
垢版 |
2024/02/02(金) 21:32:41.15ID:KtCPrk0G
godoもなんかたまに重いことがあるな
本体とプロジェクトのサイズが小さいだけで、動作の軽快さってのはそんな変わらん?
860名前は開発中のものです。
垢版 |
2024/02/02(金) 22:23:34.27ID:1cSrS8bV
GDScriptは他のコンパイル言語と比べて処理速度は遅い
速度が必要な処理はC#やGDExtensionで多言語に処理を投げる
がしかし個人製作の場合はこれが問題になる事は少ないだろうと思う

プログラムは適当に書いても動くが性能を求めるなら効率の良いコードを書かなければならない
プロファイラーを使うか自前コードで計測して遅い部分を把握する
https://docs.godotengine.org/ja/4.x/tutorials/scripting/debug/the_profiler.html

適当エスパーしとくと
_processの様な頻繁に呼ばれる個所では可能な限りループ処理はしない
リソースは動的に呼び出さない参照は最短で最低限にする
高性能なGPUを持ってなく機能も使う必要がないならレンダリング-レンダラーを下位の物に下げると良いかもしれない
2024/02/02(金) 22:29:30.47ID:zgD08SYH
多分エディタの動作の話だと思う
862名前は開発中のものです。
垢版 |
2024/02/02(金) 22:38:56.98ID:1cSrS8bV
エディタだと大本の環境依存すぎて難しいな不便だけど自動補完を切るとかかな?
863名前は開発中のものです。
垢版 |
2024/02/02(金) 23:26:26.89ID:1cSrS8bV
環境の話題ついでだけどAndroidでもRaspberryPiでも動くから
重くて不便な環境で嫌気差す可能性もあるが
安上りな教育環境として利用できるかもしれないと思いましたまる
864名前は開発中のものです。
垢版 |
2024/02/03(土) 06:30:44.33ID:AdVKjLlX
バージョン4になってから微妙にもたつく様になったと思う
unityとエディタの重さ自体は変わらん感じ
プロジェクトの小ささはいいけどね
865名前は開発中のものです。
垢版 |
2024/02/03(土) 10:56:58.90ID:AdVKjLlX
gptがコードの間違い探してくれるのは助かる
無能だからコードのエラーが解決出来ない
866名前は開発中のものです。
垢版 |
2024/02/03(土) 12:41:18.07ID:nzYZB8x1
エディタはUIを詰めれる感じはするね
Unityからくると余白の大きさにびっくりする

あとアニメ画面が操作メニューと設定同じ位置に表示されてたり(Ver3のがマシ)
日本語表示でFPS隠れてたり
2024/02/03(土) 14:51:55.13ID:xJ6rlQCu
3万円で買った6年前のThinkPadでも余裕で動く
何ならブラウザで30個タブ開いてチュートリアル動画流しながらでもギリ動く
868名前は開発中のものです。
垢版 |
2024/02/03(土) 15:24:11.77ID:AdVKjLlX
しかし、軽くてありがてぇ
シンプルでありがてぇ
unityはメニュー多すぎてパンクする
869名前は開発中のものです。
垢版 |
2024/02/03(土) 18:17:19.42ID:AdVKjLlX
staticobdyって当たり判定にはあまり使わない?
area2dのほうがそれ用のシグナル多いし

すり抜けじゃなくて、衝突はさせたい
870名前は開発中のものです。
垢版 |
2024/02/04(日) 12:38:01.58ID:SE6INxAw
self自体に型付けってありますか
self.apply_central_force()
こうselfをつけると補完が出ないですので、selfに対して型付けが必要なのかも

>>869
871名前は開発中のものです。
垢版 |
2024/02/04(日) 16:48:41.77ID:SE6INxAw
コリジョンマスクって衝突させるものと、衝突されるものを、双方向に指定しないと挙動がおかしくなるもの?
片方からのみ指定すると挙動がおかしい
ただ、単にすり抜けるなら分かるけど、衝突はするという
ただ、衝突の結果がおかしい
2024/02/05(月) 10:42:11.01ID:SIExHF/s
衝突判定で使うオブジェクトの違いはここら辺読めば良いんじゃない?
https://www.reddit.com/r/godot/comments/9a56vs/area2d_vs_kinematicbody2d_vs_rigidbody2d/
https://code.luasoftware.com/tutorials/godot/godot-area2d-vs-staticbody2d-ve-rigidbody2d-vs-kinematicbody2d

PhysicsBodyが衝突したとき片方はMaskオンで片方はMaskオフの場合
Maskオンは接触の影響を受けMaskオフは影響を受けない(ほぼStaticBodyと同じ)
2024/02/05(月) 11:15:04.43ID:SIExHF/s
selfで補完されるものはconstやstatic指定された静的な物でメンバーが出ないのは理由があるのだろう
ピリオド押せばメンバーは表示される
そうでなければvar _self: = selfと変数宣言して_selfでアクセスすればそれっぽい結果は得られる
874名前は開発中のものです。
垢版 |
2024/02/05(月) 13:14:04.42ID:Xd01vtLL
>>853

そういう人はサンプルコードまで提示しないとダメな教えて君タイプでしょう
875名前は開発中のものです。
垢版 |
2024/02/05(月) 13:14:53.16ID:Xd01vtLL
>>853

そういう人はサンプルコードまで提示しないとダメな教えて君タイプでしょう
876名前は開発中のものです。
垢版 |
2024/02/05(月) 13:18:19.63ID:Xd01vtLL
GDScriptは
ほとんどPython
でも
defではなくfunc
変数も宣言しないと使えない
この辺りはゲームエンジンに必要な
処理速度に合わせている
877名前は開発中のものです。
垢版 |
2024/02/05(月) 13:22:19.50ID:Xd01vtLL
Godot 2.0の頃から
ダウンロードしていたけど
Unity炎上の敵失とはいえ
5ch.netで
Godotを
議論する
時代が来るとは
驚きです。
878名前は開発中のものです。
垢版 |
2024/02/05(月) 14:12:42.41ID:qsxLl75u
>>873
そうしないと出ない理由ってなんでしょうか?
selfって付けなくていいものでしょうか、お決まりとして付けていましたが
879名前は開発中のものです。
垢版 |
2024/02/05(月) 14:27:58.42ID:Xd01vtLL
>>856
型付けした方が
トラブルが少なくなりそうなのと
処理速度の向上が期待できそうだけど
実際のところ
どうなんだろう?
880名前は開発中のものです。
垢版 |
2024/02/05(月) 14:32:09.55ID:qsxLl75u
個人制作レベルで速度を気にしなくてもいいかなと、今のところ考えてます
まず完成目指さないと自分は
2024/02/05(月) 14:39:16.98ID:SIExHF/s
何故お決まりと思ったのかが疑問だがselfを使う必要はまず無い
メンバ変数のsetgetを呼び出すのに使う例と古いconnect関数を使う例くらいしか見かけない
ローカルとメンバでやむなく同名使った時くらいしか必要ないと思うしそんな事はしない方が良い
882名前は開発中のものです。
垢版 |
2024/02/05(月) 14:42:50.90ID:Xd01vtLL
>>880
完成品を作れないのに
いきなり
オープンワールドを作りたい、みたいな
初心者が多いよね
2024/02/05(月) 14:43:39.91ID:SIExHF/s
いろんな説があると思うが自分はとりあえず動くものを完成させる派だな
最初から完璧目指すと計画変更が発生する事に耐えられなくなる
884名前は開発中のものです。
垢版 |
2024/02/05(月) 14:49:50.07ID:Xd01vtLL
>>870
GDScriptのベースの
Pythonのselfを
確認してみるといいよ

ttps://www.sejuku.net/blog/64106
885名前は開発中のものです。
垢版 |
2024/02/05(月) 15:03:53.69ID:Xd01vtLL
>>883
自分も
完璧主義者の
エヴァンゲリオンの、碇ゲンドウは
ゲーム開発に向かないと思います。
碇ゲンドウはゲーム開発で
ストレスを溜めそう
け、計画と違うっ!
886名前は開発中のものです。
垢版 |
2024/02/05(月) 16:07:52.38ID:Xd01vtLL
>>884
selfは
Javaのthisのような
自分自身を参照する感じかな
887名前は開発中のものです。
垢版 |
2024/02/05(月) 16:31:24.84ID:Zfn+o/iC
アプリによって「マスク」の意味が
真逆だったりするのが落とし穴というか
マスク=見えるよ派
マスク=隠れるよ派
888名前は開発中のものです。
垢版 |
2024/02/05(月) 16:39:32.70ID:qsxLl75u
>>884
機能的に意味があるというより、明示的に書いておくといいみたいな話を聞いたことがあります
2024/02/05(月) 17:12:14.42ID:SIExHF/s
Pythonにおいてはクラス変数とインスタンス変数の使い分けで使う
GDScriptは変数宣言が必要なのでPythonの例は完全には適合しない
selfを付けると明示的にメンバ変数と判るくらいのメリット

気になってスタイルガイドを読んでみたがself句の説明はないな
https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_styleguide.html
今まできちんと読んでなかったから自分が守ってない事が沢山あるのに気が付けたのは良かった
2024/02/05(月) 17:14:13.08ID:SIExHF/s
不完全だけど日本語のページ
https://docs.godotengine.org/ja/4.x/tutorials/scripting/gdscript/gdscript_styleguide.html
891名前は開発中のものです。
垢版 |
2024/02/05(月) 17:35:34.23ID:qsxLl75u
godotでテンプレート化って出来ますか?
スタート画面、ゴール画面といった使い回せる部分というのはあると思うんです
エクステンション化するとなるとC言語必要かもしれないし、だいたいそこまでやらずにテンプレ化する方法あるんでしょうか?

>>889
ありがとう
あまり気にしないことにする
2024/02/05(月) 17:45:30.19ID:SIExHF/s
シーンとスクリプト、他に使っているファイルがあるならそれもコピーすれば動くんじゃない?
AssetLibでaddonsにインストールされてるのがそんな感じだから
addonsに置かないで自前テンプレート用フォルダ作った方が管理はし易いと思う
ついでに言っておくと自前スクリプトでも継承できるから理解できるなら効果的に使える
893名前は開発中のものです。
垢版 |
2024/02/05(月) 17:47:21.83ID:qsxLl75u
あー、単純にシーンを使いまわせばいいのか
ありがとう
2024/02/05(月) 20:49:48.86ID:NnXojcWk
「新しい継承シーン」という機能もあるにはあるが、あまり素人にはお勧めできないか
2024/02/05(月) 21:55:26.36ID:Zfn+o/iC
ユニーク化を忘れてドツボに嵌る未来
896名前は開発中のものです。
垢版 |
2024/02/06(火) 05:10:59.93ID:JvE5m64r
ユニーク化?
897名前は開発中のものです。
垢版 |
2024/02/06(火) 06:26:02.94ID:JvE5m64r
area2dみたいに衝突シグナルを発生させたいけど、衝突もほしい場合って何を使うんですかね
staticbodyだと衝突シグナルがない
重力ゼロにしたrigid使ってみます
898名前は開発中のものです。
垢版 |
2024/02/06(火) 09:34:51.74ID:/IuTkcBn
>>897
KinematicBodyダメ?
899名前は開発中のものです。
垢版 |
2024/02/06(火) 10:23:39.64ID:JvE5m64r
ありがとう
調べてみたんですがmouse_entered系しかなかったです
rigidが衝突したときにシグナル出してほしいなと
900名前は開発中のものです。
垢版 |
2024/02/06(火) 11:20:05.65ID:/IuTkcBn
>>899
目的の情報か分からんけど
https://2dgames.jp/godot-kinematicbody-is_on_floor-and-one-way-collision/
901名前は開発中のものです。
垢版 |
2024/02/06(火) 11:42:29.02ID:oRasG0kH
【Godot4.x】RigidBody2Dで衝突の検知をする方法
https://2dgames.jp/godot4-riditbody2d-detect-body_entered/
要点の検索キーワードでヒットするのならこれじゃね?
2024/02/06(火) 12:17:36.10ID:ANH4dfBB
スクリプトのコメントで日本語入力すると、漢字が中国語になってるのが気持ち悪いんですけど
エディター用の日本語フォントの設定ってどこにありますか?
903名前は開発中のものです。
垢版 |
2024/02/06(火) 12:38:24.71ID:oRasG0kH
それが探せないなら開発ツール使えなくない?
2024/02/06(火) 12:48:24.96ID:ANH4dfBB
>>903
「コードのフォント」以外のどこにあるのでしょうか?
905名前は開発中のものです。
垢版 |
2024/02/06(火) 13:04:19.49ID:oRasG0kH
そこで使いたい日本語フォント指定すれば変わるでしょ
2024/02/06(火) 13:26:42.61ID:wPsMdP87
has_method・has_signalって処理重いかな
ダックタイピング慣れなくて書きたくなるんだが
2024/02/06(火) 19:49:17.06ID:ANH4dfBB
>>905
日本語フォントにするとインデントが狭くなって逆に見づらいし~・・・
と思ったのですが、ふとインデントの調整については調べてなかったと気づいてちょっとググったらすぐ出てきました・・・。
ビヘイビアという馴染みのない単語の項目はうっかり見落としておりました。
メイリオフォントにしてインデント幅とか微調整したらすごく良い感じです。
結局解決できましたので、どうもありがとうございます。

でもほんとにこんなんでエディタ使ってるのはダメだなって反省します・・・
908名前は開発中のものです。
垢版 |
2024/02/06(火) 20:08:48.96ID:oRasG0kH
言っている意味がやっと解ったわ
等幅フォントとかコーディング向けフォントとかでフォント探すと良いよ
2024/02/08(木) 01:13:49.66ID:j9jLRCB1
聞く前に調べる力は付けよう
2024/02/08(木) 05:34:54.60ID:Vhb0pCFt
ここで聞くのは調べる内に入らないのかな?
2024/02/08(木) 07:15:25.98ID:/YSSiyRj
ricty deminishedとかsource code proとかだね
2024/02/08(木) 07:36:58.26ID:SzEhrq/+
source code proは中華フォントで表示されるのでSource Han Code JPの方が良いと思う
パックされているから分解する必要はあるけど
2024/02/08(木) 12:51:57.41ID:nTVw6wG1
フォントどうしてたっけな〜と思って設定見たが
サイズ以外初期のままだったわ
皆わざわざ変えてんのか
914名前は開発中のものです。
垢版 |
2024/02/08(木) 13:00:38.24ID:DA4sH8rT
1週間で作成してるゲーム完成しなかったら仕切り直す?
いやまあ完成したけど、クソつまらない物体になる
2024/02/08(木) 16:16:49.25ID:ko5ildpW
>>913
反対や直接と書いた時の文字形状が気にならないならデフォで良いんじゃない?
自分は気が付いてなかったからデフォで使ってたが知ってしまうと気になるな
2024/02/09(金) 16:46:14.63ID:uv6SGhPR
立ち絵の表情差分をsprite2Dで用意して素体・目・眉・口・装飾画像を子ノードで作って
変数で合成して呼び出すみたいな事ってこのソフトでできますか?
NaninovelのLayered Actorsイメージ
917名前は開発中のものです。
垢版 |
2024/02/09(金) 19:58:09.99ID:v7ISzv0e
godotでマグネットは簡単に作れる?
吸着と反発を作りたい
2024/02/09(金) 22:05:37.61ID:WHJ0Y9oI
マグネットのような物でよければ簡単
ball.apply_central_force(magnet.position - ball.position)
これだと磁力=距離なので適宜修正は必要
919名前は開発中のものです。
垢版 |
2024/02/10(土) 10:46:06.88ID:DpmQLMLS
ありがとう
単純にforce系でいいのね
パチッという感触を表現するのは難しそうだけど、加速度かなそのへんは
2024/02/10(土) 11:37:18.28ID:EKmsttfr
瞬間的に張り付く速度だとすり抜けを考慮する必要がでてくる
磁性体一つで引き寄せ不要で張り付くだけならRaycastで接触点に移動すればいい
なんだったら単純にpositionのコピーでもいい
やりたい演出で必要な処理が変わる
2024/02/11(日) 23:31:48.45ID:I7qROjnC
https://i.imgur.com/rEFiR4H.mp4
3.5で作りかけてた見下ろし型ゲームをこりゃダメだと思って、使えるキャラ素材は使い回して
敬遠してた4.0に切り替えて2Dアクション作ろうと2か月がかりでようやく基礎がほぼできた……
崖とか壁にはみ出す影をどうにかしたかったけどクソ面倒で無理なので影は諦めたり、
見下ろし型と全然違うvelocityの制御とかに苦労しまくった
4.0から機能も全然変わってていろいろ困った

でもgodotはゲーム制作なんて初めての俺でもかなり分かりやすくてありがたい
22年前に専門学校でC++でテトリス作らされて以来だけど、こんなガンプラ感覚でちゃんとゲーム作れるのすげえ時代だわ
2024/02/12(月) 01:28:04.61ID:0HZpI5l+
凄いね自分なんか頭でっかちで手動かさないからプログラムも動かないw
便利オブジェクト並べたら動くのは確かに楽だけどC++の知識は役に立ちました?
GDScriptやクラス概念の理解には役に立ったのではと思うのですけど
2024/02/12(月) 02:23:49.78ID:xmqspZY4
専攻外の授業だったのでC++の知識は全く覚えてなくて、
しいて言えば工業高校でやったフォートランやアセンブラで
四則演算程度の超基礎プログラミングを勉強してた記憶の方が役に立ってる気がするw
integer、real(float)、go to~ みたいな

当然オブジェクト指向云々もクラスも具体的には全然わかってないです
結局bool変数でなんとかしてるパーツばっかりですし
検索でヒントを探し出す根気とグーグル翻訳がありゃなんとかなります!
2024/02/12(月) 02:39:44.13ID:0HZpI5l+
言語違っても既に言語の基礎は習得してたって事ですね納得しました
クラスの理解なんてプロパティに値を設定できてメソッドが呼べれば十分かと
何よりもここまでやると思った所まで作る熱意が続く事が大事だと思います
元気貰えた気がしますありがとう
よし明日から頑張ろう
925名前は開発中のものです。
垢版 |
2024/02/12(月) 08:28:51.15ID:7WGC4HdE
モデリングの手間が少なくすむ3dゲームのアイデアとかある?
なんちゃら通路みたいなループ系はなるほどなと思った
926名前は開発中のものです。
垢版 |
2024/02/13(火) 10:03:42.08ID:j1du3Ri/
godotってプリミティブな図形は入ってないんですかね?
927名前は開発中のものです。
垢版 |
2024/02/13(火) 10:04:27.34ID:j1du3Ri/
普通にメッシュインスタンスに入っていた
928名前は開発中のものです。
垢版 |
2024/02/13(火) 14:27:00.35ID:j1du3Ri/
ちわす
ボール同士が合体する仕組みを作りたいです
例えば、1と2が衝突したら、加算されて3のボールになるという感じです
1と2は消滅します

スイカゲーム的な合体を作りたい感じですね

このとき、1か2にシグナルを仕込むのですが、両方にシグナル付けずに、片側から判断するんでしょうか?
2024/02/13(火) 15:21:43.43ID:UdYgXfq3
同じもの同士が合体しないのであれば片方からだけでもいいと思う
接触判定やシグナル送り自体は全部やって番号で合体させるかどうか判別させる方が応用は効くかも
2024/02/13(火) 19:44:15.20ID:buz/jqFh
ワイも>>929に同意
とりあえず全部にシグナル仕込んどけば考えなくて済むうえ
仕様変更に強い
931名前は開発中のものです。
垢版 |
2024/02/14(水) 05:04:22.29ID:NM7yugQr
どうもです
共通の球体を用意しておいて、そこに共通のスクリプトをつけて、そのベースを元にして1,2,3という球体を作る感じですね
書き方はgptに聞いてみます
932名前は開発中のものです。
垢版 |
2024/02/14(水) 06:11:28.55ID:NM7yugQr
ゲームサクサク作れるようになったら楽しいんだろうな
933名前は開発中のものです。
垢版 |
2024/02/14(水) 06:21:19.08ID:NM7yugQr
数字を加算するような仕組みを作る場合は、例えば1から1000まで すべての画像用意するのは大変だから、テキスト系を使うのかな
934名前は開発中のものです。
垢版 |
2024/02/14(水) 09:49:47.14ID:mw6Y9l6K
デザイン重視なら数字画像を用意しておいてテキストのように組み合わせる方法もあるから
935名前は開発中のものです。
垢版 |
2024/02/14(水) 09:56:56.13ID:NM7yugQr
ありがとう
数字画像はどっかから拾えばいいか
内蔵テキストを背景に組み合わせてもいいやもね
936名前は開発中のものです。
垢版 |
2024/02/14(水) 12:15:44.01ID:NM7yugQr
contact monitorの設定めんどいな
設定しないとbody_enteredが効かない
うっかり
2024/02/14(水) 14:51:33.21ID:ghvh5+Kq
Area2Dの衝突を即座に検知する方法ってないですか?
攻撃判定が食らい判定に重なったらダメージモーションに移行っていう当たり前のやつをやりたいんだが
ノードの移動変形が反映されて見た目では完全にパンチ食らってる状態なのに
衝突判定が更新されてなくて棒立ちのまま……っていう瞬間が1フレームだけ生まれてしまう
938名前は開発中のものです。
垢版 |
2024/02/14(水) 16:49:25.91ID:NM7yugQr
https://www.gdquest.com/tutorial/godot/best-practices/signals/
ここに書いてることでどうにかなる?
2024/02/14(水) 18:33:23.99ID:ghvh5+Kq
>>938
悪いけどどこに解決の糸口があるのか分からんかった
すまん
2024/02/14(水) 19:19:55.73ID:Il63QURN
>>937
どうやってモーション管理してるかによるのでは
ステートマシンで制御したら?
941名前は開発中のものです。
垢版 |
2024/02/14(水) 19:23:25.99ID:NM7yugQr
すごく初歩的な質問だと思うんですが、シグナルがこれで発火しないのはなぜでしょうか?
以下のコードをrigidbody2dにつけていて、staticbodyに衝突したときに発火するようにしてます
チュート見てるとコードからシグナルを使っているパターンがあるので、勉強中です

func _ready():
self.connect("body_enterd",_on_body_entered)
func _on_body_entered(body: Node) -> void:
print("hit")
2024/02/14(水) 19:46:45.22ID:vNLstP6c
godot4だと
シグナル自身がconnectする形じゃないっけ?

hoge_signal.connect(hoge_method)
2024/02/14(水) 21:22:02.42ID:unr7G+lU
>>937
->Area2Dの衝突を即座に検知する方法ってないですか?
無い、Area2Dは物理サーバーだかの更新時に一斉に判定されるからワープ直後にいきなり判定とかは無理
Area2Dを毎フレーム動かしてるなら_physics_processを使った方がいい
状況がよくわからないがどうしても気になるなら最大FPSとか物理ティックをいじるしかないんじゃない
2024/02/14(水) 23:25:34.65ID:ghvh5+Kq
>>940
一応ステートマシンは使ってるけどステート遷移条件としてのarea_enteredシグナルが発信されるまでのラグに困ってる感じです
>>943
やっぱキツいですかね……
基本的に_physics_processで動かすようにしてるのでそこは間違えてないハズ……AnimationPlayerとかもPhysicsモードにしてるし
ティック弄るのは試してなかったから調べてみます
2024/02/14(水) 23:40:24.44ID:bOM0D0dU
見た目上攻撃受けてるけどダメージモーションは次のフレームからって状況は商業ゲームとかでもわりと普通の挙動な気がする
2024/02/15(木) 00:08:37.04ID:U+ib019H
気にしてるのは制作者だけってパターンもあったりするし
実際どういう挙動なのか見ないと何とも言えないけど

食らい判定をもう1つ追加して実際のダメージ判定より前に置いて、
攻撃がボディに当たる手前でモーションだけ変化させてタイムラグごまかすとかどう?
947名前は開発中のものです。
垢版 |
2024/02/15(木) 06:09:52.29ID:I2lSz8t6
>>942
シグナル自体がコネクトというのはどういうことですか
リファレンスあれば教えて下さい
2024/02/15(木) 09:02:19.52ID:C6Jtia7P
そうなるともう公式をよく読んでとしか
2024/02/15(木) 09:29:38.23ID:4oQt/aCU
エスパーの時間だ!コラァ!!
>>941で発火しないのは>>936じゃなくて?
>>947>>941のconnectの書き方が古くてgodot4では>>942の書式ではとの指摘
リファレンスはGodotEngine起動してF1キー押して検索キーワードにconnectと打ち込めば候補がでるから
ObjectのconnectとSignalのconnectを読むと良い
950名前は開発中のものです。
垢版 |
2024/02/15(木) 11:40:24.02ID:I2lSz8t6
>>949
どうも
contactmonitorの設定は大丈夫なので、コードの書き方だと思うんですよね

ヘルプでコネクトしらべました
connect(signal: StringName, callable: Callable, flags: int = 0)

リファレンスにはないし、どっち見ればいいのかわからないですね

第一引数は名前で、第二は_on_body_enteredというシグナル名、第三はよくわからないので書いていません
951名前は開発中のものです。
垢版 |
2024/02/15(木) 11:48:30.03ID:I2lSz8t6
ごめんなさい
単純に関数の引数と型とか書いてないのが悪かったみたい
これないだけで動かなくなるんだ
func _ready():
connect("body_entered",_on_body_entered)
func _on_body_entered(body:Node)->void:
print("hit")
2024/02/15(木) 12:10:06.93ID:4oQt/aCU
connectはgodot4を使っているならSignalの方が良いObjectの方は互換性維持の為に残っているのだと思う
文字リテラルが無いのでより安全なコードとなる
https://docs.godotengine.org/ja/4.x/getting_started/step_by_step/signals.html
953名前は開発中のものです。
垢版 |
2024/02/15(木) 12:29:22.48ID:I2lSz8t6
>>952
コード内からシグナル呼び出す方法がconnectで、エディタだけでやる場合はシグナルってことじゃないのですか?
2024/02/15(木) 13:02:15.82ID:4oQt/aCU
新しい方が使い勝手が良いだけだから目的通りに動いていて問題ないならそれで良いよ
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
955名前は開発中のものです。
垢版 |
2024/02/15(木) 14:24:30.75ID:I2lSz8t6
ありがとう
動けばいいね 完成目指す
2024/02/15(木) 17:37:51.88ID:sVKQXRzU
>>937
検証してみたが仕様っぽい
_physics_processが呼ばれるすぐ前に判定が行われるのでどうやっても1フレームのディレイが発生する
RaycastとかShapeCast、DirectSpaceStateとかは影響受けないからそれかな
パフォーマンスは知らん
https://forum.godotengine.org/t/why-are-area2d-collisions-triggered-1-frame-late/37354
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況