1 名前:名前は開発中のものです。 [2021/04/30(金) 13:03:47.04 ID:cptRhreJ.net] https://godotengine.org/ https://www.reddit.com/r/godot/ godotでクソゲー作ろうぜ!!
745 名前:名前は開発中のものです。 [2024/01/17(水) 10:52:56.70 ID:kKwz9ITx.net] 学習リソースもアセットも多いunityを大人しく使ってた方がいいのは分かってるけど新しいものに手出すのが大好きで…
746 名前:名前は開発中のものです。 [2024/01/17(水) 10:55:49.38 ID:U3uveKkI.net] あ、あと英語に慣れるいい機会というのも理由としてある
747 名前:名前は開発中のものです。 mailto:sage [2024/01/17(水) 11:12:18.75 ID:SE4jTcLm.net] 前にも書いたけどevalでdslはスクリプト言語最大のメリットだよ
748 名前:名前は開発中のものです。 [2024/01/17(水) 13:14:23.66 ID:6mpppKMB.net] >>710 ChractorBody2D+CollisionShape2D(Capsulesh)でやってみた 地面はStaticBody2D+Rectangle Readyでコンソールに座標出しても誤差ないぞ コリジョンのサイズ設定とかどうよ?
749 名前:名前は開発中のものです。 mailto:sage [2024/01/17(水) 17:49:33.72 ID:xbw/rsD5.net] モーション変えるコードをmove_and_slide()の後に書けばいいんじゃないの? is_on_floor()の値はスライド後に設定される筈
750 名前:名前は開発中のものです。 [2024/01/17(水) 19:00:01.02 ID:U3uveKkI.net] characterbody2dに摩擦はないのかな? 壁ひっつきを作りたい リジッドボディをキャラクターに使うといろいろ問題がでそうで
751 名前:名前は開発中のものです。 [2024/01/17(水) 19:50:07.38 ID:U3uveKkI.net] あー、でもスクリプトでコントロールすることを考えると、レイで壁を検知して落下を止めるってのがいいのかも
752 名前:名前は開発中のものです。 mailto:sage [2024/01/17(水) 19:51:31.19 ID:vQdUcmEM.net] is_on_wall()とかじゃダメなん?
753 名前:名前は開発中のものです。 mailto:sage [2024/01/18(木) 00:15:47.35 ID:Ix7LokGe.net] つまらないことに色々と続けてアドバイスを頂けたようで、なんかすみません・・・ 色々やってみたところ、physics_processの1行目にmove_and_slide()を書き、 StaticBodyの上にキャラを乗せておくと普通に立ちポーズのまま開始できました。 しかし背景はタイルマップで作りたいのですが、タイルの上だとどうやっても着地が出ておかしくなります。 タイルのコリジョンは1ピクセルでスナップして設定して、ツール上でもピクセルスナップで置いてズレは無いはずで、 プレイヤー位置:(87, 122) false ← if not is_on_floor():でtrueになる空中判定変数をonreadyでfaiseにしておいても (12) プレイヤー位置:(87, 122) true ←結局着地しちゃう (94) プレイヤー位置:(87, 122) false --- Debugging process stopped Yが一致しててもおかしいのでさすがに諦めます・・・ しかし、スタート位置のタイルマップにStaticBodyを重ねて置いて透明にすれば問題無しです。解決しました!
754 名前:名前は開発中のものです。 [2024/01/18(木) 06:11:26.54 ID:SbvIdHMq.net] >>742 レイ使わなくてもこれならいけそうですね 内部的に横方向にレイ飛ばしてるのかもしれませんですが ありがとう
755 名前:名前は開発中のものです。 [2024/01/18(木) 06:28:12.65 ID:SbvIdHMq.net] 関係ないけどパイソンってこう構造が見づらくない? かっこが無いからかも
756 名前:名前は開発中のものです。 [2024/01/18(木) 11:45:13.37 ID:YK7HjF9M.net] スクリプトで追加したノードと、シーンウインドウ上で追加したノードの、検索に反応する挙動が違ってしまい困っています スクリプトで追加したノードをfind_childで取得したいのですが、それが検索に引っかかってくれません デバッガーでは子ノードの配列に当該ノードの存在を確認し、検索名も合致しており、find_child関数が他のノードを取得出来ることも確認いたしました しかしスクリプトで追加したノードのみ取得してくれません get_childrenで配列を取得し引数に数字を与えると目当てのノードは取得できるのですが、正直この方法は使いたくありません じょれはバグなのでしょうか? 解決方法がわかる方いらっしゃいますでしょうか? どうかお願いいたします 簡単な図を載せておきます Main Node◇←スクリプト +Stage Node(動的に追加する) +Player Node +Enemy Node(動的に追加する) +Timer Node メインノードにアタッチしたスクリプトからステージノードやエネミーノードを動的に追加削除して使用します タイマープレーヤー等は名前を合致させれば取得できるのですが、ステージエネミーは名前を合致させても取得できません
757 名前:名前は開発中のものです。 mailto:sage [2024/01/18(木) 12:18:26.09 ID:5n3HuKgw.net] >>745 気がつかれましたか・・・ はっきりいって大規模プログラムにはまったく向かない仕様なのがパイソン ちょっとネストの段が深くなってくると、どこがブロックなのかよく見えなくなってくる
758 名前:名前は開発中のものです。 [2024/01/18(木) 12:45:55.83 ID:SbvIdHMq.net] godotで3dゲー作りたいけど、定番のアセットとかありますか? ユニティちゃん的なやつで >>747 ま、頑張ります!
759 名前:名前は開発中のものです。 mailto:sage [2024/01/18(木) 12:54:05.47 ID:YYGEML0W.net] >>745 すごい目が疲れる 行末の;がないのも地味に辛い 仕様考えた奴視力バチクソ良さそう
760 名前:名前は開発中のものです。 mailto:sage [2024/01/18(木) 13:01:29.31 ID:ubQ1hWTO.net] >>746 第3引数をfalseにする
761 名前:名前は開発中のものです。 [2024/01/18(木) 13:03:10.31 ID:SbvIdHMq.net] 連投すまそ godotにもgmクラスみたいな概念はあるんですかね? uiやゲームの進行を管理するクラス これは開発環境にかかわらず、プログラミングにおけるパターンなんだろうけど
762 名前:名前は開発中のものです。 mailto:sage [2024/01/18(木) 13:13:02.88 ID:YYGEML0W.net] あるよ。AutoLoad。
763 名前:名前は開発中のものです。 [2024/01/18(木) 13:26:40.93 ID:SbvIdHMq.net] >>749 んじゃああコード量が増えないようにスクリプトを分けるという考え方なの? モジュール志向的な
764 名前:名前は開発中のものです。 [2024/01/18(木) 14:16:39.55 ID:2l1Jd13n.net] 同じスクリプト言語ならjavascript系を採用して欲しかったよなあ ツクールやgamemakerはその方向なのに
765 名前:名前は開発中のものです。 [2024/01/18(木) 17:16:05.62 ID:SbvIdHMq.net] 完成させるなら見た目とか妥協しないと駄目だね ui周りとかこだわりだすときりがない
766 名前:名前は開発中のものです。 [2024/01/18(木) 17:58:33.78 ID:SbvIdHMq.net] godotって他のノードはget_node使わないと駄目な感じかな? unityみたいにpublicして、インスペクタに指定することとか出来ない? 逆にget_nodeのメリットとかあるのかな?慣れるしかないか
767 名前:名前は開発中のものです。 mailto:sage [2024/01/18(木) 20:04:09.66 ID:2cc4Q+qM.net] >>756 まず公式サイトのドキュメント見た方がいいよ それできない奴はgodot触っても幸せになれない
768 名前:名前は開発中のものです。 [2024/01/19(金) 06:01:30.08 ID:gidHXOpm.net] クレクレなってた 悪いね
769 名前:名前は開発中のものです。 [2024/01/19(金) 12:50:49.89 ID:gidHXOpm.net] 検索してもなかなか見つからないことはgptに聞くといいね 答えが見つかりやすい
770 名前:名前は開発中のものです。 [2024/01/19(金) 13:29:25.74 ID:gidHXOpm.net] ノードの取得方法なんですが、get_treeはシーンツリー全体を取得ということですか? つまり、そのプロジェクトに含まれるルートのシーンを最上位とした、シーン全体の取得 get_tree().get_root() とすればget_rootは1つのシーンの最上位という意味合いになるんでしょうか ここは調べてもわからなかった
771 名前:名前は開発中のものです。 mailto:sage [2024/01/19(金) 20:30:52.73 ID:RNi0IsDv.net] Godot Japan User Community https://twitter.com/godot_jp ここでDiscordサーバーあるから分からん事聞きたいなら入ってみたらいいんじゃない? (deleted an unsolicited ad)
772 名前:名前は開発中のものです。 [2024/01/19(金) 21:38:27.19 ID:uj7WVGXu.net] >>750 遅ればせながら、本当にありがとう上手くいきました! 恥ずかしながらリファレンスをよく読んでいなかったのと、オーナーという概念がある事、そしてスクリプトはオーナーを持たない事を初めて知った(◇selfでadd childする目的は…?) こんなスパゲティ質問をサラッと答えられるイケメンになりたい
773 名前:名前は開発中のものです。 [2024/01/19(金) 21:48:07.01 ID:38trQaVj.net] >>760 NodePathクラスのページに書いてある ^"/root" # Equivalent to get_tree().get_root(). ^"/root/Main" # If your main scene's root node were named "Main". rootはGUIに表示されているシーンのノードの1段上の階層にあってゲームのウィンドウに相当する
774 名前:名前は開発中のものです。 [2024/01/20(土) 11:23:55.84 ID:xSS/e+g+.net] tree→root→シーンの一番上のノード、 といった構造ですよねおそらく treeはシーンツリーのことで、シーン同士の関係図みたいなものだと理解しています 各々のシーンが持つウインドウがルートですね この辺の図とかどこかにありますかね?
775 名前:名前は開発中のものです。 mailto:sage [2024/01/22(月) 11:28:10.04 ID:+KGs8YKc.net] 4のドキュメントがそろうまで1年くらいスクリプトだけでゲーム作ってたけど、 戻って感じたがGodotこんなに快適だったのか 視覚的にスプライトシートから1セル切り出したり、 簡単にカメラや衝突判定が実装できるだけで天国だよ 1ドットの点やテキスト表示するだけでやたら手間がかかる短所など今考えれば些細な問題だわ
776 名前:名前は開発中のものです。 [2024/01/22(月) 17:05:16.43 ID:E8G3DP92.net] シンプルでいいよねunityは操作覚えるだけで大変だった
777 名前:名前は開発中のものです。 mailto:sage [2024/01/22(月) 19:06:35.79 ID:iEOSPRUj.net] そうなんだシンプルなんだよ 今まで商業作品作るわけでもないのに要りもしない膨大な機能を駆使しなきゃ損だと思ってややこしく考えすぎてた ファンタジーコンソール+αぐらいの気持ちで使う方がうまく行く気がする 個人的にはコリジョン系ノードと同じくらいTimerノードが手放せないので 諸々のゲームエンジンに搭載して欲しい
778 名前:名前は開発中のものです。 mailto:sage [2024/01/23(火) 09:50:02.10 ID:Fo55SsA5.net] ある程度制限あるけどフリーでswitch向け出力できるようになるって
779 名前:名前は開発中のものです。 [2024/01/23(火) 10:18:00.93 ID:GewL3mCg.net] しかし、ゲーム完成しない、、、 完成させる力が足りない
780 名前:名前は開発中のものです。 mailto:sage [2024/01/23(火) 11:02:00.53 ID:cjSyBROw.net] ゲームって何だかんだプログラム組むより素材集めがダルいよね イメージと違ったり欲しい物がなかったりすると自作する必要出てくるし
781 名前:名前は開発中のものです。 mailto:sage [2024/01/23(火) 11:31:15.38 ID:qDAbGc4B.net] >>770 ほんとそれ プログラミングは楽しすぎる
782 名前:名前は開発中のものです。 [2024/01/23(火) 11:35:16.29 ID:GewL3mCg.net] 形とか色とか制限してる ブロックだけ、色は黒だけとか あとから差し替えられるし
783 名前:名前は開発中のものです。 [2024/01/23(火) 14:24:46.63 ID:nuTPDLfr.net] エンジニア寄りの人がゲーム作ろうとするとアセットで詰まるんよな プログラム興味ないけど絵描くの好きみたいな人のほうがツクールやノベルツールでどんどんゲーム完成させるっていうね
784 名前:名前は開発中のものです。 [2024/01/23(火) 14:39:07.82 ID:GewL3mCg.net] そうなんか
785 名前:名前は開発中のものです。 [2024/01/23(火) 14:57:51.55 ID:TUdhp1iX.net] ノベルゲーとかツクールのシステムまんまのゲームならUI用意されてるからこだわりなければそのまま使えるけど自分でUI作ろうとするとほぼお手上げ状態 ゲームに合う素材探しもめんどくさいし見やすいUIの組み方もわからない
786 名前:名前は開発中のものです。 [2024/01/23(火) 15:06:36.98 ID:GewL3mCg.net] まあデザイナーの才能ないからすべてオリジナルにする必要ないし、オリキャラだけオリジナルとかね?
787 名前:名前は開発中のものです。 [2024/01/23(火) 15:49:20.27 ID:nuTPDLfr.net] 素材間の絵柄やクオリティに統一感が必要だし 自キャラ、敵キャラ、背景、UI、エフェクト、タイトルロゴetc それらすべてが調和してる必要があるので、既存の素材を使うと調整が大変だよ
788 名前:名前は開発中のものです。 [2024/01/24(水) 06:06:16.67 ID:ePb8v5e+.net] 気分転換としてバックルームのモデリングしてる
789 名前:名前は開発中のものです。 [2024/01/24(水) 06:06:55.19 ID:ePb8v5e+.net] >>777 そうだね ただ完成しないよりはいいと思う
790 名前:名前は開発中のものです。 [2024/01/24(水) 13:06:50.19 ID:ePb8v5e+.net] ゲーム開発っって当初の構想を脱線しないほうがいいよね あれもいい、これもいい となりがち より良いと思えても後回しかな
791 名前:名前は開発中のものです。 mailto:sage [2024/01/24(水) 15:09:37.21 ID:9CQ/w45K.net] ボタンをクリックしたらラベルの文字を変えるって処理はできたのですが 同時に画像を変更する(ノベルゲーのキャラの立ち絵の表情を変える)って 処理はどの辺のチュートリアル読めばできるようになるんでしょうか? シーンを作って呼び出すのがいいのか、スクリプト(今はこっち)でやればいいのかもわかりません
792 名前:名前は開発中のものです。 [2024/01/24(水) 15:25:53.66 ID:ePb8v5e+.net] >>781 シグナルじゃないですか?
793 名前:名前は開発中のものです。 [2024/01/24(水) 18:21:11.04 ID:9CQ/w45K.net] >>782 レスありがとうございます! シグナルっぽいので勉強してみます。
794 名前:名前は開発中のものです。 mailto:sage [2024/01/25(木) 15:23:37.32 ID:77Oz3RL7.net] 中学生頑張ってるな https://booth.pm/ja/items?tags%5B%5D=Godot+Engine
795 名前:名前は開発中のものです。 mailto:sage [2024/01/25(木) 21:16:25.06 ID:kXZori1n.net] Resourceクラスを継承したオリジナルのstatus.tresを作成し、それをベースキャラクターノードの派生ノードに保持させる事で擬似的なコンポーネントパターンのようなものを実現したと思っていました しかしこれらは設計として非常に便利なのですが、保持している変数が同じ値を参照してしまいspankbangます そのせいで別々に実体化した敵キャラが同時に死んだり、同じタイミングでqueue_free() されてしまい困ります これを防ぐにはどうしたら良いのでしょうか……? Resourceを個別に実体化する等はは可能なのでしょうか? どうか教えていただきたいです 簡単な設計としては以下のようなものです stats.tres ∟var hit-point ∟func Damage()→もしhit-pointがゼロになったらHP-is-ZEROをemit ∟signal HP-is-ZERO Enemy.tscn ∟@export var stats:Resource→インスペクタ上でstats.tresをドラッグドロップ ∟func _ready()→ HP-is-ZEROをPopにコネクト ∟func Pop()→自身をqueue_free() 変数のヒットポイントは全てのEnemyインスタンスで共通してしまい、シングルトンを参照したみたいになってしまいます……orz おそらくシグナルも同時に飛ばされている筈……
796 名前:名前は開発中のものです。 mailto:sage [2024/01/25(木) 22:52:46.31 ID:axJhZZr6.net] え?リソースを直接書き換えてるってこと? 定数データとして扱うか、 敵の数分リソース作るかじゃないの
797 名前:名前は開発中のものです。 [2024/01/26(金) 00:59:46.32 ID:d6qv4EnY.net] インスペクターでstatus.tresクリックしてResourceのresource_local_to_sceneにチェックいれてみるとか?
798 名前:名前は開発中のものです。 mailto:sage [2024/01/26(金) 09:31:17.61 ID:pEZdi1Q8.net] >>787 この方法でズバっと解決しました! 助かりますありがとうございます😭 色々な方法を考えていただいた方々にもお礼申し上げます🙇
799 名前:名前は開発中のものです。 [2024/01/26(金) 13:05:50.93 ID:xQgIMHCZ.net] 逆に見た目から作るのもありなのかな? ホワイトボックスだと面白くないものな
800 名前:名前は開発中のものです。 mailto:sage [2024/01/26(金) 17:31:23.00 ID:V6GPPkOR.net] >>784 中学生がこんなの書いてるのか、すごいな・・・ ペーペーだから買ってみようかな
801 名前:名前は開発中のものです。 [2024/01/26(金) 19:17:55.73 ID:4q31+VlN.net] ゲームのルールが思いつかない
802 名前:名前は開発中のものです。 mailto:sage [2024/01/27(土) 03:19:51.12 ID:iAyWuXN8.net] 一般書にない様なニッチな本とか技術書展では結構出てるからBOOTHはマイナー技術関連の漁り場にしてる
803 名前:名前は開発中のものです。 [2024/01/27(土) 06:26:37.52 ID:23WZBn1j.net] 確かに凄いが初心者向けの本でSwitchでゲームが動くってのは誇張表現じゃないかなと思うな こないだ本屋でGodotの解説書が売っているの見たし流れ来てるな
804 名前:名前は開発中のものです。 [2024/01/27(土) 06:39:03.77 ID:JYsp1BmQ.net] clamp関数とかprint関数とか、どの言語にでもあるような基礎的な関数?ってのは、リファレンスにはないのが普通なんですかね?
805 名前:名前は開発中のものです。 [2024/01/27(土) 07:13:19.05 ID:23WZBn1j.net] リファレンスとはどこの何を指して言ってる?ここに書いてあるぞ https://docs.godotengine.org/ja/4.x/index.html ゲームエンジンだから何でも揃っている訳でもないな
806 名前:名前は開発中のものです。 [2024/01/27(土) 09:21:44.25 ID:JYsp1BmQ.net] 低スペには最高のエンジンだね ありがたい >>795 そうです 公式のリファレンスにないかなと
807 名前:名前は開発中のものです。 mailto:sage [2024/01/27(土) 09:37:24.12 ID:JTv+Mbby.net] >>796 https://docs.godotengine.org/ja/4.x/classes/class_@globalscope.html https://docs.godotengine.org/ja/4.x/classes/class_%40gdscript.html
808 名前:名前は開発中のものです。 [2024/01/27(土) 09:51:29.91 ID:23WZBn1j.net] ここに書いてある https://docs.godotengine.org/ja/4.x/classes/class_%40globalscope.html 「はじめに」にはこう書かれている https://docs.godotengine.org/ja/4.x/about/introduction.html#organization-of-the-documentation >クラスリファレンスのドキュメントがエンジンのスクリプトエディター内から直接閲覧できるようになりました。 >すべてのクラス、関数、シグナル等の情報をここで見つけることができます。 [ヘルプを検索]を選べば検索ウインドウが開く ショートカットはF1またはキーワード上でCtrl+Middle
809 名前:名前は開発中のものです。 [2024/01/27(土) 09:53:08.51 ID:23WZBn1j.net] 間違えたMiddleでなくてLeftだ
810 名前:名前は開発中のものです。 [2024/01/27(土) 10:02:27.75 ID:JYsp1BmQ.net] >>797 ありがとう こういうのはエンジン特有の関数でもないって扱いなんですかね
811 名前:名前は開発中のものです。 [2024/01/27(土) 13:26:22.03 ID:wV1JVaXK.net] この手の数学関数とかはどこでも必須なのであるよ
812 名前:名前は開発中のものです。 [2024/01/27(土) 13:51:11.15 ID:JYsp1BmQ.net] ありがとう 頑張って完成させるど クソゲーを
813 名前:名前は開発中のものです。 [2024/01/27(土) 16:39:57.30 ID:JYsp1BmQ.net] godotに戻ってきて良かった 軽いのは正義 開発へのハードルが低くなる
814 名前:名前は開発中のものです。 mailto:sage [2024/01/27(土) 18:57:58.89 ID:iAyWuXN8.net] エディターの構成とかスクリプトとの連携とか全体的にGodotの方が洗練されてるんだよな Unityはデファクトスタンダードでアセット類が多いってだけで作り的には大分とっ散らかってる
815 名前:名前は開発中のものです。 mailto:sage [2024/01/28(日) 00:05:29.05 ID:ikqtEjYO.net] キャラクターボディとスタティックボディの衝突シグナルはどうやれば取れますか? ドキュメントを探してみましたがそれらしいものがリジッドボディしか見つからず困っています
816 名前:名前は開発中のものです。 mailto:sage [2024/01/28(日) 00:31:53.80 ID:gcvmSnRI.net] >>805 シグナルじゃなくてmove_and_なんとかの返り値や関連メソッドで判別する
817 名前:名前は開発中のものです。 mailto:sage [2024/01/28(日) 00:51:02.57 ID:ikqtEjYO.net] >>806 ありがとう 無事見つかりました
818 名前:名前は開発中のものです。 [2024/01/28(日) 02:59:52.94 ID:JWmTbwcH.net] 他ツールでも結局最終的に頼りにしてるのは公式ドキュメントのサンプルコードな自分 個人サイトとかだと参考にはなれど権利とかライセンスがとかめんどくさくてさあ
819 名前:名前は開発中のものです。 [2024/01/28(日) 05:59:32.89 ID:pEcrIiHG.net] get_tree().paused = trueでポーズ画面作ってるんですが、get_tree().paused = falseで戻せないです 入力受付なくなるのでプロセスが止まっているらしいです 入力も受け付けなくなる感じ?
820 名前:名前は開発中のものです。 mailto:sage [2024/01/28(日) 06:15:45.02 ID:TmRS1aaH.net] _process()は止まるけど_input()側で入力受付出来なかったっけ func _input(event): if event.is_action_pressed(入力キー): get_tree().paused = !get_tree().paused
821 名前:名前は開発中のものです。 [2024/01/28(日) 06:22:43.03 ID:pEcrIiHG.net] ありがとうございます ポーズ画面作る場合はpausedを使うのでいいんですかね? extends Node2D # Called when the node enters the scene tree for the first time. func _ready(): get_tree().paused = true # Called every frame. 'delta' is the elapsed time since the previous frame. func _input(event): if Input.is_key_pressed(KEY_A): get_tree().paused = !get_tree().paused print("release") 今試したんですが、インプットでも受け付けないみたいです
822 名前:名前は開発中のものです。 mailto:sage [2024/01/28(日) 06:56:49.98 ID:TmRS1aaH.net] >>811 すまねえこういう事だった ノードのProcessModeがWhenPausedかAlwaysじゃなきゃ_processも_inputも止まると https://docs.godotengine.org/en/stable/tutorials/scripting/pausing_games.html ちゃんと一時停止の例まで載ってた
823 名前:名前は開発中のものです。 [2024/01/28(日) 09:59:31.41 ID:pEcrIiHG.net] >>812 ポーズモードという仕組みあるんすね ありがとうございました リファレンス避けてた自分が悪かたです
824 名前:名前は開発中のものです。 [2024/01/28(日) 12:20:57.94 ID:pEcrIiHG.net] gptくんグーグルより的確すぎる
825 名前:名前は開発中のものです。 [2024/01/28(日) 13:07:14.42 ID:pEcrIiHG.net] func _on_body_entered(body): fail_text.visible = true get_tree().paused = true await(get_tree().create_timer(2).timeout) get_tree().reload_current_scene() get_tree().paused = false 衝突したときにリトライ処理をさせたいのですが、こういうコードの書き方だとシーンがリロードされたあとにbodyenterdが呼ばれるので、エラーになりますよね。 シーンがリロードされる前にポーズモードを戻したら解決ですが、シーンりろーどで単純にbodyenterd関数が破棄されると考えればいいんでしょうか? シーン周りが難しい、、、
826 名前:名前は開発中のものです。 [2024/01/28(日) 17:01:51.13 ID:pEcrIiHG.net] 4.21になってからノード追加するときとか数秒もたつくな
827 名前:名前は開発中のものです。 [2024/01/28(日) 17:51:17.28 ID:pEcrIiHG.net] スクリプトのついていないノードを複数取得して、同じ回転を適用するみたいなことは出来ないかな? これは別シーンで作って呼び出す形でやるのかな?プレファブ的な
828 名前:名前は開発中のものです。 [2024/01/28(日) 22:35:32.81 ID:YtecBqKa.net] Object.get_script でnullが返るノードを処理すればいいけど グループに入れておい一括処理すればいいんでね
829 名前:名前は開発中のものです。 [2024/01/29(月) 05:49:50.26 ID:Egx9C970.net] >>818 ありがとう 多分一般的なやり方じゃないですよね 同じものを使いまわしたいならプレハブ化(シーン)するのが一番ですよね
830 名前:名前は開発中のものです。 [2024/01/29(月) 05:57:27.51 ID:Egx9C970.net] 動きは共通で、大きさだけ変えたいなんて場合は、スクリプトだけ共通にすればいい感じだね 理解
831 名前:名前は開発中のものです。 mailto:sage [2024/01/29(月) 11:11:13.53 ID:rbb+bJBP.net] スクリプトからインスタンス化すると2つ目以降のノード名がへんてこになるからどうやって取得したもんかと思ってたけど グループで行けたわ、なるほどありがとう
832 名前:名前は開発中のものです。 [2024/01/29(月) 16:55:20.19 ID:Egx9C970.net] ゲームエンジンってどれも似たようなもんかな 将来、ユニティに戻るかもしれんし 今は軽さ、手軽さ重視 pcもちょい古いしな(*´ω`*)
833 名前:名前は開発中のものです。 [2024/01/29(月) 19:48:28.24 ID:Egx9C970.net] godotってノードの一時的な無効化って出来ないのかな? 目玉マーク押すと非表示にはなるけど、コリジョンとか残ってるし
834 名前:名前は開発中のものです。 [2024/01/30(火) 02:03:18.66 ID:qihJ4G8z.net] 基本的には似たようなもん 覚えた要素がアップデートで変わるだけで混乱する人も居るので人による
835 名前:名前は開発中のものです。 [2024/01/30(火) 10:12:53.04 ID:94z45r+P.net] >>823 目玉マークは視覚的に消すだけなんだね コリジョンなんかの機能を消すには、プロセスのdisableか >>824 どうも
836 名前:名前は開発中のものです。 [2024/01/30(火) 12:17:23.37 ID:94z45r+P.net] 動く床と壁粘着ってけっこうめんどいな 動く方向が同じだとひっついてトレなくなる
837 名前:名前は開発中のものです。 [2024/02/01(木) 10:46:34.11 ID:d1tWUBD1.net] エラーしたコード書くとウインドウがフリーズするけども、いちいち閉じるのが面倒なんですが、unityのようにエラーがあったらプレイ出来ないような設定にできますかね?
838 名前:名前は開発中のものです。 [2024/02/01(木) 13:03:53.68 ID:RbvII5uE.net] 状況が判らないなエラーコード書いたらハイライト表示されてフリーズはしないが
839 名前:名前は開発中のものです。 [2024/02/01(木) 15:11:31.28 ID:d1tWUBD1.net] 親ノードのスクリプトから子ノードを取得して、子ノード(rigidbody2d)のメソッドを使いたいのですが、この場合はオートコンプリートは出ないものですか?(apply_impulse) 子ノードにスクリプトつけて、そこからなら効くんですが >>828 プレイ画面のことでした エディターのエラーを見て実行しなければいいだけなんですけどもね
840 名前:名前は開発中のものです。 [2024/02/01(木) 15:57:12.68 ID:RbvII5uE.net] ノードをget_nodeで取得していると仮定するとこうかな var node = get_node(path) as RigidBody2D エラーがあっても可能な限り止まらないで動作させるポリシーらしいので 動かす動かさないは利用者に委ねられるのでしょう
841 名前:名前は開発中のものです。 mailto:sage [2024/02/01(木) 19:13:23.54 ID:wFSVR3t/.net] みんなgodotでシコシコどんなゲーム作ってるん? ちなみに俺は何も作ってない
842 名前:名前は開発中のものです。 [2024/02/01(木) 19:51:19.77 ID:d1tWUBD1.net] >>830 その書き方でいけました しかし、readyの中だと出るのにprocessの中だとでません これって正常な仕様なんでしょうか?
843 名前:名前は開発中のものです。 mailto:sage [2024/02/01(木) 20:58:13.75 ID:2YEqIkXl.net] var a : RigidBody2D こうじゃないの ダックタイピングしないときは型は書いた方がいい、可読性が全然違う
844 名前:名前は開発中のものです。 [2024/02/01(木) 21:13:34.80 ID:Fw0MlK/N.net] 短くしたかったので一行に纏めたのが良くなかった 宣言と初期設定と使用が分かれるならこんな感じ _readyの中で型指定しても_processからは見えないから上位で型指定する var node:RigidBody2D func _ready() node = get_node(path) func _process(_delta): node.apply_impulse(impuls)
845 名前:名前は開発中のものです。 [2024/02/01(木) 22:23:33.00 ID:9xF8Tfdc.net] >>831 寒いからやってない ローグライクゲームのダッシュって実装がめんどくさいな
846 名前:名前は開発中のものです。 mailto:sage [2024/02/02(金) 00:02:58.39 ID:csXE6Gch.net] 自分はreadyの中でよそのシーンをインスタンス化しても何故かシーンツリーに登録されないから だんだんready使わなくなったなあ readyは全ノード読み込み済みの最初のアップデートと云うけれど、なんか挙動が掴み切れないというか
847 名前:名前は開発中のものです。 [2024/02/02(金) 01:00:55.38 ID:1cSrS8bV.net] 多分ノードツリーを変更する場合はcall_deferredを挟むのと良いのではないかな?知らんけど
848 名前:名前は開発中のものです。 mailto:sage [2024/02/02(金) 01:57:44.07 ID:csXE6Gch.net] >>837 こんな感じに書き換えたら行けましたぞ ありがとう! func _ready(): node = node_scene.instaniate() get_tree().root.call_deferred("add_child, node) ちなみにルートにぶら下げないで、単に func _ready(): node = node_scene.instaniate() add_child(node) って書いても無事にインスタンス化された ルートの準備okなタイミングがスクリプトより遅いとかそんな感じなのかな
849 名前:名前は開発中のものです。 [2024/02/02(金) 02:19:14.30 ID:1cSrS8bV.net] root配下の全ノードを処理している最中にノードの変更があった場合にどうするのが正しいのか? ノード変更のタイミングによってノードがあったりなかったりすると不安定な挙動になる なので確実に_readyや_process等のノード処理の完了後に動作させる為にcall_deferredを使う add_child(node)で動くのはたまたまな可能性があるのでcall_deferredお勧め
850 名前:名前は開発中のものです。 [2024/02/02(金) 02:27:59.11 ID:1cSrS8bV.net] ソースを見てないので推測だが一般的にツリーノードは再帰処理で回しているはず root直下のノード群は最初に取得済となって後から追加しても無視されると思われる
851 名前:名前は開発中のものです。 [2024/02/02(金) 05:57:16.86 ID:KtCPrk0G.net] >>834 ありがとう 自動型つけってこういうデメリット?があるんですね。自動で取得したノードの型まで取ってくれるわけではないのはなぜなんでしょうか。 あと、型つけ忘れたりありますが、gdscriptで型付け強制出来ますかね
852 名前:名前は開発中のものです。 mailto:sage [2024/02/02(金) 11:21:24.43 ID:HJWQqSOJ.net] >>835 ダッシュって次の曲がり角までスキップ(早回し?)するアレ? ローグライクって周りのマス参照したりターン制御したりダンジョン自動生成したり複雑だよな 俺も作ってみるか
853 名前:名前は開発中のものです。 [2024/02/02(金) 13:26:01.70 ID:1cSrS8bV.net] >>841 ノードの型は実行時に取得するまで判らないので編集時はコードから判断される 型指定は宣言時に自分で行う 宣言時に初期設定も終わらせるなら var rigidbody := get_node(path) as RigidBody2D で宣言時の型指定を省略できる 付け忘れ対策はlintの様な外部ツールを使うしかないと思う 便利機能安全機構が増えるほどプログラムサイズは大きくなり処理は重くなる GodotEngineは軽量な点が魅力なので標準でなくて構わないと自分は思う
854 名前:名前は開発中のものです。 mailto:sage [2024/02/02(金) 13:56:07.61 ID:SAYqJfSZ.net] >>843 調べたらプロジェクト設定 debug/gdscript/warnings/untyped_declaration を errorに設定するとエラーになるっぽい 使うならエディタ設定の型ヒントをオンにしたほうが良さそう 他にも使えそうな警告がいっぱいあった
855 名前:名前は開発中のものです。 [2024/02/02(金) 14:04:57.68 ID:1cSrS8bV.net] エディタの設定だと思ってプロジェクトの方見てなかったありがとう
856 名前:Oは開発中のものです。 [2024/02/02(金) 14:30:28.27 ID:KtCPrk0G.net] >>843 明治してやらないと駄目なんですね そう受け入れます untyped decralationを設定したらそうなりました ありがとう(*´ω`*) unityと併用すること考えたら型付けしといたほうがいいですね
857 名前:名前は開発中のものです。 [2024/02/02(金) 14:41:20.81 ID:KtCPrk0G.net] スクリプトのデフォルトコードって型付けされたものになるもんですか? 自分の環境ではならないです
858 名前:名前は開発中のものです。 mailto:sage [2024/02/02(金) 14:51:05.77 ID:bD7U8OGn.net] ローグライクみたいなコテコテの2DRPGならjs使えるツクールの方が向いてるんじゃないの 作るなとは言わんけどシステム的に要求が多すぎて挫折しがち
859 名前:名前は開発中のものです。 [2024/02/02(金) 15:21:56.69 ID:1cSrS8bV.net] 試しに今触ってるプロジェクト設定のuntyped_declarationを変更してみたが後から変更だと修正キツイ 他のIgnoreになってる設定を有効にすると更にキツイ 自分が使うなら開発開始時にuntyped_declarationを有効にするまでかな >>847 デフォルトコードの意味が解らんのでエスパーするが変数宣言は以下の様な書き方ができる var a #Variant型になる var a = 0 #Variant型になる var a:int = 0 #int型になる var a: = 0 #設定値の型が適用されるつまりint型になる
860 名前:名前は開発中のものです。 mailto:sage [2024/02/02(金) 15:29:23.51 ID:bD7U8OGn.net] 型付けもライフサイクルもドキュメント見りゃ大体丁寧に書いてあるけど皆そんなドキュメント見ないのかな
861 名前:名前は開発中のものです。 mailto:sage [2024/02/02(金) 15:36:21.15 ID:zgD08SYH.net] 他の言語触った事ない(GDが初めて)ならドキュメントの見方読み方もよくわかんないんじゃない
862 名前:名前は開発中のものです。 [2024/02/02(金) 15:42:57.64 ID:1cSrS8bV.net] 自分で調べられる人は質問しないから質問が多く見えるのだと思う
863 名前:名前は開発中のものです。 mailto:sage [2024/02/02(金) 16:00:24.46 ID:Qx6M1fJu.net] あくまで主観だけどGodotのドキュメントは他の言語に比べて大分分かりやすい方だと思う 質問多いのは構わないけど書いてあるのに読まない知らないはドキュメントが勿体ないなと
864 名前:名前は開発中のものです。 [2024/02/02(金) 16:06:24.58 ID:1cSrS8bV.net] Godotのドキュメントは読みやすいし使いやすいと思うが 使いたい関数がリファレンスに無いのかって質問にリファレンスに書いてるって答えても調べてくれないからな 調べ方を書いても反応なかったのでどうしていいか判らんな
865 名前:名前は開発中のものです。 mailto:sage [2024/02/02(金) 16:17:53.99 ID:SAYqJfSZ.net] デフォルトコードうんぬんはエディター設定の型ヒントを追加のやつじゃないかな スクリプトテンプレートにも型が付くようになる
866 名前:名前は開発中のものです。 [2024/02/02(金) 16:28:33.73 ID:1cSrS8bV.net] あーそういうことね完全に理解した
867 名前:名前は開発中のものです。 [2024/02/02(金) 17:38:12.48 ID:KtCPrk0G.net] >>849 スクリプトを新規作成したときに、readyとprocessに自動的に型を指定してほしいなと できれば しかし、gdscriptでも型付けというのはしたほうがいいんでしょうか? そのほうがトラブルは少なそうですが
868 名前:名前は開発中のものです。 [2024/02/02(金) 18:18:56.37 ID:1cSrS8bV.net] >>857 >>844 の >使うならエディタ設定の型ヒントをオンにしたほうが良さそう が答えで[エディタ設定][テキストエディタ][自動補完][型ヒントを追加]でわかるかな? 構文チェックはあればあるほどバグが入り込みにくくはなるけど不便になっていくので 個人や組織で必要に合わせて調整するもの 自分の感覚だとuntyped_declarationと型ヒントを追加を有効にするが実用範囲だけど これだけでもタイプ量と言語知識の要求が増えるのでコーディング難度はあがる
869 名前:名前は開発中のものです。 [2024/02/02(金) 18:40:18.28 ID:KtCPrk0G.net] >>858 どうも、英語情報調べてるだけじゃ分からん情報でありがたい このスレも賑わって嬉しい 1週間程度のそんな大きくないプロジェクトなので、untyped declarationなしで、部分的に型付けを使う方式にしたいと思います 混合しないほうがいいのかもですが
870 名前:名前は開発中のものです。 [2024/02/02(金) 21:32:41.15 ID:KtCPrk0G.net] godoもなんかたまに重いことがあるな 本体とプロジェクトのサイズが小さいだけで、動作の軽快さってのはそんな変わらん?
871 名前:名前は開発中のものです。 [2024/02/02(金) 22:23:34.27 ID:1cSrS8bV.net] GDScriptは他のコンパイル言語と比べて処理速度は遅い 速度が必要な処理はC#やGDExtensionで多言語に処理を投げる がしかし個人製作の場合はこれが問題になる事は少ないだろうと思う プログラムは適当に書いても動くが性能を求めるなら効率の良いコードを書かなければならない プロファイラーを使うか自前コードで計測して遅い部分を把握する https://docs.godotengine.org/ja/4.x/tutorials/scripting/debug/the_profiler.html 適当エスパーしとくと _processの様な頻繁に呼ばれる個所では可能な限りループ処理はしない リソースは動的に呼び出さない参照は最短で最低限にする 高性能なGPUを持ってなく機能も使う必要がないならレンダリング-レンダラーを下位の物に下げると良いかもしれない
872 名前:名前は開発中のものです。 mailto:sage [2024/02/02(金) 22:29:30.47 ID:zgD08SYH.net] 多分エディタの動作の話だと思う
873 名前:名前は開発中のものです。 [2024/02/02(金) 22:38:56.98 ID:1cSrS8bV.net] エディタだと大本の環境依存すぎて難しいな不便だけど自動補完を切るとかかな?
874 名前:名前は開発中のものです。 [2024/02/02(金) 23:26:26.89 ID:1cSrS8bV.net] 環境の話題ついでだけどAndroidでもRaspberryPiでも動くから 重くて不便な環境で嫌気差す可能性もあるが 安上りな教育環境として利用できるかもしれないと思いましたまる
875 名前:名前は開発中のものです。 [2024/02/03(土) 06:30:44.33 ID:AdVKjLlX.net] バージョン4になってから微妙にもたつく様になったと思う unityとエディタの重さ自体は変わらん感じ プロジェクトの小ささはいいけどね
876 名前:名前は開発中のものです。 [2024/02/03(土) 10:56:58.90 ID:AdVKjLlX.net] gptがコードの間違い探してくれるのは助かる 無能だからコードのエラーが解決出来ない
877 名前:名前は開発中のものです。 [2024/02/03(土) 12:41:18.07 ID:nzYZB8x1.net] エディタはUIを詰めれる感じはするね Unityからくると余白の大きさにびっくりする あとアニメ画面が操作メニューと設定同じ位置に表示されてたり(Ver3のがマシ) 日本語表示でFPS隠れてたり
878 名前:名前は開発中のものです。 mailto:sage [2024/02/03(土) 14:51:55.13 ID:xJ6rlQCu.net] 3万円で買った6年前のThinkPadでも余裕で動く 何ならブラウザで30個タブ開いてチュートリアル動画流しながらでもギリ動く
879 名前:名前は開発中のものです。 [2024/02/03(土) 15:24:11.77 ID:AdVKjLlX.net] しかし、軽くてありがてぇ シンプルでありがてぇ unityはメニュー多すぎてパンクする
880 名前:名前は開発中のものです。 [2024/02/03(土) 18:17:19.42 ID:AdVKjLlX.net] staticobdyって当たり判定にはあまり使わない? area2dのほうがそれ用のシグナル多いし すり抜けじゃなくて、衝突はさせたい
881 名前:名前は開発中のものです。 [2024/02/04(日) 12:38:01.58 ID:SE6INxAw.net] self自体に型付けってありますか self.apply_central_force() こうselfをつけると補完が出ないですので、selfに対して型付けが必要なのかも >>870
882 名前:名前は開発中のものです。 [2024/02/04(日) 16:48:41.77 ID:SE6INxAw.net] コリジョンマスクって衝突させるものと、衝突されるものを、双方向に指定しないと挙動がおかしくなるもの? 片方からのみ指定すると挙動がおかしい ただ、単にすり抜けるなら分かるけど、衝突はするという ただ、衝突の結果がおかしい
883 名前:名前は開発中のものです。 mailto:sage [2024/02/05(月) 10:42:11.01 ID:SIExHF/s.net] 衝突判定で使うオブジェクトの違いはここら辺読めば良いんじゃない? 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と同じ)
884 名前:名前は開発中のものです。 mailto:sage [2024/02/05(月) 11:15:04.43 ID:SIExHF/s.net] selfで補完されるものはconstやstatic指定された静的な物でメンバーが出ないのは理由があるのだろう ピリオド押せばメンバーは表示される そうでなければvar _self: = selfと変数宣言して_selfでアクセスすればそれっぽい結果は得られる
885 名前:名前は開発中のものです。 [2024/02/05(月) 13:14:04.42 ID:Xd01vtLL.net] >>854 そういう人はサンプルコードまで提示しないとダメな教えて君タイプでしょう
886 名前:名前は開発中のものです。 [2024/02/05(月) 13:14:53.16 ID:Xd01vtLL.net] >>854 そういう人はサンプルコードまで提示しないとダメな教えて君タイプでしょう
887 名前:名前は開発中のものです。 [2024/02/05(月) 13:18:19.63 ID:Xd01vtLL.net] GDScriptは ほとんどPython でも defではなくfunc 変数も宣言しないと使えない この辺りはゲームエンジンに必要な 処理速度に合わせている
888 名前:名前は開発中のものです。 [2024/02/05(月) 13:22:19.50 ID:Xd01vtLL.net] Godot 2.0の頃から ダウンロードしていたけど Unity炎上の敵失とはいえ 5ch.netで Godotを 議論する 時代が来るとは 驚きです。
889 名前:名前は開発中のものです。 [2024/02/05(月) 14:12:42.41 ID:qsxLl75u.net] >>874 そうしないと出ない理由ってなんでしょうか? selfって付けなくていいものでしょうか、お決まりとして付けていましたが
890 名前:名前は開発中のものです。 [2024/02/05(月) 14:27:58.42 ID:Xd01vtLL.net] >>857 型付けした方が トラブルが少なくなりそうなのと 処理速度の向上が期待できそうだけど 実際のところ どうなんだろう?
891 名前:名前は開発中のものです。 [2024/02/05(月) 14:32:09.55 ID:qsxLl75u.net] 個人制作レベルで速度を気にしなくてもいいかなと、今のところ考えてます まず完成目指さないと自分は
892 名前:名前は開発中のものです。 mailto:sage [2024/02/05(月) 14:39:16.98 ID:SIExHF/s.net] 何故お決まりと思ったのかが疑問だがselfを使う必要はまず無い メンバ変数のsetgetを呼び出すのに使う例と古いconnect関数を使う例くらいしか見かけない ローカルとメンバでやむなく同名使った時くらいしか必要ないと思うしそんな事はしない方が良い
893 名前:名前は開発中のものです。 [2024/02/05(月) 14:42:50.90 ID:Xd01vtLL.net] >>881 完成品を作れないのに いきなり オープンワールドを作りたい、みたいな 初心者が多いよね
894 名前:名前は開発中のものです。 mailto:sage [2024/02/05(月) 14:43:39.91 ID:SIExHF/s.net] いろんな説があると思うが自分はとりあえず動くものを完成させる派だな 最初から完璧目指すと計画変更が発生する事に耐えられなくなる
895 名前:名前は開発中のものです。 [2024/02/05(月) 14:49:50.07 ID:Xd01vtLL.net] >>871 GDScriptのベースの Pythonのselfを 確認してみるといいよ ttps://www.sejuku.net/blog/64106
896 名前:名前は開発中のものです。 [2024/02/05(月) 15:03:53.69 ID:Xd01vtLL.net] >>884 自分も 完璧主義者の エヴァンゲリオンの、碇ゲンドウは ゲーム開発に向かないと思います。 碇ゲンドウはゲーム開発で ストレスを溜めそう け、計画と違うっ!
897 名前:名前は開発中のものです。 [2024/02/05(月) 16:07:52.38 ID:Xd01vtLL.net] >>885 selfは Javaのthisのような 自分自身を参照する感じかな
898 名前:名前は開発中のものです。 [2024/02/05(月) 16:31:24.84 ID:Zfn+o/iC.net] アプリによって「マスク」の意味が 真逆だったりするのが落とし穴というか マスク=見えるよ派 マスク=隠れるよ派
899 名前:名前は開発中のものです。 [2024/02/05(月) 16:39:32.70 ID:qsxLl75u.net] >>885 機能的に意味があるというより、明示的に書いておくといいみたいな話を聞いたことがあります
900 名前:名前は開発中のものです。 mailto:sage [2024/02/05(月) 17:12:14.42 ID:SIExHF/s.net] Pythonにおいてはクラス変数とインスタンス変数の使い分けで使う GDScriptは変数宣言が必要なのでPythonの例は完全には適合しない selfを付けると明示的にメンバ変数と判るくらいのメリット 気になってスタイルガイドを読んでみたがself句の説明はないな https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_styleguide.html 今まできちんと読んでなかったから自分が守ってない事が沢山あるのに気が付けたのは良かった
901 名前:名前は開発中のものです。 mailto:sage [2024/02/05(月) 17:14:13.08 ID:SIExHF/s.net] 不完全だけど日本語のページ https://docs.godotengine.org/ja/4.x/tutorials/scripting/gdscript/gdscript_styleguide.html
902 名前:名前は開発中のものです。 [2024/02/05(月) 17:35:34.23 ID:qsxLl75u.net] godotでテンプレート化って出来ますか? スタート画面、ゴール画面といった使い回せる部分というのはあると思うんです エクステンション化するとなるとC言語必要かもしれないし、だいたいそこまでやらずにテンプレ化する方法あるんでしょうか? >>890 ありがとう あまり気にしないことにする
903 名前:名前は開発中のものです。 mailto:sage [2024/02/05(月) 17:45:30.19 ID:SIExHF/s.net] シーンとスクリプト、他に使っているファイルがあるならそれもコピーすれば動くんじゃない? AssetLibでaddonsにインストールされてるのがそんな感じだから addonsに置かないで自前テンプレート用フォルダ作った方が管理はし易いと思う ついでに言っておくと自前スクリプトでも継承できるから理解できるなら効果的に使える
904 名前:名前は開発中のものです。 [2024/02/05(月) 17:47:21.83 ID:qsxLl75u.net] あー、単純にシーンを使いまわせばいいのか ありがとう
905 名前:名前は開発中のものです。 mailto:sage [2024/02/05(月) 20:49:48.86 ID:NnXojcWk.net] 「新しい継承シーン」という機能もあるにはあるが、あまり素人にはお勧めできないか
906 名前:名前は開発中のものです。 mailto:sage [2024/02/05(月) 21:55:26.36 ID:Zfn+o/iC.net] ユニーク化を忘れてドツボに嵌る未来
907 名前:名前は開発中のものです。 [2024/02/06(火) 05:10:59.93 ID:JvE5m64r.net] ユニーク化?
908 名前:名前は開発中のものです。 [2024/02/06(火) 06:26:02.94 ID:JvE5m64r.net] area2dみたいに衝突シグナルを発生させたいけど、衝突もほしい場合って何を使うんですかね staticbodyだと衝突シグナルがない 重力ゼロにしたrigid使ってみます
909 名前:名前は開発中のものです。 [2024/02/06(火) 09:34:51.74 ID:/IuTkcBn.net] >>898 KinematicBodyダメ?
910 名前:名前は開発中のものです。 [2024/02/06(火) 10:23:39.64 ID:JvE5m64r.net] ありがとう 調べてみたんですがmouse_entered系しかなかったです rigidが衝突したときにシグナル出してほしいなと
911 名前:名前は開発中のものです。 [2024/02/06(火) 11:20:05.65 ID:/IuTkcBn.net] >>900 目的の情報か分からんけど https://2dgames.jp/godot-kinematicbody-is_on_floor-and-one-way-collision/
912 名前:名前は開発中のものです。 [2024/02/06(火) 11:42:29.02 ID:oRasG0kH.net] 【Godot4.x】RigidBody2Dで衝突の検知をする方法 https://2dgames.jp/godot4-riditbody2d-detect-body_entered/ 要点の検索キーワードでヒットするのならこれじゃね?
913 名前:名前は開発中のものです。 mailto:sage [2024/02/06(火) 12:17:36.10 ID:ANH4dfBB.net] スクリプトのコメントで日本語入力すると、漢字が中国語になってるのが気持ち悪いんですけど エディター用の日本語フォントの設定ってどこにありますか?
914 名前:名前は開発中のものです。 [2024/02/06(火) 12:38:24.71 ID:oRasG0kH.net] それが探せないなら開発ツール使えなくない?
915 名前:名前は開発中のものです。 mailto:sage [2024/02/06(火) 12:48:24.96 ID:ANH4dfBB.net] >>904 「コードのフォント」以外のどこにあるのでしょうか?
916 名前:名前は開発中のものです。 [2024/02/06(火) 13:04:19.49 ID:oRasG0kH.net] そこで使いたい日本語フォント指定すれば変わるでしょ
917 名前:名前は開発中のものです。 mailto:sage [2024/02/06(火) 13:26:42.61 ID:wPsMdP87.net] has_method・has_signalって処理重いかな ダックタイピング慣れなくて書きたくなるんだが
918 名前:名前は開発中のものです。 mailto:sage [2024/02/06(火) 19:49:17.06 ID:ANH4dfBB.net] >>906 日本語フォントにするとインデントが狭くなって逆に見づらいし~・・・ と思ったのですが、ふとインデントの調整については調べてなかったと気づいてちょっとググったらすぐ出てきました・・・。 ビヘイビアという馴染みのない単語の項目はうっかり見落としておりました。 メイリオフォントにしてインデント幅とか微調整したらすごく良い感じです。 結局解決できましたので、どうもありがとうございます。 でもほんとにこんなんでエディタ使ってるのはダメだなって反省します・・・
919 名前:名前は開発中のものです。 [2024/02/06(火) 20:08:48.96 ID:oRasG0kH.net] 言っている意味がやっと解ったわ 等幅フォントとかコーディング向けフォントとかでフォント探すと良いよ
920 名前:名前は開発中のものです。 mailto:sage [2024/02/08(木) 01:13:49.66 ID:j9jLRCB1.net] 聞く前に調べる力は付けよう
921 名前:名前は開発中のものです。 mailto:sage [2024/02/08(木) 05:34:54.60 ID:Vhb0pCFt.net] ここで聞くのは調べる内に入らないのかな?
922 名前:名前は開発中のものです。 mailto:sage [2024/02/08(木) 07:15:25.98 ID:/YSSiyRj.net] ricty deminishedとかsource code proとかだね
923 名前:名前は開発中のものです。 mailto:sage [2024/02/08(木) 07:36:58.26 ID:SzEhrq/+.net] source code proは中華フォントで表示されるのでSource Han Code JPの方が良いと思う パックされているから分解する必要はあるけど
924 名前:名前は開発中のものです。 mailto:sage [2024/02/08(木) 12:51:57.41 ID:nTVw6wG1.net] フォントどうしてたっけな〜と思って設定見たが サイズ以外初期のままだったわ 皆わざわざ変えてんのか
925 名前:名前は開発中のものです。 [2024/02/08(木) 13:00:38.24 ID:DA4sH8rT.net] 1週間で作成してるゲーム完成しなかったら仕切り直す? いやまあ完成したけど、クソつまらない物体になる
926 名前:名前は開発中のものです。 mailto:sage [2024/02/08(木) 16:16:49.25 ID:ko5ildpW.net] >>914 反対や直接と書いた時の文字形状が気にならないならデフォで良いんじゃない? 自分は気が付いてなかったからデフォで使ってたが知ってしまうと気になるな
927 名前:名前は開発中のものです。 mailto:sage [2024/02/09(金) 16:46:14.63 ID:uv6SGhPR.net] 立ち絵の表情差分をsprite2Dで用意して素体・目・眉・口・装飾画像を子ノードで作って 変数で合成して呼び出すみたいな事ってこのソフトでできますか? NaninovelのLayered Actorsイメージ
928 名前:名前は開発中のものです。 [2024/02/09(金) 19:58:09.99 ID:v7ISzv0e.net] godotでマグネットは簡単に作れる? 吸着と反発を作りたい
929 名前:名前は開発中のものです。 mailto:sage [2024/02/09(金) 22:05:37.61 ID:WHJ0Y9oI.net] マグネットのような物でよければ簡単 ball.apply_central_force(magnet.position - ball.position) これだと磁力=距離なので適宜修正は必要
930 名前:名前は開発中のものです。 [2024/02/10(土) 10:46:06.88 ID:DpmQLMLS.net] ありがとう 単純にforce系でいいのね パチッという感触を表現するのは難しそうだけど、加速度かなそのへんは
931 名前:名前は開発中のものです。 mailto:sage [2024/02/10(土) 11:37:18.28 ID:EKmsttfr.net] 瞬間的に張り付く速度だとすり抜けを考慮する必要がでてくる 磁性体一つで引き寄せ不要で張り付くだけならRaycastで接触点に移動すればいい なんだったら単純にpositionのコピーでもいい やりたい演出で必要な処理が変わる
932 名前:名前は開発中のものです。 mailto:sage [2024/02/11(日) 23:31:48.45 ID:I7qROjnC.net] https://i.imgur.com/rEFiR4H.mp4 3.5で作りかけてた見下ろし型ゲームをこりゃダメだと思って、使えるキャラ素材は使い回して 敬遠してた4.0に切り替えて2Dアクション作ろうと2か月がかりでようやく基礎がほぼできた…… 崖とか壁にはみ出す影をどうにかしたかったけどクソ面倒で無理なので影は諦めたり、 見下ろし型と全然違うvelocityの制御とかに苦労しまくった 4.0から機能も全然変わってていろいろ困った でもgodotはゲーム制作なんて初めての俺でもかなり分かりやすくてありがたい 22年前に専門学校でC++でテトリス作らされて以来だけど、こんなガンプラ感覚でちゃんとゲーム作れるのすげえ時代だわ
933 名前:名前は開発中のものです。 mailto:sage [2024/02/12(月) 01:28:04.61 ID:0HZpI5l+.net] 凄いね自分なんか頭でっかちで手動かさないからプログラムも動かないw 便利オブジェクト並べたら動くのは確かに楽だけどC++の知識は役に立ちました? GDScriptやクラス概念の理解には役に立ったのではと思うのですけど
934 名前:名前は開発中のものです。 mailto:sage [2024/02/12(月) 02:23:49.78 ID:xmqspZY4.net] 専攻外の授業だったのでC++の知識は全く覚えてなくて、 しいて言えば工業高校でやったフォートランやアセンブラで 四則演算程度の超基礎プログラミングを勉強してた記憶の方が役に立ってる気がするw integer、real(float)、go to~ みたいな 当然オブジェクト指向云々もクラスも具体的には全然わかってないです 結局bool変数でなんとかしてるパーツ
935 名前:ばっかりですし 検索でヒントを探し出す根気とグーグル翻訳がありゃなんとかなります! [] [ここ壊れてます]
936 名前:名前は開発中のものです。 mailto:sage [2024/02/12(月) 02:39:44.13 ID:0HZpI5l+.net] 言語違っても既に言語の基礎は習得してたって事ですね納得しました クラスの理解なんてプロパティに値を設定できてメソッドが呼べれば十分かと 何よりもここまでやると思った所まで作る熱意が続く事が大事だと思います 元気貰えた気がしますありがとう よし明日から頑張ろう
937 名前:名前は開発中のものです。 [2024/02/12(月) 08:28:51.15 ID:7WGC4HdE.net] モデリングの手間が少なくすむ3dゲームのアイデアとかある? なんちゃら通路みたいなループ系はなるほどなと思った
938 名前:名前は開発中のものです。 [2024/02/13(火) 10:03:42.08 ID:j1du3Ri/.net] godotってプリミティブな図形は入ってないんですかね?
939 名前:名前は開発中のものです。 [2024/02/13(火) 10:04:27.34 ID:j1du3Ri/.net] 普通にメッシュインスタンスに入っていた
940 名前:名前は開発中のものです。 [2024/02/13(火) 14:27:00.35 ID:j1du3Ri/.net] ちわす ボール同士が合体する仕組みを作りたいです 例えば、1と2が衝突したら、加算されて3のボールになるという感じです 1と2は消滅します スイカゲーム的な合体を作りたい感じですね このとき、1か2にシグナルを仕込むのですが、両方にシグナル付けずに、片側から判断するんでしょうか?
941 名前:名前は開発中のものです。 mailto:sage [2024/02/13(火) 15:21:43.43 ID:UdYgXfq3.net] 同じもの同士が合体しないのであれば片方からだけでもいいと思う 接触判定やシグナル送り自体は全部やって番号で合体させるかどうか判別させる方が応用は効くかも
942 名前:名前は開発中のものです。 mailto:sage [2024/02/13(火) 19:44:15.20 ID:buz/jqFh.net] ワイも>>930 に同意 とりあえず全部にシグナル仕込んどけば考えなくて済むうえ 仕様変更に強い
943 名前:名前は開発中のものです。 [2024/02/14(水) 05:04:22.29 ID:NM7yugQr.net] どうもです 共通の球体を用意しておいて、そこに共通のスクリプトをつけて、そのベースを元にして1,2,3という球体を作る感じですね 書き方はgptに聞いてみます
944 名前:名前は開発中のものです。 [2024/02/14(水) 06:11:28.55 ID:NM7yugQr.net] ゲームサクサク作れるようになったら楽しいんだろうな
945 名前:名前は開発中のものです。 [2024/02/14(水) 06:21:19.08 ID:NM7yugQr.net] 数字を加算するような仕組みを作る場合は、例えば1から1000まで すべての画像用意するのは大変だから、テキスト系を使うのかな
946 名前:名前は開発中のものです。 [2024/02/14(水) 09:49:47.14 ID:mw6Y9l6K.net] デザイン重視なら数字画像を用意しておいてテキストのように組み合わせる方法もあるから
947 名前:名前は開発中のものです。 [2024/02/14(水) 09:56:56.13 ID:NM7yugQr.net] ありがとう 数字画像はどっかから拾えばいいか 内蔵テキストを背景に組み合わせてもいいやもね
948 名前:名前は開発中のものです。 [2024/02/14(水) 12:15:44.01 ID:NM7yugQr.net] contact monitorの設定めんどいな 設定しないとbody_enteredが効かない うっかり
949 名前:名前は開発中のものです。 mailto:sage [2024/02/14(水) 14:51:33.21 ID:ghvh5+Kq.net] Area2Dの衝突を即座に検知する方法ってないですか? 攻撃判定が食らい判定に重なったらダメージモーションに移行っていう当たり前のやつをやりたいんだが ノードの移動変形が反映されて見た目では完全にパンチ食らってる状態なのに 衝突判定が更新されてなくて棒立ちのまま……っていう瞬間が1フレームだけ生まれてしまう
950 名前:名前は開発中のものです。 [2024/02/14(水) 16:49:25.91 ID:NM7yugQr.net] https://www.gdquest.com/tutorial/godot/best-practices/signals/ ここに書いてることでどうにかなる?
951 名前:名前は開発中のものです。 mailto:sage [2024/02/14(水) 18:33:23.99 ID:ghvh5+Kq.net] >>939 悪いけどどこに解決の糸口があるのか分からんかった すまん
952 名前:名前は開発中のものです。 mailto:sage [2024/02/14(水) 19:19:55.73 ID:Il63QURN.net] >>938 どうやってモーション管理してるかによるのでは ステートマシンで制御したら?
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 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています