[過去ログ] 【軽量】godot engine - part2 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
870
(1): 2024/02/04(日)12:38 ID:SE6INxAw(1/2) AAS
self自体に型付けってありますか
self.apply_central_force()
こうselfをつけると補完が出ないですので、selfに対して型付けが必要なのかも

>>869
871: 2024/02/04(日)16:48 ID:SE6INxAw(2/2) AAS
コリジョンマスクって衝突させるものと、衝突されるものを、双方向に指定しないと挙動がおかしくなるもの?
片方からのみ指定すると挙動がおかしい
ただ、単にすり抜けるなら分かるけど、衝突はするという
ただ、衝突の結果がおかしい
872: 2024/02/05(月)10:42 ID:SIExHF/s(1/7) AAS
衝突判定で使うオブジェクトの違いはここら辺読めば良いんじゃない?
外部リンク:www.reddit.com
外部リンク:code.luasoftware.com

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

そういう人はサンプルコードまで提示しないとダメな教えて君タイプでしょう
875: 2024/02/05(月)13:14 ID:Xd01vtLL(2/9) AAS
>>853

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

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

気になってスタイルガイドを読んでみたがself句の説明はないな
外部リンク[html]:docs.godotengine.org
今まできちんと読んでなかったから自分が守ってない事が沢山あるのに気が付けたのは良かった
890: 2024/02/05(月)17:14 ID:SIExHF/s(6/7) AAS
不完全だけど日本語のページ
外部リンク[html]:docs.godotengine.org
891: 2024/02/05(月)17:35 ID:qsxLl75u(4/5) AAS
godotでテンプレート化って出来ますか?
スタート画面、ゴール画面といった使い回せる部分というのはあると思うんです
エクステンション化するとなるとC言語必要かもしれないし、だいたいそこまでやらずにテンプレ化する方法あるんでしょうか?

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

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

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

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

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

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

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

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

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

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

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

第一引数は名前で、第二は_on_body_enteredというシグナル名、第三はよくわからないので書いていません
1-
あと 52 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.022s