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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
73
(1): 2024/03/01(金)18:25 ID:jbulu0J9(1/2) AAS
すいません、初心者ですが質問させてください。
数学で言えば、1.7320508のアークタンジェントは約60ですよね?
でも、godotで
print(atan(1.7320508)) と書いても
print(atan2(1.7320508 , 1) と書いても、
1.04719.......と謎の数字を返してきます。
これは何の数字ですか?
省1
74: 2024/03/01(金)18:30 ID:NSS/yx2e(5/5) AAS
>>71
ありがとう
物理なしでやります
案外、脱線しているときにアイディアでたりしますしね(*´ω`*)
75
(1): 2024/03/01(金)18:36 ID:7q9U3fNz(4/5) AAS
戻り値に想定している単位が違うのじゃろ
print(rad_to_deg(atan(1.7320508)))
print(rad_to_deg(atan2(1.7320508, 1)))
76: 2024/03/01(金)18:40 ID:l95YCyF0(1) AAS
>>73
2π(6.28...)が360°のラジアン(弧度法)
77: sage 2024/03/01(金)18:44 ID:jbulu0J9(2/2) AAS
>>75、76
あーラジアンでしたっけ…
もともと数学苦手なうえにもう忘れてました
rad_to_degって組み込み関数があるんですね
覚えておきます
ありがとう
78: 2024/03/01(金)18:47 ID:7q9U3fNz(5/5) AAS
ちょっと回答が投げやりすぎた
座標から角度の変換はVectorクラスに便利メソッドあるからそれ使うと良いよ
print(rad_to_deg(Vector2(1, 1).angle()))
79: 2024/03/02(土)06:26 ID:fHi1iYWZ(1/3) AAS
godotって3dオブジェクトを2dとして扱う機能はないんですよね。
unityのように
80: 2024/03/02(土)11:35 ID:fHi1iYWZ(2/3) AAS
エディタをフローティングにすると画面大きくて使いやすい
今まで気づかなかった(*´ω`*)、、、
81: 2024/03/02(土)11:37 ID:fHi1iYWZ(3/3) AAS
しかし、gptがあるとだいぶ楽だねぇ
godot4には対応してないみたいだけど
82: 2024/03/02(土)19:41 ID:2foM6lQ9(1) AAS
無いわけじゃないけど
自分の知る限りはビューポート使うか3D素材をgodot外で2Dに起こすくらいじゃないか
もっと効率のいい方法があるなら自分が知りたいくらいだ

じゃなきゃ最初から3Dシーンで2.5Dゲーム作るほうが早いだろうな
83: 2024/03/03(日)02:31 ID:EG5KL4S5(1) AAS
Unityは3Dオブジェクトを2Dにしてるんじゃなくて2Dを全部3D空間上に配置してて、2Dのテンプレートも内部的には全部3Dだからそういうことができてるように見せかけてるだけ
84: 2024/03/03(日)04:50 ID:UwGRXxZo(1/3) AAS
あの2d表示が便利だなと思うこともありますよね
3dから2d素材作るために一度画像にレンダリングしないといけないのも手間ですし
85: 2024/03/03(日)04:55 ID:UwGRXxZo(2/3) AAS
スキルもないしコツコツと小さいクソゲー作るしかないね
86: 2024/03/03(日)06:30 ID:UwGRXxZo(3/3) AAS
他人のコードを読む能力がないわ
難しいね 他人のコードは
87
(1): 2024/03/04(月)14:33 ID:Y8uyU2JR(1/4) AAS
質問なんですが、下にあるデバッガーの位置は変更出来ないのでしょうか?
少し邪魔に感じることがあり、フローティング表示にしたいのですが
88
(1): 2024/03/04(月)14:39 ID:MRQbhd4x(1/4) AAS
>>69
コードをコピペして動かしてみた
予測軌道は描けたが実際のRigidBodyの挙動とは同じにならなかったので調整は必要そう
書かれていない初期設定部分で正しく調整されているのかも知れない
物理エンジンは自分の思い通りに動かない事が多くて悩ましい
89: 2024/03/04(月)14:47 ID:MRQbhd4x(2/4) AAS
>>87
フローティングボタンが付いてないのだから出来ないのだろう
現在開いているタブクリックで最小化するので十分ではないのか?
90: 2024/03/04(月)15:15 ID:Y8uyU2JR(2/4) AAS
ありがとう
諦める

実行すると勝手に開いたりするのが煩わしいなと感じて
91: 2024/03/04(月)15:49 ID:MRQbhd4x(3/4) AAS
[エディタ設定][実行][出力][Always Open Output on Play]をfalseにする
変更反映はエディタ再起動後
92: 2024/03/04(月)16:51 ID:Y8uyU2JR(3/4) AAS
ありがとう
93: 2024/03/04(月)18:19 ID:Y8uyU2JR(4/4) AAS
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):
省15
94: 2024/03/04(月)18:58 ID:maXrH/rV(1) AAS
点追加→描画→クリアじゃなくて最初にクリアしてから点を追加する様にすればいいんじゃない?
それかLine2dは使わずdraw_line()で描くとか
95
(1): 2024/03/04(月)21:05 ID:MRQbhd4x(4/4) AAS
ほぼ正解なのに後一考が足りないのが惜しい
clear_points()が何をする命令かを理解し
処理の最後にclear_points()するとどうなるのか考えれば自明だと思うのだがな
96: 2024/03/05(火)05:33 ID:NetOoeu2(1/3) AAS
リファレンス見直してみます ありがとう
消し方の部分ですね
97
(1): 2024/03/05(火)06:35 ID:NetOoeu2(2/3) AAS
godotってaiインテリセンスとかないのですかね?
visual studioのあれは楽すぎてビビった記憶があります
先の先まで先読みしてくれるので
98: 2024/03/05(火)12:37 ID:NetOoeu2(3/3) AAS
>>95
こんなふうに描画関数内の削除ではなく、フレーム内で削除するようにしたらうまくいきました。
どうもコードの流れが分かってないみたいです
外部リンク:imgur.com
図にしてみましたがこれの違いを言語化出来ないでしょうか?

外部リンク:ideone.com
extends Node2D
省16
99
(1): 2024/03/05(火)13:32 ID:LGdF4KOk(1) AAS
図表が何の例なのかが判らないのでそれとは違う話をする
GUIアプリはライフサイクルに従って動作する
Godotの良い例が見つからなかったのでUnityのライフサイクルを元に話を進める
外部リンク[html]:docs.unity3d.com
図中の処理を以下の様に読み替えて欲しい
Awake=_init()
Start=_ready()
省11
100
(1): 2024/03/05(火)14:58 ID:2jT49Fhn(1) AAS
そもそもdraw_to_cursor内に描画処理は入ってない
add_pointは後から_draw()で描画される事になる線を構成する点を追加するというだけ
101
(1): 2024/03/05(火)16:14 ID:WbtfMd0/(1) AAS
>>97
vscode経由でやればできるにはできるけど
gdscriptだと実用レベルのコードはほぼでないよ
102: 2024/03/06(水)06:26 ID:0YKHfOtY(1/5) AAS
>>99
返信遅れてごめんなさい
寝不足でずっと寝てました

>>100
あっそうか、マウスクリック時にしか描画されないという点が問題だったんですね

>>101
unity c#より記述量少ないからなくてもいいかもですね
103: 2024/03/06(水)06:39 ID:xC/Ga180(1) AAS
自分は同じような内容列記するときだけ使ってるかな
APIの使い方が間違ってたり、文法がおかしかったりと普段使いはむしろ邪魔
104: 2024/03/06(水)06:45 ID:0YKHfOtY(2/5) AAS
放物線あと2日くらいで完成させる(*´ω`*)
105
(1): 2024/03/06(水)06:49 ID:0YKHfOtY(3/5) AAS
インテリコードっていう呼び名でしたっけね
106: 2024/03/06(水)17:57 ID:0YKHfOtY(4/5) AAS
is_mouse_button_pressedはありますけど、
マウスにjust pressed系はないんですかな?
107: 2024/03/06(水)18:12 ID:0YKHfOtY(5/5) AAS
あっ、action pressのほうでやるんすね ごめんなさい(*´ω`*)
108: 2024/03/06(水)18:15 ID:mNCkxtfo(1) AAS
そもそもjust pressedはactionにしかない
109
(1): 2024/03/07(木)14:31 ID:pWb+fA4v(1) AAS
>>105
IntelliCodeはGDScriptに対応してないね
VSCodeでGDScriptを書いても無理だわ
110: 2024/03/07(木)15:51 ID:qvtd0tl6(1) AAS
今日仕入れた豆知識
ランダムでtrueかfalseの2択を使いたい時
 var random : bool = randf() > 0.5
この1行でOK
111: 2024/03/08(金)10:20 ID:G13/EPQ6(1) AAS
randiの方が早いよ
112
(1): 2024/03/08(金)15:09 ID:4aurAYnx(1) AAS
速度詰めるなら(randi() & 1) == 1;とか?
113
(1): 軌道予測 2024/03/08(金)19:43 ID:vGL0nvHr(1) AAS
軌道予測の者です
考え方として、予測軌道を描きたい場合、軌道予測用のオブジェクトを一度投げないと、ポイントを取得出来ないのではないでしょうか?
物理を使わない場合、方角と力の値があれば、そこから事前に予測出来るのでしょうか?
方法を思いつかなかったので質問させてください

>>109
ですよね(*´ω`*)
114: 2024/03/08(金)23:32 ID:Eb0+PHr0(1/2) AAS
>>69
>>88の解決法が判った
予想通り初期設定が足りていなかった
RigidBody2Dのcustom_integratorを有効にする事できっちり同じ挙動になった
衝突まで出来たが反射が出来てないので課題は残る
115: 2024/03/08(金)23:52 ID:Eb0+PHr0(2/2) AAS
>>112に補足
速さを求めるなら==は要らない
bool型に代入すると型変換で遅くなるので代入するならint型
var random:int = randi() & 1
しないなら
if randi() & 1:
pass
省1
116
(1): 2024/03/09(土)00:57 ID:TY4JoG/O(1/3) AAS
>>113
>物理を使わない場合、方角と力の値があれば、そこから事前に予測出来るのでしょうか?
できる
予測用のオブジェクトを投げなくても計算で求められるが
RigidBodyがやってくれている計算と同等の処理は必要

ノードツリーにSprite2Dがあるとして以下のコードで右上方向に投げた場合の再現ができる
var d:Vector2 = Vector2(500, -500) #初期運動量
省6
117: 2024/03/09(土)01:59 ID:TY4JoG/O(2/3) AAS
言い回しは運動量dじゃなく速度velocityとした方が良いかな?
118: 軌道予測 2024/03/09(土)06:47 ID:HzeElu7U(1/3) AAS
初速、方向ベクトル、力、時間の4要素がおそらく必要なんですね

運動方程式物理の本買ったんですけど、数学への抵抗感なくなればいいなぁ(*´ω`*)
119: 軌道予測 2024/03/09(土)11:31 ID:HzeElu7U(2/3) AAS
Programmingの理解が遅い人って何が問題なんでしょうか
自分のことですけども

抽象化、というかイメージ化が出来てないのかも
120
(1): 2024/03/09(土)12:48 ID:TY4JoG/O(3/3) AAS
理解できないのは理解できるサイズまで対象を分解できていないから
思い描いているイメージを具体化できてない
抽象的かつ大雑把過ぎるので細かい要素に分割する
分割した要素毎に必要な知識を理解する

Peglinを作りたい→軌道予測線を描きたい
線を描くとは→線分を画面に表示する
軌道予測とは→放物運動の開始から終了までの線分を描くための座標を取得する
省11
121: 軌道予測 2024/03/09(土)18:53 ID:HzeElu7U(3/3) AAS
>>120
1つずつ単体テストみたいなことをやるといいんですかね?
122: 2024/03/10(日)01:50 ID:sSa6etmR(1) AAS
コードを書いた時に単体テストする必要なく動くと言える事
勘違いもあるので単体テストばりに実際に確認が取れると尚良い
それが出来るなら理解したと言えるだろう

例えば線を描くならこうなる
これだけだと線分配列pointsの中身が無く動かないが
あれば動くと自信を持って言える
短いコードで動作条件も少ないので実際に動かしてテストするのも容易だろう
省16
123: 軌道予測 2024/03/10(日)09:50 ID:uoG0dKmX(1) AAS
どうも
必要な要素が把握出来てないのかもですね

線はline2dでやってみます
124: 軌道予測 2024/03/11(月)14:26 ID:CzcLH5L4(1) AAS
gdscriptでは関数入れ子はサポートされてないんですかね?
125: 2024/03/11(月)23:30 ID:ZDvnxGD5(1) AAS
されてる
例としてはこんな感じ
func my_function():
var f = func inner_function(x)->String:
return "inner_function called from %s" % [x]
print(f.call("my_function"))
126: 軌道予測 2024/03/12(火)10:22 ID:6dOLlAtw(1/2) AAS
myfnctionのプロパティー化しないと駄目ということですかね
127: 2024/03/12(火)10:43 ID:Ui38L6jh(1/2) AAS
短いコードなのだから疑問に思ったら自分で試してみれば良いじゃない
var f = func inner_function(x)->String:
return "inner_function called from %s" % [x]
func my_function(name):
print(f.call(name))

公式ドキュメントはこちら
外部リンク[html]:docs.godotengine.org
128: 2024/03/12(火)11:23 ID:Ui38L6jh(2/2) AAS
関数の実体は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):
省1
129: 軌道予測 2024/03/12(火)15:08 ID:6dOLlAtw(2/2) AAS
ありがとう
今すぐ使うわけじゃないんだけど知識として知りたかったんだ
会話に飢えてるのかも
130: 軌道予測 2024/03/15(金)14:19 ID:z+ILEsEI(1/3) AAS
ペイントソフトの筆のように線を描くのは可能でしょうか?
ペイントソフトってよく見ると点を打ってるんですよね

line2dとそれにコリジョンつけるためのsegment shapeあたりで調べてます
131: 軌道予測 2024/03/15(金)14:44 ID:z+ILEsEI(2/3) AAS
あ、描くのはすんなり行けたナリ(*´ω`*)
132: 軌道予測 2024/03/15(金)20:10 ID:z+ILEsEI(3/3) AAS
外部リンク[html]:docs.godotengine.org
segment shapeで太さは指定出来ないっぽい
となると頂点を打って、ぐるっと囲む感じでコリジョンを作るって感じなのね
133
(2): 2024/03/15(金)20:19 ID:v4U5bWGM(1) AAS
カプセルとかの単純形状系でもいけそう
134: 軌道予測 2024/03/16(土)03:54 ID:ECp53ZYt(1/7) AAS
ライン描いてそれをコリジョン化する感じ
unityならアセットでサクッとできるんだけろうけど、godotだとサンプルが少ないナリ
135: 軌道予測 2024/03/16(土)09:40 ID:ECp53ZYt(2/7) AAS
>>133
Q REMASTEREDとか、あれを単純図形でいけるかな?
まあペイントソフトも玉のテクスチャを連続させてるだけだよね
136: 軌道予測 2024/03/16(土)12:06 ID:ECp53ZYt(3/7) AAS
外部リンク:imgur.com
単純図形をフレームごとにadd_childしてるのじゃが、一定間隔でadd_childしたとしてもつながるほど短い間隔になる保証はないのだけど、何か方法はありますかね?
137: 軌道予測 2024/03/16(土)12:16 ID:ECp53ZYt(4/7) AAS
elapseTime+=delta
if elapseTime >= 0.001:
print("hoge")
たとえばelapseTimeでこんなふうにして実行しても、フレーム以上の描画スピードにはならんわけよね(*´ω`*)
138
(1): 2024/03/16(土)13:03 ID:+bq7XejG(1) AAS
2点の線の間を埋めたい時は線形補完を使用する
Vector2にlerp()という線形補完メソッドがある

2点の位置ベクトルaとbが存在する時
for t in range(10):
var p = a.lerp(b, 0.1 * t)
でa-b間を通る位置ベクトルpを10得られる

公式ドキュメント
省1
139: 軌道予測 2024/03/16(土)13:13 ID:ECp53ZYt(5/7) AAS
多分、描いた線をコリジョン化したい場合は、ジオメトリー系を使うみたいです
今から調べます
140: 2024/03/16(土)13:42 ID:33L2QT9a(1) AAS
Qは一定間隔で円なの普通に見てわかるな
>>133でカプセルっつってんだからカプセルか間に長方形挟むでもいいと思うけど直線がダメか
141: 軌道予測 2024/03/16(土)14:03 ID:ECp53ZYt(6/7) AAS
1フレームあたり座標をずらしたものを複数個追加する方法でいけるかもね
142: 軌道予測 2024/03/16(土)17:55 ID:ECp53ZYt(7/7) AAS
↑駄目だった
やっぱりカーソル早く動かすと1フレームあたりの描画量が足りなくて、点々になっちまう(*´ω`*)、、、、
ジオメトリあたり試してみるナリが、godotの場合、線を引いてそれにコリジョンをつけるには何の機能がいいの?
143: 軌道予測 2024/03/18(月)06:18 ID:sBH5kPda(1/4) AAS
line2dにコリジョンつけたいんだけど、方法ある?
segmentshapeで太さ出せるだろうか?
144: 2024/03/18(月)12:34 ID:/glnBgCG(1/3) AAS
SegmentShape2Dで太さは指定できない
厚みを持たせるなら元ネタ同様に球を並べるか二点を通るポリゴンを自分で作る
二点の中点にRectangleShape2Dを置いて傾けるという方法でも可能
145: 2024/03/18(月)13:18 ID:/glnBgCG(2/3) AAS
端の処理を考えたらCaosuleShape2Dの方が綺麗にできる
146: 軌道予測 2024/03/18(月)13:26 ID:sBH5kPda(2/4) AAS
rectangleshape2dだと曲線とか難しそうですね
玉連続の場合、1フレームあたりに複数個追加しないと玉が飛ぶんですが、どういうやり方があるんでしょうか。
147: 2024/03/18(月)13:30 ID:/glnBgCG(3/3) AAS
使える情報は前フレームの座標と現フレームの座標
フレーム間の座標は自分で作るしかない
回答は>>138
148: 軌道予測 2024/03/18(月)13:40 ID:sBH5kPda(3/4) AAS
どうも
玉手法はgptに聞いてみます

線形補間もやってみます
149: 軌道予測 2024/03/18(月)19:15 ID:sBH5kPda(4/4) AAS
こういうときはunityでのやり方を調べると参考になるかもですね
godotだとやはり情報が少ないっす
150: 軌道予測 2024/03/19(火)14:44 ID:D3Qdtv84(1/2) AAS
動画リンク[YouTube]
このゲームのラインって玉の連続と上で教えてもらったんですが、どこを見ると玉ということが分かりますか?
玉であってもコリジョンを曖昧にすればいけそうですね
151: 2024/03/19(火)15:20 ID:n2087dMP(1/2) AAS
引ける線が無制限のつもりならgd_paintみたいなお絵描き機能実装してopaque_to_polygonsの方がいいかも
152: 軌道予測 2024/03/19(火)17:15 ID:D3Qdtv84(2/2) AAS
無制限とはどういうことですか?
色をポリゴン化する機能は知りませんでした
153: 2024/03/19(火)17:55 ID:n2087dMP(2/2) AAS
ドラッグで線を描くとして、線を引いてる間に毎フレーム線や円を追加してるとそのうちオブジェクト数がえらい事になる
1-
あと 849 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.021s