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