[過去ログ] 【軽量】godot engine - part2 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
1(1): 2021/04/30(金)13:03 ID:cptRhreJ(1) AAS
外部リンク:godotengine.org
外部リンク:www.reddit.com
godotでクソゲー作ろうぜ!!
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というシグナル名、第三はよくわからないので書いていません
951: 2024/02/15(木)11:48 ID:I2lSz8t6(3/5) AAS
ごめんなさい
単純に関数の引数と型とか書いてないのが悪かったみたい
これないだけで動かなくなるんだ
func _ready():
connect("body_entered",_on_body_entered)
func _on_body_entered(body:Node)->void:
print("hit")
952(1): 2024/02/15(木)12:10 ID:4oQt/aCU(2/3) AAS
connectはgodot4を使っているならSignalの方が良いObjectの方は互換性維持の為に残っているのだと思う
文字リテラルが無いのでより安全なコードとなる
外部リンク[html]:docs.godotengine.org
953: 2024/02/15(木)12:29 ID:I2lSz8t6(4/5) AAS
>>952
コード内からシグナル呼び出す方法がconnectで、エディタだけでやる場合はシグナルってことじゃないのですか?
954: 2024/02/15(木)13:02 ID:4oQt/aCU(3/3) AAS
新しい方が使い勝手が良いだけだから目的通りに動いていて問題ないならそれで良いよ
Objectクラスのconnectメソッドは3.xで使われている古い形式
外部リンク[html]:docs.godotengine.org
Signalクラスのconnectメソッドは4.xからの新しい形式
外部リンク[html]:docs.godotengine.org
955: 2024/02/15(木)14:24 ID:I2lSz8t6(5/5) AAS
ありがとう
動けばいいね 完成目指す
956: 2024/02/15(木)17:37 ID:sVKQXRzU(1) AAS
>>937
検証してみたが仕様っぽい
_physics_processが呼ばれるすぐ前に判定が行われるのでどうやっても1フレームのディレイが発生する
RaycastとかShapeCast、DirectSpaceStateとかは影響受けないからそれかな
パフォーマンスは知らん
外部リンク:forum.godotengine.org
957: 2024/02/17(土)01:31 ID:y5Fxv8CK(1) AAS
godotスレも伸びたもんだ
次スレのテンプレも考え良い頃では?
958: 2024/02/17(土)06:08 ID:lpQfy7dC(1/6) AAS
【軽量】godot engine【無料】 part2
* ダウンロード
外部リンク:godotengine.org
* フォーラム
外部リンク:www.reddit.com
外部リンク:forum.godotengine.org
* リファレンス
省7
959(1): 2024/02/17(土)07:27 ID:79tXZS3b(1) AAS
【軽量】godot engine【無料】 part3
--テンプレートここから--
Godotエンジンは機能豊富な、クロスプラットフォームのゲームエンジンであり、2D・3Dゲームを単一のインターフェイスで製作することができます。
基本的なツールは一通り用意され、ユーザーはプログラムの再発明をすることなくゲーム製作に集中できます。
製作したゲームは主要なデスクトップ環境(Linux, MacOS, Windows)や、モバイル(Android, iOS)、Webベース(HTML5)環境にワンクリックで書き出せます。
GodotはMITライセンスの下、完全に自由でオープンソースです。
利用に関して特に制限はありませんし、利用料を請求することもありません。
省19
960(1): 2024/02/17(土)09:52 ID:lpQfy7dC(2/6) AAS
このスレって2だったのか
3たてた
2chスレ:gamedev
961: 2024/02/17(土)10:41 ID:lpQfy7dC(3/6) AAS
外部リンク:tech.pjin.jp
godotはグローバル変数がないのね(*´ω`*)、、、
キャラクターから玉を発射するとき、その弾の発射位置を決めないといけない
キャラクターの位置から発射されるとして、キャラクターの位置情報を玉シーンに渡したい場合はグローバル変数でいいのかな?
962: 2024/02/17(土)11:11 ID:RX1RYYC1(1/2) AAS
目的が達成できるなら厳密な定義のグローバル変数があるとかないとかは重要には思えない
キャラクターが弾を発射した際に弾シーンをインスタンス化して使用しているなら
グローバルを介さずともインスタンスの設定処理を呼ぶなりプロパティを直接変更するなりできるのでは?
963: 2024/02/17(土)12:41 ID:lpQfy7dC(4/6) AAS
ありがとう
単純にpositionを指定すればいいだけでした
ありがとう
常に共有する必要ないならグローバルにすることもないすね
964: 2024/02/17(土)14:32 ID:lpQfy7dC(5/6) AAS
ゲームはヘタに長編とか企画しないほうがいいかな?
完成すらままならないし game a week
965: 2024/02/17(土)14:58 ID:g0jnqHff(1/2) AAS
これの通りにやってみてるんだけど13:30辺りのbuildまでやるとGodotClassとNode2DVirtualが見つからなくてエラーになるんですがどなたか分かる方いますか?
動画リンク[YouTube]
966: 2024/02/17(土)15:16 ID:RX1RYYC1(2/2) AAS
全部に目通せなくて適当なんだけどLaunch.jsonの中のパスは自分の環境に合わせた?
967(1): 2024/02/17(土)16:15 ID:g0jnqHff(2/2) AAS
動画コメントにNode2DVirtualが最新ではINode2Dに変わったってあってそこの次には勧めたけど
今度はBase<Node2D>にget_position()がないって言われた
968: 2024/02/17(土)20:02 ID:ALvQDFgf(1) AAS
>>967
self.base().get_position()
#501 で変更されたようです
969(1): 2024/02/17(土)20:29 ID:lpQfy7dC(6/6) AAS
質問させてください
1,2,3,4,5という球体があって、その球体を箱の中にバラマキ、衝突した者同士を合体させたいです
1と2が衝突したら、3に加算されて合体する感じです
こういうスクリプトは1つのコードで作れるのでしょうか?
ボールの基礎となるballBaseというシーンを作り、そのシーンを継承したシーン1、2,3,4,5を作っています
970: 2024/02/17(土)20:50 ID:CqLT5YDg(1/2) AAS
>>969
まずはこういうの見てみたら?
971: 2024/02/17(土)20:50 ID:CqLT5YDg(2/2) AAS
ごめん貼り忘れた
外部リンク:2dgames.jp
972: 2024/02/17(土)20:53 ID:8+3skhOA(1) AAS
単純な加算なら
・各ID(1~5)を保持する変数
・接触時のID加算メソッド
・生成用シーンのパスまたはExport
をベーススクリプトに置いて
継承側でID指定しておけばいけるんじゃないかな
ソラで考えたから適当やけど
973: 2024/02/18(日)10:54 ID:pPH7PCwn(1/2) AAS
ありがとう
設計考えるのは難しい
創作部分に力を使えない
974: 2024/02/18(日)11:18 ID:pPH7PCwn(2/2) AAS
1つのノードに対してスクリプト1つだけのようですが、スクリプトを増やしたいのならノードを増やすのですかね
1つのスクリプトがゴチャつくと嫌なので
975: 2024/02/18(日)11:35 ID:Z7eZwvfU(1/2) AAS
>>960
乙
976: 2024/02/18(日)11:37 ID:Z7eZwvfU(2/2) AAS
>>959
gj
977: 2024/02/19(月)01:11 ID:DtZmL+d4(1) AAS
>>937の者ですがShapeCast2DによるArea2Dの検出を使うことで解決しました
大量の衝突を扱うにはパフォーマンス的に向いてなさそうではあるが自分の用途的には問題なさそう
色々アドバイスくれた人に感謝
備忘録的に自分が引っかかった部分を書いておくと
Area2Dの移動後にArea2D.force_update_transform()で物理サーバー上の位置を更新しておかないと
ShapeCast2D.force_shapecast_update()の検出が思ったようにいかないので注意
978: 2024/02/19(月)19:53 ID:fNr8o5z2(1) AAS
シグナルってゴドット独自の機能ですか?ユニティには同様の機能は無いですか?
979: 2024/02/19(月)20:54 ID:2Y8JlU8D(1) AAS
ないよ
980: 2024/02/19(月)21:37 ID:ySU3/gww(1) AAS
onClickみたいなやつがシグナルじゃないの?
981: 2024/02/19(月)23:28 ID:P79bWfFH(1) AAS
ユニティーで言うところのonClickみたいなかんじでしょうか
まだ使ったこともないのでよくわからないのですが
シグナルって自由に名前定義できてどのスクリプトからも受信できるっていう認識であってますか?
例えばプレイヤーが敵に衝突して死んだ場合
プレイヤースクリプトからplayer_deadっていうシグナルを発信
メインスクリプトでplayer_dead受信したらゲームオーバー処理
みたいなことができるのでは?というイメージなのですが
982(1): 2024/02/20(火)05:10 ID:TYJz4VqA(1/2) AAS
そんな感じです
名前定義は出来ない認識ですが、よくわからない
983(1): 2024/02/20(火)10:52 ID:kdaN1CVT(1) AAS
独自シグナル実装できるだろ
外部リンク[html]:docs.godotengine.org
984(1): 2024/02/20(火)12:32 ID:ajfww+mh(1/3) AAS
シグナルをイベント発火時に外部ルーチンを呼び出す処理と見なすなら
Unityで同等の事を行うにはこの記事が参考になる
外部リンク:ekulabo.com
シグナルの良い点は発火側が受信側の存在を意識する必要がない事
受信側が必要に応じて接続する
必要がなければ接続しなくても問題がない
シグナルの別な良い点はawaitに対応している事
省1
985: 2024/02/20(火)16:11 ID:953VQrex(1) AAS
>>982
やはりそうですか
>>983
ドキュメント長すぎて心折れそうになりましたが下のほうにシグナル説明ありますね
シグナルって引数も発信できるのですね すごい
>>984
UNITYでも同じような処理できるのですね URL参考に勉強してみます
省3
986(2): 2024/02/20(火)18:33 ID:TYJz4VqA(2/2) AAS
こんにちわ
カーソルの位置をキャラクターをゆつくり移動させるために、move_toward関数使ってみたんですが、以下の減算するだけのコードでもいけました。
extends CharacterBody2D
var SPEED = 300
var cursor_position
var player_position
func _ready() -> void:
省7
987(1): 2024/02/20(火)19:35 ID:GCCmBP+O(1) AAS
move_towardは(target_position - org_position).normalized()*deltaをまとめてやる関数っぽい
988(2): 2024/02/20(火)21:15 ID:ajfww+mh(2/3) AAS
>>986のコードではcursor_positionに到達した後に微動作し続ける
move_towardを使えばtoの位置で止まるので静動させるならmove_towardを使う
989: 2024/02/20(火)22:18 ID:OUfUeN9r(1) AAS
GodotってAPKの中身丸見えでスクリプト構造も丸見えで
オープンソースだから対策もさほどできなくて、ずっーと丸見えなんですって?
やだぁ〜エッチ〜w
990(1): 2024/02/20(火)22:54 ID:ajfww+mh(3/3) AAS
自己満開発だから気にした事なかったが調べた分には暗号化の機能はあるようだぞ
外部リンク[html]:docs.godotengine.org
プロプライエタリなUnreal EngineやUnityであってもガンガンMODが作られている時点で気休めにしかならないとは思うが
991: 2024/02/21(水)06:39 ID:pdI9ZoxT(1/4) AAS
>>987
>>988
ありがとう
パフォーマンス気にしないならこのままでいいみたいですね
992: 2024/02/21(水)07:24 ID:Rl2rZt0e(1) AAS
>>988
move_towardは通り過ぎちゃうのを切り捨てる処理も入るって事か
993: 2024/02/21(水)09:26 ID:YmXsU+lh(1) AAS
>>990
やだぁ〜これって独自の Godot エンジンをコンパイルすることが前提条件らしいじゃないですか〜マイッチング
将来もっと簡単になればいいのにぃ〜、こうなったらもう丸見えでいくわ、うっふーん
外部リンク:godot.community
994(1): 2024/02/21(水)10:06 ID:pdI9ZoxT(2/4) AAS
平凡なしくみを面白く仕上げるのがクリエイティビティなんだろうか
ただのバウンドするボールを面白く仕上げるとかね
995(1): 2024/02/21(水)10:49 ID:pdI9ZoxT(3/4) AAS
インデントについて、4でもタブとスペースの混在は駄目なんですかね。
996(2): 2024/02/21(水)19:10 ID:pdI9ZoxT(4/4) AAS
>>986
このコード投稿したものなんですが、これはマウスカーソル位置にキャラクターを徐々に動かすもんです
途中にウンコが落ちていたとして、それを迂回するように回避する方法ってあるでしょうか?
動画リンク[YouTube]
この動画だとパス使ってるみたいですが、コードでできればいいです
ウンコに大きめのコリジョンをつけるか、ウンコの領域に入ったら、キャラクターのコリジョンを広げる方法を今ためしてみます
997: 2024/02/22(木)13:17 ID:99VHeX8k(1) AAS
テンプレで次スレ立てを深く考えず安易に950で指定してしまったが
現状や他スレを見るに980辺りで良かったと思う
次スレが立つのはずっと未来の話だが立てるタイミングの調整とテンプレ修正が必要
>>996
単純な回避でも左右どちらに避けるギリギリで避ける早めに避けるだの考慮する点は多い
Navigation2Dは複雑な地形であってもルート算出してくれるのだから使えるならその方が楽だろう
>>995
省10
998: 2024/02/22(木)18:12 ID:AyYlDxOL(1/3) AAS
>>996
ありがとう
何が何でもプログラムで動きを作る必要はないのだろうけど、この辺一度やってみたいから、シューティングでもやろうかな
ゲームは既存のアイディアを改変死たほうがいいと思う
0から作ろうとすると面白くもなんともない物体が出来る
身の程を知るというか
999: 2024/02/22(木)19:50 ID:AyYlDxOL(2/3) AAS
う目
1000: 2024/02/22(木)19:50 ID:AyYlDxOL(3/3) AAS
梅
1001(1): 1001 ID:Thread(1/2) AAS
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1028日 6時間 46分 36秒
1002(1): 1002 ID:Thread(2/2) AAS
5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
省7
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.020s