[過去ログ]
【軽量】godot engine【無料】 part3 (1002レス)
【軽量】godot engine【無料】 part3 http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
69: 名前は開発中のものです。 [sage] 2024/03/01(金) 17:44:41.28 ID:WaedCGGn 軌道予測はgodotの物理だと予測用のオブジェクト用意した上で実際に動かして軌跡保存してみたいな手法はあるみたい? https://github.com/godotengine/godot-proposals/issues/2821#issuecomment-1941706422 http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/69
70: 名前は開発中のものです。 [] 2024/03/01(金) 17:47:21.10 ID:NSS/yx2e https://www.sbcr.jp/product/4797376999/ そういえばこれを持っていたけど、このくらいの理解では足りないのかな? この本のあまり理解出来なかったけど http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/70
71: 名前は開発中のものです。 [sage] 2024/03/01(金) 18:08:03.91 ID:7q9U3fNz 知識は多ければ多い方が良い 無駄知識でも間違った情報でもそうだと知っていれば役に立つ事もある その本は題目を見る限りでは有用な情報なので理解できるならその方が良い 内容が難しく理解出来ないならもっと簡単な所から進めるべき 原理を理解できなくても目的通りにエンジンを使えていれば及第点 コードで目的を達成する手段があれば十分 何かあった時に自分で対処する為にそれらの知識が必要 知識が多い方が解決手段を多く選べる http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/71
72: 名前は開発中のものです。 [sage] 2024/03/01(金) 18:16:46.47 ID:7q9U3fNz >>69 move_and_collideを1フレーム中に連続使用するのは思いつかなかった この方法で行けそうな気はするね 自前でやると誤差が気になったのでエンジンに任せられるならその方が良いね http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/72
73: 名前は開発中のものです。 [] 2024/03/01(金) 18:25:11.08 ID:jbulu0J9 すいません、初心者ですが質問させてください。 数学で言えば、1.7320508のアークタンジェントは約60ですよね? でも、godotで print(atan(1.7320508)) と書いても print(atan2(1.7320508 , 1) と書いても、 1.04719.......と謎の数字を返してきます。 これは何の数字ですか? 座標から角度を求めるのってどうやればいいんでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/73
74: 名前は開発中のものです。 [] 2024/03/01(金) 18:30:36.78 ID:NSS/yx2e >>71 ありがとう 物理なしでやります 案外、脱線しているときにアイディアでたりしますしね(*´ω`*) http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/74
75: 名前は開発中のものです。 [sage] 2024/03/01(金) 18:36:19.64 ID:7q9U3fNz 戻り値に想定している単位が違うのじゃろ print(rad_to_deg(atan(1.7320508))) print(rad_to_deg(atan2(1.7320508, 1))) http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/75
76: 名前は開発中のものです。 [sage] 2024/03/01(金) 18:40:34.74 ID:l95YCyF0 >>73 2π(6.28...)が360°のラジアン(弧度法) http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/76
77: sage [] 2024/03/01(金) 18:44:28.99 ID:jbulu0J9 >>75、76 あーラジアンでしたっけ… もともと数学苦手なうえにもう忘れてました rad_to_degって組み込み関数があるんですね 覚えておきます ありがとう http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/77
78: 名前は開発中のものです。 [sage] 2024/03/01(金) 18:47:49.94 ID:7q9U3fNz ちょっと回答が投げやりすぎた 座標から角度の変換はVectorクラスに便利メソッドあるからそれ使うと良いよ print(rad_to_deg(Vector2(1, 1).angle())) http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/78
79: 名前は開発中のものです。 [] 2024/03/02(土) 06:26:20.23 ID:fHi1iYWZ godotって3dオブジェクトを2dとして扱う機能はないんですよね。 unityのように http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/79
80: 名前は開発中のものです。 [] 2024/03/02(土) 11:35:55.96 ID:fHi1iYWZ エディタをフローティングにすると画面大きくて使いやすい 今まで気づかなかった(*´ω`*)、、、 http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/80
81: 名前は開発中のものです。 [] 2024/03/02(土) 11:37:49.45 ID:fHi1iYWZ しかし、gptがあるとだいぶ楽だねぇ godot4には対応してないみたいだけど http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/81
82: 名前は開発中のものです。 [sage] 2024/03/02(土) 19:41:02.09 ID:2foM6lQ9 無いわけじゃないけど 自分の知る限りはビューポート使うか3D素材をgodot外で2Dに起こすくらいじゃないか もっと効率のいい方法があるなら自分が知りたいくらいだ じゃなきゃ最初から3Dシーンで2.5Dゲーム作るほうが早いだろうな http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/82
83: 名前は開発中のものです。 [sage] 2024/03/03(日) 02:31:35.80 ID:EG5KL4S5 Unityは3Dオブジェクトを2Dにしてるんじゃなくて2Dを全部3D空間上に配置してて、2Dのテンプレートも内部的には全部3Dだからそういうことができてるように見せかけてるだけ http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/83
84: 名前は開発中のものです。 [] 2024/03/03(日) 04:50:28.56 ID:UwGRXxZo あの2d表示が便利だなと思うこともありますよね 3dから2d素材作るために一度画像にレンダリングしないといけないのも手間ですし http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/84
85: 名前は開発中のものです。 [] 2024/03/03(日) 04:55:09.45 ID:UwGRXxZo スキルもないしコツコツと小さいクソゲー作るしかないね http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/85
86: 名前は開発中のものです。 [] 2024/03/03(日) 06:30:48.29 ID:UwGRXxZo 他人のコードを読む能力がないわ 難しいね 他人のコードは http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/86
87: 名前は開発中のものです。 [] 2024/03/04(月) 14:33:40.24 ID:Y8uyU2JR 質問なんですが、下にあるデバッガーの位置は変更出来ないのでしょうか? 少し邪魔に感じることがあり、フローティング表示にしたいのですが http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/87
88: 名前は開発中のものです。 [sage] 2024/03/04(月) 14:39:30.96 ID:MRQbhd4x >>69 コードをコピペして動かしてみた 予測軌道は描けたが実際のRigidBodyの挙動とは同じにならなかったので調整は必要そう 書かれていない初期設定部分で正しく調整されているのかも知れない 物理エンジンは自分の思い通りに動かない事が多くて悩ましい http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/88
89: 名前は開発中のものです。 [sage] 2024/03/04(月) 14:47:11.25 ID:MRQbhd4x >>87 フローティングボタンが付いてないのだから出来ないのだろう 現在開いているタブクリックで最小化するので十分ではないのか? http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/89
90: 名前は開発中のものです。 [] 2024/03/04(月) 15:15:45.96 ID:Y8uyU2JR ありがとう 諦める 実行すると勝手に開いたりするのが煩わしいなと感じて http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/90
91: 名前は開発中のものです。 [sage] 2024/03/04(月) 15:49:14.81 ID:MRQbhd4x [エディタ設定][実行][出力][Always Open Output on Play]をfalseにする 変更反映はエディタ再起動後 http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/91
92: 名前は開発中のものです。 [] 2024/03/04(月) 16:51:04.53 ID:Y8uyU2JR ありがとう http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/92
93: 名前は開発中のものです。 [] 2024/03/04(月) 18:19:56.65 ID:Y8uyU2JR extends Node2D var line2d_node:Line2D var mouse_pos func _ready() -> void: line2d_node = get_node("Line2D") func draw_to_cursor(): for i in range(1): # 点を打つ処理 var line_point = self.position line2d_node.add_point(self.position) line2d_node.add_point(mouse_pos) print("draw") line2d_node.clear_points() 連投すみません 数時間やって解決出来なかったので質問させてください 上で放物線の質問をしたものです。 自キャラを起点としてマウス位置にline2dを伸ばしたいのですが、描画されません。 画像のように線を1本だけ描きたい感じです clear_points関数がなければ描画されるので、この部分の処理がまずいのだと思います。 inputでdraw_to_cursorを実行しているので、マウスを動かしたときに処理が走りますが、瞬時に消えてしまうから問題なのだと思います。 しかし、process内でやってもすぐ消えてしまいます(ラインが描画されない)。 sssp://o.5ch.net/22nar.png http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/93
94: 名前は開発中のものです。 [sage] 2024/03/04(月) 18:58:36.71 ID:maXrH/rV 点追加→描画→クリアじゃなくて最初にクリアしてから点を追加する様にすればいいんじゃない? それかLine2dは使わずdraw_line()で描くとか http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/94
95: 名前は開発中のものです。 [sage] 2024/03/04(月) 21:05:07.83 ID:MRQbhd4x ほぼ正解なのに後一考が足りないのが惜しい clear_points()が何をする命令かを理解し 処理の最後にclear_points()するとどうなるのか考えれば自明だと思うのだがな http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/95
96: 名前は開発中のものです。 [] 2024/03/05(火) 05:33:04.51 ID:NetOoeu2 リファレンス見直してみます ありがとう 消し方の部分ですね http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/96
97: 名前は開発中のものです。 [] 2024/03/05(火) 06:35:57.44 ID:NetOoeu2 godotってaiインテリセンスとかないのですかね? visual studioのあれは楽すぎてビビった記憶があります 先の先まで先読みしてくれるので http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/97
98: 名前は開発中のものです。 [] 2024/03/05(火) 12:37:06.97 ID:NetOoeu2 >>95 こんなふうに描画関数内の削除ではなく、フレーム内で削除するようにしたらうまくいきました。 どうもコードの流れが分かってないみたいです https://imgur.com/a/GgVKnGF 図にしてみましたがこれの違いを言語化出来ないでしょうか? https://ideone.com/hZmhwc extends Node2D var line2d_node:Line2D var mouse_pos func _ready() -> void: line2d_node = get_node("Line2D") func _process(delta: float) -> void: mouse_pos = get_global_mouse_position() line2d_node.clear_points() if Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT): draw_to_cursor() func draw_to_cursor(): for i in range(1): # 点を打つ処理 var line_point = self.position line2d_node.add_point(self.position) line2d_node.add_point(mouse_pos) print("描画") http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/98
99: 名前は開発中のものです。 [] 2024/03/05(火) 13:32:23.84 ID:LGdF4KOk 図表が何の例なのかが判らないのでそれとは違う話をする GUIアプリはライフサイクルに従って動作する Godotの良い例が見つからなかったのでUnityのライフサイクルを元に話を進める https://docs.unity3d.com/Manual/ExecutionOrder.html 図中の処理を以下の様に読み替えて欲しい Awake=_init() Start=_ready() FixedUpdate=_physics_process() OnMouseXXX=_input() Update=_process() ここで注視するのは画面描画のタイミングでそれは各種Renderingのステージで行われる Initialization:初期化 Physics:物理演算 Input events:入力反映 Game logic:ゲーム処理 を経て、それらの処理で作られた描画データを元に描画が行われる 描画後は物理演算から繰り返し これはUnityの例なのでGodotにおいては実行順が異なる可能性がある http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/99
100: 名前は開発中のものです。 [sage] 2024/03/05(火) 14:58:24.96 ID:2jT49Fhn そもそもdraw_to_cursor内に描画処理は入ってない add_pointは後から_draw()で描画される事になる線を構成する点を追加するというだけ http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/100
101: 名前は開発中のものです。 [sage] 2024/03/05(火) 16:14:33.95 ID:WbtfMd0/ >>97 vscode経由でやればできるにはできるけど gdscriptだと実用レベルのコードはほぼでないよ http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/101
102: 名前は開発中のものです。 [] 2024/03/06(水) 06:26:28.33 ID:0YKHfOtY >>99 返信遅れてごめんなさい 寝不足でずっと寝てました >>100 あっそうか、マウスクリック時にしか描画されないという点が問題だったんですね >>101 unity c#より記述量少ないからなくてもいいかもですね http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/102
103: 名前は開発中のものです。 [sage] 2024/03/06(水) 06:39:24.06 ID:xC/Ga180 自分は同じような内容列記するときだけ使ってるかな APIの使い方が間違ってたり、文法がおかしかったりと普段使いはむしろ邪魔 http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/103
104: 名前は開発中のものです。 [] 2024/03/06(水) 06:45:51.37 ID:0YKHfOtY 放物線あと2日くらいで完成させる(*´ω`*) http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/104
105: 名前は開発中のものです。 [] 2024/03/06(水) 06:49:31.06 ID:0YKHfOtY インテリコードっていう呼び名でしたっけね http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/105
106: 名前は開発中のものです。 [] 2024/03/06(水) 17:57:53.24 ID:0YKHfOtY is_mouse_button_pressedはありますけど、 マウスにjust pressed系はないんですかな? http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/106
107: 名前は開発中のものです。 [] 2024/03/06(水) 18:12:02.85 ID:0YKHfOtY あっ、action pressのほうでやるんすね ごめんなさい(*´ω`*) http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/107
108: 名前は開発中のものです。 [sage] 2024/03/06(水) 18:15:22.40 ID:mNCkxtfo そもそもjust pressedはactionにしかない http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/108
109: 名前は開発中のものです。 [] 2024/03/07(木) 14:31:20.08 ID:pWb+fA4v >>105 IntelliCodeはGDScriptに対応してないね VSCodeでGDScriptを書いても無理だわ http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/109
110: 名前は開発中のものです。 [sage] 2024/03/07(木) 15:51:23.86 ID:qvtd0tl6 今日仕入れた豆知識 ランダムでtrueかfalseの2択を使いたい時 var random : bool = randf() > 0.5 この1行でOK http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/110
111: 名前は開発中のものです。 [] 2024/03/08(金) 10:20:06.16 ID:G13/EPQ6 randiの方が早いよ http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/111
112: 名前は開発中のものです。 [sage] 2024/03/08(金) 15:09:31.48 ID:4aurAYnx 速度詰めるなら(randi() & 1) == 1;とか? http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/112
113: 軌道予測 [] 2024/03/08(金) 19:43:07.94 ID:vGL0nvHr 軌道予測の者です 考え方として、予測軌道を描きたい場合、軌道予測用のオブジェクトを一度投げないと、ポイントを取得出来ないのではないでしょうか? 物理を使わない場合、方角と力の値があれば、そこから事前に予測出来るのでしょうか? 方法を思いつかなかったので質問させてください >>109 ですよね(*´ω`*) http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/113
114: 名前は開発中のものです。 [sage] 2024/03/08(金) 23:32:43.87 ID:Eb0+PHr0 >>69 >>88の解決法が判った 予想通り初期設定が足りていなかった RigidBody2Dのcustom_integratorを有効にする事できっちり同じ挙動になった 衝突まで出来たが反射が出来てないので課題は残る http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/114
115: 名前は開発中のものです。 [sage] 2024/03/08(金) 23:52:05.37 ID:Eb0+PHr0 >>112に補足 速さを求めるなら==は要らない bool型に代入すると型変換で遅くなるので代入するならint型 var random:int = randi() & 1 しないなら if randi() & 1: pass だけどゲームで使う分には誤差だから判りやすい記述が良いと思う http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/115
116: 名前は開発中のものです。 [sage] 2024/03/09(土) 00:57:45.63 ID:TY4JoG/O >>113 >物理を使わない場合、方角と力の値があれば、そこから事前に予測出来るのでしょうか? できる 予測用のオブジェクトを投げなくても計算で求められるが RigidBodyがやってくれている計算と同等の処理は必要 ノードツリーにSprite2Dがあるとして以下のコードで右上方向に投げた場合の再現ができる var d:Vector2 = Vector2(500, -500) #初期運動量 func _physics_process(delta: float) -> void: d += Vector2(0, 980.0 * delta) #運動量に経過時間分の重力加速度を加算 $Sprite2D.position += d * delta #座標に経過時間分の運動量を加算 リアルタイム制のゲームは座標計算→描画を繰り返し行うのが基本 前回の座標計算からの経過時間を元に計算を行う 概ね運動量に経過時間を掛ける事で求められる http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/116
117: 名前は開発中のものです。 [sage] 2024/03/09(土) 01:59:11.51 ID:TY4JoG/O 言い回しは運動量dじゃなく速度velocityとした方が良いかな? http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/117
118: 軌道予測 [] 2024/03/09(土) 06:47:06.36 ID:HzeElu7U 初速、方向ベクトル、力、時間の4要素がおそらく必要なんですね 運動方程式物理の本買ったんですけど、数学への抵抗感なくなればいいなぁ(*´ω`*) http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/118
119: 軌道予測 [] 2024/03/09(土) 11:31:15.25 ID:HzeElu7U Programmingの理解が遅い人って何が問題なんでしょうか 自分のことですけども 抽象化、というかイメージ化が出来てないのかも http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/119
120: 名前は開発中のものです。 [sage] 2024/03/09(土) 12:48:53.19 ID:TY4JoG/O 理解できないのは理解できるサイズまで対象を分解できていないから 思い描いているイメージを具体化できてない 抽象的かつ大雑把過ぎるので細かい要素に分割する 分割した要素毎に必要な知識を理解する Peglinを作りたい→軌道予測線を描きたい 線を描くとは→線分を画面に表示する 軌道予測とは→放物運動の開始から終了までの線分を描くための座標を取得する 放物運動とは→等速運動と自由落下する運動 座標の取得とは→放物運動の計算式から得られる 放物運動の計算式とは→(a)物理エンジンから取得するか(b)自前で自前で計算するかの二択 (a)物理エンジンで取得する→RigidBodyを実際に投げた結果から座標を取得する 実際に投げるには→他に影響を与えずに投げた結果を得るには特殊な手法が必要 特殊な手法とは→>>69が提示 (b)自前で計算する→放物運動の計算式を作る 計算式を作る→線分を描くために時間経過毎の座標を取得する→>>116で提示 要素を分解するとこんなもんか? 放物運動の計算は複雑な計算式は不要で時間経過毎に等加速と自由落下を加算するだけ 判らないなら判る所まで分解して考える http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/120
121: 軌道予測 [] 2024/03/09(土) 18:53:53.21 ID:HzeElu7U >>120 1つずつ単体テストみたいなことをやるといいんですかね? http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/121
122: 名前は開発中のものです。 [sage] 2024/03/10(日) 01:50:55.82 ID:sSa6etmR コードを書いた時に単体テストする必要なく動くと言える事 勘違いもあるので単体テストばりに実際に確認が取れると尚良い それが出来るなら理解したと言えるだろう 例えば線を描くならこうなる これだけだと線分配列pointsの中身が無く動かないが あれば動くと自信を持って言える 短いコードで動作条件も少ないので実際に動かしてテストするのも容易だろう var points:Array $Line2D.clear_points() for point in points: $Line2D.add_point(point) 分解した個々の要素が理解できたら次の課題は 目的の機能を実現する為に個々の要素を合成する事に変わる 下位工程の知識が曖昧なまま作業を進めるとやり直しが発生し効率が落ちる 余談になるが線を描く方法はdraw_line()を使う方法もある CanvasItemクラスの継承が条件でLine2Dの様な子ノードが不要 但し描画処理は_draw()で行う必要がある func _draw() -> void: for idx in range(points.size() - 1): draw_line(points[idx], points[idx + 1], Color.RED, 4) 手法それぞれメリットデメリットが存在するので目的に合わせて選択する 知識が多い方が問題解決方法を多く選択できるので何かと有利に働く 慣れない間は混乱の元にもなるので一つ一つ知識固めをする事を勧める http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/122
123: 軌道予測 [] 2024/03/10(日) 09:50:48.90 ID:uoG0dKmX どうも 必要な要素が把握出来てないのかもですね 線はline2dでやってみます http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/123
124: 軌道予測 [] 2024/03/11(月) 14:26:20.28 ID:CzcLH5L4 gdscriptでは関数入れ子はサポートされてないんですかね? http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/124
125: 名前は開発中のものです。 [sage] 2024/03/11(月) 23:30:22.40 ID:ZDvnxGD5 されてる 例としてはこんな感じ func my_function(): var f = func inner_function(x)->String: return "inner_function called from %s" % [x] print(f.call("my_function")) http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/125
126: 軌道予測 [] 2024/03/12(火) 10:22:31.68 ID:6dOLlAtw myfnctionのプロパティー化しないと駄目ということですかね http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/126
127: 名前は開発中のものです。 [sage] 2024/03/12(火) 10:43:32.43 ID:Ui38L6jh 短いコードなのだから疑問に思ったら自分で試してみれば良いじゃない var f = func inner_function(x)->String: return "inner_function called from %s" % [x] func my_function(name): print(f.call(name)) 公式ドキュメントはこちら https://docs.godotengine.org/ja/4.x/classes/class_callable.html http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/127
128: 名前は開発中のものです。 [sage] 2024/03/12(火) 11:23:29.64 ID:Ui38L6jh 関数の実体はCallableクラスで変数fに代入しなくても扱えるし引数で渡す事もできる 関数でもループでもifブロックでもネストが増えれば難読化するので不用意には使わない func _ready(): my_function(external_func) func external_func(name:String): return "external_func called from %s" % [name] func my_function(ext_func:Callable): print(ext_func.call("my_function")) http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/128
129: 軌道予測 [] 2024/03/12(火) 15:08:54.31 ID:6dOLlAtw ありがとう 今すぐ使うわけじゃないんだけど知識として知りたかったんだ 会話に飢えてるのかも http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/129
130: 軌道予測 [] 2024/03/15(金) 14:19:26.75 ID:z+ILEsEI ペイントソフトの筆のように線を描くのは可能でしょうか? ペイントソフトってよく見ると点を打ってるんですよね line2dとそれにコリジョンつけるためのsegment shapeあたりで調べてます http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/130
131: 軌道予測 [] 2024/03/15(金) 14:44:55.65 ID:z+ILEsEI あ、描くのはすんなり行けたナリ(*´ω`*) http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/131
132: 軌道予測 [] 2024/03/15(金) 20:10:53.69 ID:z+ILEsEI https://docs.godotengine.org/ja/4.x/classes/class_segmentshape2d.html segment shapeで太さは指定出来ないっぽい となると頂点を打って、ぐるっと囲む感じでコリジョンを作るって感じなのね http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/132
133: 名前は開発中のものです。 [sage] 2024/03/15(金) 20:19:43.83 ID:v4U5bWGM カプセルとかの単純形状系でもいけそう http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/133
134: 軌道予測 [] 2024/03/16(土) 03:54:55.34 ID:ECp53ZYt ライン描いてそれをコリジョン化する感じ unityならアセットでサクッとできるんだけろうけど、godotだとサンプルが少ないナリ http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/134
135: 軌道予測 [] 2024/03/16(土) 09:40:56.08 ID:ECp53ZYt >>133 Q REMASTEREDとか、あれを単純図形でいけるかな? まあペイントソフトも玉のテクスチャを連続させてるだけだよね http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/135
136: 軌道予測 [] 2024/03/16(土) 12:06:33.95 ID:ECp53ZYt https://imgur.com/a/KTYggOG 単純図形をフレームごとにadd_childしてるのじゃが、一定間隔でadd_childしたとしてもつながるほど短い間隔になる保証はないのだけど、何か方法はありますかね? http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/136
137: 軌道予測 [] 2024/03/16(土) 12:16:39.25 ID:ECp53ZYt elapseTime+=delta if elapseTime >= 0.001: print("hoge") たとえばelapseTimeでこんなふうにして実行しても、フレーム以上の描画スピードにはならんわけよね(*´ω`*) http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/137
138: 名前は開発中のものです。 [sage] 2024/03/16(土) 13:03:45.25 ID:+bq7XejG 2点の線の間を埋めたい時は線形補完を使用する Vector2にlerp()という線形補完メソッドがある 2点の位置ベクトルaとbが存在する時 for t in range(10): var p = a.lerp(b, 0.1 * t) でa-b間を通る位置ベクトルpを10得られる 公式ドキュメント https://docs.godotengine.org/ja/4.x/tutorials/math/interpolation.html http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/138
139: 軌道予測 [] 2024/03/16(土) 13:13:32.53 ID:ECp53ZYt 多分、描いた線をコリジョン化したい場合は、ジオメトリー系を使うみたいです 今から調べます http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/139
140: 名前は開発中のものです。 [sage] 2024/03/16(土) 13:42:11.02 ID:33L2QT9a Qは一定間隔で円なの普通に見てわかるな >>133でカプセルっつってんだからカプセルか間に長方形挟むでもいいと思うけど直線がダメか http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/140
141: 軌道予測 [] 2024/03/16(土) 14:03:51.94 ID:ECp53ZYt 1フレームあたり座標をずらしたものを複数個追加する方法でいけるかもね http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/141
142: 軌道予測 [] 2024/03/16(土) 17:55:12.95 ID:ECp53ZYt ↑駄目だった やっぱりカーソル早く動かすと1フレームあたりの描画量が足りなくて、点々になっちまう(*´ω`*)、、、、 ジオメトリあたり試してみるナリが、godotの場合、線を引いてそれにコリジョンをつけるには何の機能がいいの? http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/142
143: 軌道予測 [] 2024/03/18(月) 06:18:37.02 ID:sBH5kPda line2dにコリジョンつけたいんだけど、方法ある? segmentshapeで太さ出せるだろうか? http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/143
144: 名前は開発中のものです。 [sage] 2024/03/18(月) 12:34:34.92 ID:/glnBgCG SegmentShape2Dで太さは指定できない 厚みを持たせるなら元ネタ同様に球を並べるか二点を通るポリゴンを自分で作る 二点の中点にRectangleShape2Dを置いて傾けるという方法でも可能 http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/144
145: 名前は開発中のものです。 [sage] 2024/03/18(月) 13:18:28.54 ID:/glnBgCG 端の処理を考えたらCaosuleShape2Dの方が綺麗にできる http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/145
146: 軌道予測 [] 2024/03/18(月) 13:26:05.86 ID:sBH5kPda rectangleshape2dだと曲線とか難しそうですね 玉連続の場合、1フレームあたりに複数個追加しないと玉が飛ぶんですが、どういうやり方があるんでしょうか。 http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/146
147: 名前は開発中のものです。 [sage] 2024/03/18(月) 13:30:42.80 ID:/glnBgCG 使える情報は前フレームの座標と現フレームの座標 フレーム間の座標は自分で作るしかない 回答は>>138 http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/147
148: 軌道予測 [] 2024/03/18(月) 13:40:45.88 ID:sBH5kPda どうも 玉手法はgptに聞いてみます 線形補間もやってみます http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/148
149: 軌道予測 [] 2024/03/18(月) 19:15:29.31 ID:sBH5kPda こういうときはunityでのやり方を調べると参考になるかもですね godotだとやはり情報が少ないっす http://mevius.5ch.net/test/read.cgi/gamedev/1708131114/149
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 853 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.015s