https://godotengine.org/
https://www.reddit.com/r/godot/
godotでクソゲー作ろうぜ!!
探検
【軽量】godot engine - part2
■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
2021/04/30(金) 13:03:47.04ID:cptRhreJ343名前は開発中のものです。
2023/05/04(木) 18:40:07.62ID:Rk1rGymi これとか?
https://docs.godotengine.org/en/4.0/tutorials/math/vector_math.html#normalization
後はVector2かVector3のクラスリファレンス見るの良い
https://docs.godotengine.org/en/4.0/classes/class_vector2.html#class-vector2-method-normalized
https://docs.godotengine.org/en/4.0/classes/class_vector3.html#class-vector3-method-normalized
https://docs.godotengine.org/en/4.0/tutorials/math/vector_math.html#normalization
後はVector2かVector3のクラスリファレンス見るの良い
https://docs.godotengine.org/en/4.0/classes/class_vector2.html#class-vector2-method-normalized
https://docs.godotengine.org/en/4.0/classes/class_vector3.html#class-vector3-method-normalized
344名前は開発中のものです。
2023/05/04(木) 19:00:19.89ID:ZcQqa3h2 どもっす
vector2クラスのページにあったんですね
vector2クラスのページにあったんですね
345名前は開発中のものです。
2023/05/06(土) 10:58:54.30ID:0eDCXO8X こんちゃす
kinematicbodyは廃止されて、characterbodyになったんでしょうか
move_and_collideの使い方も微妙に変わってる感じ
kinematicbodyは廃止されて、characterbodyになったんでしょうか
move_and_collideの使い方も微妙に変わってる感じ
346名前は開発中のものです。
2023/05/06(土) 11:04:47.28ID:0eDCXO8X ↑自己解決
347名前は開発中のものです。
2023/05/06(土) 19:53:00.89ID:u8C0K2FB348名前は開発中のものです。
2023/05/06(土) 19:59:21.37ID:0eDCXO8X 質問させてください
https://i.imgur.com/L3oC2wB.jpg
一回、一番上のtreeとrootを取ってから、main_charaノードを取りたいのですが、うまくいきません。
rootが取られてしまいます
これってなぜでしょうか。
ownerを使ってもいいのですが、親シーンにアタッチした子シーンのスクリプトからは、ownerで親シーンのルートは取れません。
https://i.imgur.com/L3oC2wB.jpg
一回、一番上のtreeとrootを取ってから、main_charaノードを取りたいのですが、うまくいきません。
rootが取られてしまいます
これってなぜでしょうか。
ownerを使ってもいいのですが、親シーンにアタッチした子シーンのスクリプトからは、ownerで親シーンのルートは取れません。
349名前は開発中のものです。
2023/05/06(土) 22:49:31.15ID:/PQZt10j350名前は開発中のものです。
2023/05/07(日) 06:06:39.29ID:RnycJYW/351名前は開発中のものです。
2023/05/07(日) 11:05:24.78ID:RnycJYW/ ところで、シーン1にアタッチしたシーン2(敵キャラ)から、シーン1上のノード(主人公)を取得したいのですが、
ノード名で取得しようとするとノード名を変更したときに2箇所変更しないといけないです
@exportを使って、対象となるノードをインスペクタに指定しとけばいいのかなと思うんですが、同じシーンのノードじゃないと指定出来ないんですねこれ。
考えたのは敵キャラ用のスクリプトをシーン1においておくことですかね。
そこに主人公を指定しておく。
ノード名で取得しようとするとノード名を変更したときに2箇所変更しないといけないです
@exportを使って、対象となるノードをインスペクタに指定しとけばいいのかなと思うんですが、同じシーンのノードじゃないと指定出来ないんですねこれ。
考えたのは敵キャラ用のスクリプトをシーン1においておくことですかね。
そこに主人公を指定しておく。
352名前は開発中のものです。
2023/05/09(火) 10:41:51.02ID:jLsa6d4U ↑訂正
シーン1とシーン2があって、シーン2の変数(@exportでインスペクタに表示させる)としてシーン1上のノードを指定したいのですが、それは可能でしょうか
シーン1とシーン2があって、シーン2の変数(@exportでインスペクタに表示させる)としてシーン1上のノードを指定したいのですが、それは可能でしょうか
353名前は開発中のものです。
2023/05/09(火) 15:15:56.58ID:P7zrLMRE メインシーン側で敵シーンをインスタンス化する時にプレイヤーの情報を渡せばいいんじゃない?
@exportで指定したプレイヤーシーンはインスタンス化して使うとなるとメインシーンのプレイヤーとは別オブジェクトになるんじゃないかな
@exportで指定したプレイヤーシーンはインスタンス化して使うとなるとメインシーンのプレイヤーとは別オブジェクトになるんじゃないかな
354名前は開発中のものです。
2023/05/10(水) 06:07:39.73ID:A6GE9ca4 ↑どうも
引数でキャラクターを渡す感じですね
試してみます
unityのプレハブになれてたからこのへんは違うんですね
引数でキャラクターを渡す感じですね
試してみます
unityのプレハブになれてたからこのへんは違うんですね
355名前は開発中のものです。
2023/05/26(金) 11:39:10.22ID:kv9U6X2f ttc フォントファイルはパスを手入力したら使えるんか
356名前は開発中のものです。
2023/06/01(木) 17:50:20.52ID:gjh91IOB 質問
2dでローカル軸方向に動かすにはどうしたらいいのですか?
basisかな
2dでローカル軸方向に動かすにはどうしたらいいのですか?
basisかな
357名前は開発中のものです。
2023/06/01(木) 19:06:49.39ID:gjh91IOB 自己解決すまん
358名前は開発中のものです。
2023/06/01(木) 21:24:55.10ID:iYYCoT1u いいってことよ
359名前は開発中のものです。
2023/06/04(日) 14:08:46.43ID:JAQAnDb3 characterbody2dってコリジョンの検出出来ましたっけ?
重力ありの弾丸(シューティング)を作ってます
出来ないとたら子供にarea2dなどをもたせるんですかね?
>>358
どうもす(´・ω・`)
重力ありの弾丸(シューティング)を作ってます
出来ないとたら子供にarea2dなどをもたせるんですかね?
>>358
どうもす(´・ω・`)
360名前は開発中のものです。
2023/06/05(月) 06:35:39.90ID:CayWpKdl 自己解決
適当にやる
適当にやる
361名前は開発中のものです。
2023/06/06(火) 11:21:43.36ID:GXRlgHOj ちわす
他のシーンのスクリプトを書き換える方法はあるでしょうか?
一度シーンをインスタンス化しないと駄目なように思いますが、元のスーパークラス?を書き換えたい場合もありますね
他のシーンのスクリプトを書き換える方法はあるでしょうか?
一度シーンをインスタンス化しないと駄目なように思いますが、元のスーパークラス?を書き換えたい場合もありますね
362名前は開発中のものです。
2023/06/07(水) 05:35:42.51ID:XqSQOg/f 自己解決 うす
363名前は開発中のものです。
2023/06/09(金) 10:19:55.59ID:rdAYu282 rigidbody3dなんですが、lock rotationの固定軸を1つに限定は出来ないんでしょうか?
すべての軸がロックされますなこれ
すべての軸がロックされますなこれ
364名前は開発中のものです。
2023/06/09(金) 14:51:37.11ID:JvBEnfen HingeJoint3D とかでやるっぽい
https://ask.godotengine.org/6619/3d-rigid-body-locall-axis-lock
https://ask.godotengine.org/6619/3d-rigid-body-locall-axis-lock
365名前は開発中のものです。
2023/06/09(金) 19:55:23.57ID:rdAYu282 kinematicbody2dなんですが、ひし形を地面に落として、地面に転がるように出来ないでしょうか
スクリプトでの下への重力と、物理を両立させるのは難しので出来ないとは思いますが
かといって、rigidbody2dを操作するのは結構シビアで難しい
>>364
どうも
rotation.x = 0としても駄目だったんで
インスペクタにはないみたいですよね
やっぱり3dだと余計に手間掛かる感じはありますね、、、
スクリプトでの下への重力と、物理を両立させるのは難しので出来ないとは思いますが
かといって、rigidbody2dを操作するのは結構シビアで難しい
>>364
どうも
rotation.x = 0としても駄目だったんで
インスペクタにはないみたいですよね
やっぱり3dだと余計に手間掛かる感じはありますね、、、
366名前は開発中のものです。
2023/06/10(土) 07:36:17.90ID:qvm5A2h2 キャラクター自体に物理挙動つけるゲームとか難しすぎてやめたほうがいいかな
367名前は開発中のものです。
2023/06/10(土) 19:15:16.32ID:qvm5A2h2368名前は開発中のものです。
2023/06/12(月) 11:53:14.23ID:w9tVWx8K godotでリジットボデイの大きさを変更する場合、子供であるコリジョンシェイプやスプライトの大きさを変更するんだね
親を変更すれば付随して子供も大きくなるけど、これは機能しないのはなぜ
親を変更すれば付随して子供も大きくなるけど、これは機能しないのはなぜ
369名前は開発中のものです。
2023/06/12(月) 16:37:15.00ID:w9tVWx8K まあそういもんだと納得しとく
370名前は開発中のものです。
2023/06/13(火) 20:22:49.80ID:GRAPIj+k ブレイクポイントというのは関数の途中には設定出来ないのですか?
function process(){
if Input.is_action_just_pressed("ui_accept"){
print("1")
print("2")# ここにブレイクポイント
}
}
function process(){
if Input.is_action_just_pressed("ui_accept"){
print("1")
print("2")# ここにブレイクポイント
}
}
371名前は開発中のものです。
2023/06/14(水) 06:19:01.03ID:xnRIx4uh sorry レディットで聞きます!!
372名前は開発中のものです。
2023/06/21(水) 22:01:55.01ID:vQxPLPF6 インポートスクリプト最高や
373名前は開発中のものです。
2023/06/22(木) 05:20:37.91ID:PXUKbvh2 略してインポスクリプト
374名前は開発中のものです。
2023/07/17(月) 00:43:40.12ID:W3SeyDVH 2点のVector2オブジェクトからRect2オブジェクト作る関数ってないですか
Rect2.new(pos:Vector2, size:Vector2)はあるけど欲しいのはRect2.new(start:Vector2, end:Vector2)なんです
Rect2.new(pos:Vector2, size:Vector2)はあるけど欲しいのはRect2.new(start:Vector2, end:Vector2)なんです
375名前は開発中のものです。
2023/07/17(月) 03:49:12.38ID:v+0D+Biy それくらい自作しろよ…
376名前は開発中のものです。
2023/07/17(月) 16:04:10.47ID:Y32F/n4e Rect2(start,end - start)
377名前は開発中のものです。
2023/07/17(月) 19:52:24.64ID:W3SeyDVH378名前は開発中のものです。
2023/07/17(月) 20:05:21.18ID:W3SeyDVH >>376
startとendは左上/右下とは限らないので作るとしたらこうですかね
var min = Vector2(start.x if start.x<end.x else end.x, start.y if start.y<end.y else end.y)
var max = Vector2(start.x if start.x>end.x else end.x, start.y if start.y>end.y else end.y)
return Rect2(min, max-min)
有益なレス感謝します
startとendは左上/右下とは限らないので作るとしたらこうですかね
var min = Vector2(start.x if start.x<end.x else end.x, start.y if start.y<end.y else end.y)
var max = Vector2(start.x if start.x>end.x else end.x, start.y if start.y>end.y else end.y)
return Rect2(min, max-min)
有益なレス感謝します
379名前は開発中のものです。
2023/07/17(月) 22:45:43.64ID:w/rYn/KM GDScriptというかPythonの三項演算子っぽい記述ってやっぱ慣れないな
380名前は開発中のものです。
2023/07/18(火) 01:19:41.63ID:MxBC4N3N > 有益なレス感謝します
そういうのいいから
そういうのいいから
381名前は開発中のものです。
2023/07/18(火) 03:24:28.85ID:jbQZK8V5382名前は開発中のものです。
2023/07/18(火) 07:18:19.14ID:2BcbAw8A 左上右下にするならRect2.abs()もあるかも
383名前は開発中のものです。
2023/07/19(水) 08:15:32.52ID:A2aTEJBF >>381
何いってんだこいつ
何いってんだこいつ
384名前は開発中のものです。
2023/07/20(木) 00:25:45.58ID:oaZFoKbY 馬鹿には理解出来ない言葉
385名前は開発中のものです。
2023/07/20(木) 00:39:32.14ID:NKKVZX1B たかだか算数の問題もできなくていちいち聞きに来てる奴がなんだって?
386名前は開発中のものです。
2023/07/20(木) 02:24:30.46ID:oaZFoKbY 統失か知らんが算数出来る出来ない如きで喧嘩するなら他でやれ
387名前は開発中のものです。
2023/07/20(木) 02:50:51.97ID:6fnRltb+ 殺伐とするのはウディタスレだけにしてくれ
腐ってもgodotの数少ない日本語コミュニティなんだし算数出来ないなら教えてやるぐらいの余裕持とう
腐ってもgodotの数少ない日本語コミュニティなんだし算数出来ないなら教えてやるぐらいの余裕持とう
388名前は開発中のものです。
2023/07/23(日) 09:19:50.56ID:cBMm3GTk389名前は開発中のものです。
2023/07/23(日) 12:18:08.54ID:uMHf0n2i ここは怖いインターネッツですね
390名前は開発中のものです。
2023/07/24(月) 00:46:29.87ID:pDGOdRAM 何に発狂してんだか
391名前は開発中のものです。
2023/07/24(月) 13:19:16.38ID:jaCBvakL 足し算が出来なくて発狂ってどんな基地外児?
392名前は開発中のものです。
2023/07/29(土) 08:49:02.77ID:4oZkmnGc godot触ってみたけどわからんちん
Gamemakerは何とか使えてたんだけどルールが全然違うんやね
どこから始めたらいいんだこれ
Gamemakerは何とか使えてたんだけどルールが全然違うんやね
どこから始めたらいいんだこれ
393名前は開発中のものです。
2023/07/29(土) 09:44:09.09ID:D/uPJ6es394名前は開発中のものです。
2023/07/29(土) 12:17:18.57ID:4oZkmnGc やっぱ先ずは理解できなくても講座ベタトレースしていくしかないかー
出て間もない4.1基準の講座は少ないね
でも古い講座は使えない知識混ざりそうであんまり見ない方がいい気もする・・
出て間もない4.1基準の講座は少ないね
でも古い講座は使えない知識混ざりそうであんまり見ない方がいい気もする・・
395名前は開発中のものです。
2023/07/29(土) 14:49:06.67ID:8Ahe35zI >>394
4.0でVampire Survivorsクローンの講座は有ったな
4.0でVampire Survivorsクローンの講座は有ったな
396名前は開発中のものです。
2023/07/29(土) 18:23:24.06ID:JSfEwyZy Getting Startedの2Dと3Dを見とけば後はできるでしょ
397名前は開発中のものです。
2023/07/30(日) 12:54:24.08ID:anBTKIS2 完成させる秘訣みたいなものありますかね?
技術が低いのでモック作成までまでも至りません
ハードルを下げまくると面白いとは言えない代物になる
バグとか技術的なつまづきさえも面白くするというのはありだとおもいますが
技術が低いのでモック作成までまでも至りません
ハードルを下げまくると面白いとは言えない代物になる
バグとか技術的なつまづきさえも面白くするというのはありだとおもいますが
398名前は開発中のものです。
2023/07/30(日) 15:41:03.77ID:Wduw4KF5 完成させる秘訣? そんなの簡単だ
完成させる事で金が儲かるようなことをやることだ
それが無いうちは完成までモチベーションが絶対つづかない
完成させる事で金が儲かるようなことをやることだ
それが無いうちは完成までモチベーションが絶対つづかない
399名前は開発中のものです。
2023/07/30(日) 16:32:15.81ID:anBTKIS2 好きなことをやれっていうけど、やっぱ金のほうが強いかね
そもそもそんな好きなジャンルがないし、あったとしても個人で作れないレベルのゲームだし
まあ頑張る
飽きっぽいからunityとgodot両刀でやってく
そもそもそんな好きなジャンルがないし、あったとしても個人で作れないレベルのゲームだし
まあ頑張る
飽きっぽいからunityとgodot両刀でやってく
400名前は開発中のものです。
2023/07/30(日) 18:59:23.24ID:iZ/qN6Rm 最初はとにかくチュートリアル漁って見よう見まねで完成まで作ればいいんじゃね
作ったもん改良して独自性持たせりゃ自分の作品とも言えるだろ
作ったもん改良して独自性持たせりゃ自分の作品とも言えるだろ
401名前は開発中のものです。
2023/07/30(日) 19:28:11.94ID:+d7oupXF 公式のチュートリアル読み込みながら進めてたけど、アイコンを
円運動させるところでもう命令が理解できなかった。
var velocity = Vector2.UP.rotated(rotation) * speed
position += velocity * delta
何でこれで円運動するのか訳が分からん。
オンラインチュートリアルが日本語化されてないから
命令文逆引きしてもチンプンカンプンだわ・・・
円運動させるところでもう命令が理解できなかった。
var velocity = Vector2.UP.rotated(rotation) * speed
position += velocity * delta
何でこれで円運動するのか訳が分からん。
オンラインチュートリアルが日本語化されてないから
命令文逆引きしてもチンプンカンプンだわ・・・
402名前は開発中のものです。
2023/07/30(日) 20:13:45.34ID:anBTKIS2 >>400
モチーフを少し改造する方式にするわ(*´ω`*)
モチーフを少し改造する方式にするわ(*´ω`*)
403名前は開発中のものです。
2023/07/30(日) 20:28:54.78ID:iZ/qN6Rm >>401
Vector2.UPはVector2(0,-1)と同じ、要は画面の↑方向を差すベクトル
他にもVector2.ZERO、Vector2.ONE、Vector2.LEFT、Vector2.RIGHT、Vector2.DOWNがある
rotated()は回転させたVector2を返すメソッド
Vector2.UP.rotated(3.14)は↑方向のベクトルを180度回転させたベクトルになるので、Vector2(0,1)が返ってくる
var velocity = Vector2.UP.rotated(rotation) * speed
の行は、Vector2.UPを基準に、rotation分回転させてspeed分移動するためのベクトルをvelocityに計算してる
Node2Dクラスが持ってるpositionプロパティにVector2を渡せばその座標に移動出来るので、
今の座標にvelocityを足す事で円を描くように移動させられる
deltaは_process()が呼ばれる時に内部で渡されるフレーム間合計時間
_process()は1秒のうちに何回も呼ばれるメソッドなのでdeltaを掛けることで1秒間の移動量を調整してる
こんな感じ?
日本語ドキュメントは3.xですら中途半端だしdeeplでも使って根気よく翻訳するしかないな
Vector2.UPはVector2(0,-1)と同じ、要は画面の↑方向を差すベクトル
他にもVector2.ZERO、Vector2.ONE、Vector2.LEFT、Vector2.RIGHT、Vector2.DOWNがある
rotated()は回転させたVector2を返すメソッド
Vector2.UP.rotated(3.14)は↑方向のベクトルを180度回転させたベクトルになるので、Vector2(0,1)が返ってくる
var velocity = Vector2.UP.rotated(rotation) * speed
の行は、Vector2.UPを基準に、rotation分回転させてspeed分移動するためのベクトルをvelocityに計算してる
Node2Dクラスが持ってるpositionプロパティにVector2を渡せばその座標に移動出来るので、
今の座標にvelocityを足す事で円を描くように移動させられる
deltaは_process()が呼ばれる時に内部で渡されるフレーム間合計時間
_process()は1秒のうちに何回も呼ばれるメソッドなのでdeltaを掛けることで1秒間の移動量を調整してる
こんな感じ?
日本語ドキュメントは3.xですら中途半端だしdeeplでも使って根気よく翻訳するしかないな
404名前は開発中のものです。
2023/07/31(月) 06:42:37.36ID:PqMd5Ecf 完成させるための期限はどのくらいにしてますか?
game aweekだと1週間ですが、自分のスキルにもよるでしょうけども。
game aweekだと1週間ですが、自分のスキルにもよるでしょうけども。
405名前は開発中のものです。
2023/07/31(月) 09:18:39.65ID:PdSwL1C1 >>401
サンプルの "rotation += angular_speed * delta" のコードが
rotationプロパティを通して角速度angular_speedでキャラを回転させ続けて、
変数velocityは上向きベクトルをrotationの向きに回転させ、速度speed分進む方向ベクトルなので
組み合わさるとキャラが角速度angular_speedで向きを回転しながら速度speedで前に進むことになり
その姿を想像してみるとたぶん円軌道になるのかなあと
スイカ割りで目隠ししてぐるぐる回されたあとに進むと真っ直ぐ進んでるように思ってもくるくる回るみたいな…
サンプルの "rotation += angular_speed * delta" のコードが
rotationプロパティを通して角速度angular_speedでキャラを回転させ続けて、
変数velocityは上向きベクトルをrotationの向きに回転させ、速度speed分進む方向ベクトルなので
組み合わさるとキャラが角速度angular_speedで向きを回転しながら速度speedで前に進むことになり
その姿を想像してみるとたぶん円軌道になるのかなあと
スイカ割りで目隠ししてぐるぐる回されたあとに進むと真っ直ぐ進んでるように思ってもくるくる回るみたいな…
406名前は開発中のものです。
2023/07/31(月) 18:30:17.45ID:PqMd5Ecf ゲームの仕様書は変えないことが大事でしょうか
あれもこれもと追加すると延々と終わらないと言いますね、、、
この辺が完成捺せられない理由かも自分
あれもこれもと追加すると延々と終わらないと言いますね、、、
この辺が完成捺せられない理由かも自分
407名前は開発中のものです。
2023/08/01(火) 08:33:05.82ID:AM5QZiOn 最近ワナビースレみないと思ったらGodotスレにいるのか。がんばれ
408名前は開発中のものです。
2023/08/01(火) 11:13:26.95ID:0v6pG1BI うん ゲーム性が思いつかない
409名前は開発中のものです。
2023/08/01(火) 14:43:23.28ID:0v6pG1BI どんな題材であっても面白くこねくり回す能力ってなんていうんだろう
その能力が大事なんだろうな
インスピレーション?
その能力が大事なんだろうな
インスピレーション?
410名前は開発中のものです。
2023/08/01(火) 17:24:38.24ID:EiDnBy7X いつまでウジウジ言ってるんだ
最近やったゲームで面白いと思った物は何だよ
それをパクれ
最近やったゲームで面白いと思った物は何だよ
それをパクれ
411名前は開発中のものです。
2023/08/01(火) 17:37:35.95ID:s9Z/hLC5 >>403
>>405
丁寧な解説ありがとうございます。
解説と照らし合わせながら週末唸りながら朧気ながらに理解していったのが
下記の通りで、間違っているかもしれません。
ソースの全体を貼って無かったので
https://docs.godotengine.org/ja/stable/getting_started/step_by_step/scripting_first_script.html#turning-around
先ず謎なのが、
delta の機能で、ヘルプには「最後のフレームからの経過時間」とあるけれどどゆこと?
類推するに、60fpsで動いてる場合0.0166666を返すって事でいいんかな?
func _process(delta):
は毎フレーム実行される処理「常に実行」という関数って事でいい?
こういう所ヘルプが足りてない気がする。
それともプログラミングする上での常識?だとしたらごめんなさい。
最低限プログラミングの素養が無いとgodot触れないなら諦めます。
次に、
var angular_speed = PI
何でこの変数がPI(3.14)必要なのか?
rotation に入れる値って角度じゃないっぽい・・・と、調べてみると
コードから指定する rotation はラジアン値なんやね。
存在は知っていたけど調べてみたら何とも扱いが面倒な単位・・・
なんでや・・・プロパティでは角度で入れるのにコードから入れる時は
ラジアン値とか混乱するやろっ!
という事でラジアン値とPIを色々調べて相互変換式を見比べて何故PIを
変数に入れたのか、何で
rotation += angular_speed * delta
の式で2フレームで画像が360度(2PI)回るのかが理解できました。
うん中学の頃の授業でやったやった・・・。
>>405
丁寧な解説ありがとうございます。
解説と照らし合わせながら週末唸りながら朧気ながらに理解していったのが
下記の通りで、間違っているかもしれません。
ソースの全体を貼って無かったので
https://docs.godotengine.org/ja/stable/getting_started/step_by_step/scripting_first_script.html#turning-around
先ず謎なのが、
delta の機能で、ヘルプには「最後のフレームからの経過時間」とあるけれどどゆこと?
類推するに、60fpsで動いてる場合0.0166666を返すって事でいいんかな?
func _process(delta):
は毎フレーム実行される処理「常に実行」という関数って事でいい?
こういう所ヘルプが足りてない気がする。
それともプログラミングする上での常識?だとしたらごめんなさい。
最低限プログラミングの素養が無いとgodot触れないなら諦めます。
次に、
var angular_speed = PI
何でこの変数がPI(3.14)必要なのか?
rotation に入れる値って角度じゃないっぽい・・・と、調べてみると
コードから指定する rotation はラジアン値なんやね。
存在は知っていたけど調べてみたら何とも扱いが面倒な単位・・・
なんでや・・・プロパティでは角度で入れるのにコードから入れる時は
ラジアン値とか混乱するやろっ!
という事でラジアン値とPIを色々調べて相互変換式を見比べて何故PIを
変数に入れたのか、何で
rotation += angular_speed * delta
の式で2フレームで画像が360度(2PI)回るのかが理解できました。
うん中学の頃の授業でやったやった・・・。
412名前は開発中のものです。
2023/08/01(火) 17:37:52.12ID:s9Z/hLC5 次が大問題の
var velocity = Vector2.UP.rotated(rotation) * speed
Vector2.UP がレスで教えてもらったので.UPの定数が理解できましたここで基準方向を指定
その方向から続けて記述される.rotated(rotation)角度へ向けて
* speed 分移動させた位置(これが円周運動の半径になる)を velocity に格納
って事でいいんかな?
何で * speed したら「その方向にspeed分移動」になるのか理解できない。
式として理解できないけどそういう命令として受け入れるしかないのか・・
続けての
position += velocity * delta
で現在の位置に velocity に * delta する事で1フレーム分の移動値を position に
加算するという処理にたどり着くのに三日掛かりました。
頭フット―しそうです。
ただ、疑問なのが rotation 値がPI(3.14)の時はノードは180度回転して
下を向いている筈で、その時 velocity は時計で言う6時の位置という事になる筈だけど
円周運動の場合その時のノードの向きは進行方向である左を向いてないといけないと
思うんだけどもこの考え方だと180度(下向き)になるのでは?
感想としては命令文を理解しようと検索してもオンラインヘルプの記述が
異常に難解で苦労しました。
GameMakerのオンラインヘルプは使用例や解説とリンクがとても分かりやすかったので
ヘルプ周りを参考にしてほしいところです。
この先もこの調子だと手に負えないかな・・・
var velocity = Vector2.UP.rotated(rotation) * speed
Vector2.UP がレスで教えてもらったので.UPの定数が理解できましたここで基準方向を指定
その方向から続けて記述される.rotated(rotation)角度へ向けて
* speed 分移動させた位置(これが円周運動の半径になる)を velocity に格納
って事でいいんかな?
何で * speed したら「その方向にspeed分移動」になるのか理解できない。
式として理解できないけどそういう命令として受け入れるしかないのか・・
続けての
position += velocity * delta
で現在の位置に velocity に * delta する事で1フレーム分の移動値を position に
加算するという処理にたどり着くのに三日掛かりました。
頭フット―しそうです。
ただ、疑問なのが rotation 値がPI(3.14)の時はノードは180度回転して
下を向いている筈で、その時 velocity は時計で言う6時の位置という事になる筈だけど
円周運動の場合その時のノードの向きは進行方向である左を向いてないといけないと
思うんだけどもこの考え方だと180度(下向き)になるのでは?
感想としては命令文を理解しようと検索してもオンラインヘルプの記述が
異常に難解で苦労しました。
GameMakerのオンラインヘルプは使用例や解説とリンクがとても分かりやすかったので
ヘルプ周りを参考にしてほしいところです。
この先もこの調子だと手に負えないかな・・・
413名前は開発中のものです。
2023/08/01(火) 19:27:00.91ID:DGAEntxi ラジアンは高校で習うんだよ
三角関数と一緒に使うからね
わからない関数が出たらマニュアルの検索ボックスに突っ込むのが基本
三角関数と一緒に使うからね
わからない関数が出たらマニュアルの検索ボックスに突っ込むのが基本
414名前は開発中のものです。
2023/08/02(水) 02:24:09.38ID:mr3zSq9+ >>411
>60fpsで動いてる場合0.0166666を返すって事でいいんかな?
これは大体あってる。処理が重けりゃfps不安定になるからdeltaも乱高下する
>毎フレーム実行される処理「常に実行」という関数って事でいい?
合ってる。詳しい事はgodot processとかでググればドキュメント出てくるはず
chromeなら右クリ、スマホなら︙から翻訳出来るから英語ページも漁ってみ
因みにupdate関数の概念はUnityとかにも通ずるから基本と言えば基本
πの概念もゲームだとよく出る
座標系、ベクトル、三角関数は避けられない
因みにgodotだとdeg2rad(角度)で弧度に変換出来てrad2deg(弧度)で度数に変換できるよ
>何で * speed したら「その方向にspeed分移動」になるのか理解できない。
要はposition += Vector2.UPとした所でpositionの位置から(0,1)ずつジワジワ動くだけなので、position += Vector2.UP*speedにして沢山動かそうってだけ
矢印で考えたら、掛けた分矢印の長さが倍になるイメージ
(0, 1)*100 = (0*100, 1*100) = (0, 100)ってだけなんだけど、まぁ色々試すなり一旦チュートリアル進るなり場数踏めば意味も理解出来るんじゃね
>この考え方だと180度(下向き)になるのでは?
意味を掬い取れてるか分からんが…考え方は合ってる
もし12時の位置から同じ方法で円を描けば、180°の頃には6時の位置で左向きになる
サンプルでは0°が上向きで9時の位置だから180°の時には下向きで3時の位置になってるけど
ドキュメント周りはまだ発展途上なツールだし多めに見よう
>60fpsで動いてる場合0.0166666を返すって事でいいんかな?
これは大体あってる。処理が重けりゃfps不安定になるからdeltaも乱高下する
>毎フレーム実行される処理「常に実行」という関数って事でいい?
合ってる。詳しい事はgodot processとかでググればドキュメント出てくるはず
chromeなら右クリ、スマホなら︙から翻訳出来るから英語ページも漁ってみ
因みにupdate関数の概念はUnityとかにも通ずるから基本と言えば基本
πの概念もゲームだとよく出る
座標系、ベクトル、三角関数は避けられない
因みにgodotだとdeg2rad(角度)で弧度に変換出来てrad2deg(弧度)で度数に変換できるよ
>何で * speed したら「その方向にspeed分移動」になるのか理解できない。
要はposition += Vector2.UPとした所でpositionの位置から(0,1)ずつジワジワ動くだけなので、position += Vector2.UP*speedにして沢山動かそうってだけ
矢印で考えたら、掛けた分矢印の長さが倍になるイメージ
(0, 1)*100 = (0*100, 1*100) = (0, 100)ってだけなんだけど、まぁ色々試すなり一旦チュートリアル進るなり場数踏めば意味も理解出来るんじゃね
>この考え方だと180度(下向き)になるのでは?
意味を掬い取れてるか分からんが…考え方は合ってる
もし12時の位置から同じ方法で円を描けば、180°の頃には6時の位置で左向きになる
サンプルでは0°が上向きで9時の位置だから180°の時には下向きで3時の位置になってるけど
ドキュメント周りはまだ発展途上なツールだし多めに見よう
415名前は開発中のものです。
2023/08/02(水) 07:52:15.08ID:rnOElBcM416名前は開発中のものです。
2023/08/02(水) 10:12:13.98ID:eAvhDWSg >>414
大体理解があってたみたいで良かった。
サインコサインタンジェントもやたら使うのでちゃんと勉強しておけば良かったと思う
今日この頃。変換関数あるのは楽でいいね。
* speed の意味もその解説で理解できました
Vector2.UP自体がベクトルに1進めるという移動量を持っていたのが理解出来てなかった。
* speed で400倍してるけれど、次の position で位置指定するには大きすぎるので
* delta で0.0166666倍してると・・・ってそれ二度手間やないかい
と思って speed を4にして * delta を消すと二度手間を簡略化出来た!
何でこの二度手間させてるんだろう?
向きの辻褄が合わないのは解説のお陰で理解できました
開始位置が9時方向だったのか(なぜか0時開始で思い込んでた)
そうよね、最初Vector2.UPで上向かせて rotation が3.14*0.0166666だから
ほんの僅か右に傾いた上方向に向かって移動開始だから9時方向からか・・・
理解した瞬間声が出たw
丁寧な解説ありがとうございます。
この調子で少しづつ理解していければ、いいなあ
大体理解があってたみたいで良かった。
サインコサインタンジェントもやたら使うのでちゃんと勉強しておけば良かったと思う
今日この頃。変換関数あるのは楽でいいね。
* speed の意味もその解説で理解できました
Vector2.UP自体がベクトルに1進めるという移動量を持っていたのが理解出来てなかった。
* speed で400倍してるけれど、次の position で位置指定するには大きすぎるので
* delta で0.0166666倍してると・・・ってそれ二度手間やないかい
と思って speed を4にして * delta を消すと二度手間を簡略化出来た!
何でこの二度手間させてるんだろう?
向きの辻褄が合わないのは解説のお陰で理解できました
開始位置が9時方向だったのか(なぜか0時開始で思い込んでた)
そうよね、最初Vector2.UPで上向かせて rotation が3.14*0.0166666だから
ほんの僅か右に傾いた上方向に向かって移動開始だから9時方向からか・・・
理解した瞬間声が出たw
丁寧な解説ありがとうございます。
この調子で少しづつ理解していければ、いいなあ
417名前は開発中のものです。
2023/08/02(水) 10:16:34.71ID:eAvhDWSg418名前は開発中のものです。
2023/08/06(日) 22:33:04.38ID:LKqx5Dzu >>416
あれから他のチュートリアル見てて気が付いた
var velocity = Vector2.UP.rotated(rotation) * speed
この式は方向にスピードを掛けて「速さ」を出してるって意味だったんやね
で、deltaが時間/1fps で
position += velocity * delta
速さ*時間=距離の公式で移動距離をpositionに足し続けて移動を表現してたのか。
なるほど。
ベクトルも内包してるのが公式とは違う所だけど、何でこの掛け算してるのかが理解できた。
あれから他のチュートリアル見てて気が付いた
var velocity = Vector2.UP.rotated(rotation) * speed
この式は方向にスピードを掛けて「速さ」を出してるって意味だったんやね
で、deltaが時間/1fps で
position += velocity * delta
速さ*時間=距離の公式で移動距離をpositionに足し続けて移動を表現してたのか。
なるほど。
ベクトルも内包してるのが公式とは違う所だけど、何でこの掛け算してるのかが理解できた。
419名前は開発中のものです。
2023/08/07(月) 07:10:12.84ID:CYdOl9Io モーション系は_process(delta)よりは本来_physics_processの方が適してる
というか_processを_physics_processの仕様で置換え統合してもよさそうな気もするのだけれども…
定速と可変のギアは使い分けた方がいいってことなのかなこの辺どんな議論になってるのか分からない
というか_processを_physics_processの仕様で置換え統合してもよさそうな気もするのだけれども…
定速と可変のギアは使い分けた方がいいってことなのかなこの辺どんな議論になってるのか分からない
420名前は開発中のものです。
2023/08/13(日) 17:11:06.69ID:7ORbb6tN いまだにゴドットと読む人いるなぁ
スレタイに読み仮名つけたほうがいいかもなぁ
スレタイに読み仮名つけたほうがいいかもなぁ
421名前は開発中のものです。
2023/08/13(日) 17:15:33.95ID:M2cWVVka 後藤
422名前は開発中のものです。
2023/08/13(日) 17:58:08.60ID:PXDE7mSp Tilemapのterrain設定がよく分からん…
ぴぽやのマップチップにパターン設定したいんだが似たような事してるサイト無いかな
ぴぽやのマップチップにパターン設定したいんだが似たような事してるサイト無いかな
423名前は開発中のものです。
2023/08/14(月) 20:17:31.18ID:0S1ggl3s 後藤を待ちながら
424名前は開発中のものです。
2023/08/15(火) 12:35:32.30ID:uvG+L+/p ゴドーだと思ってたけど
ある本を呼んだらゴトーって書いてあった
実際何が正しいの?
ある本を呼んだらゴトーって書いてあった
実際何が正しいの?
425名前は開発中のものです。
2023/08/29(火) 05:48:55.38ID:xT/9ROHH スクリプトのテキストエディターなんですが、どこから変更出来るでしょうか?
uiのテーマではなく
uiのテーマに同調するわけじゃないみたいです
uiのテーマではなく
uiのテーマに同調するわけじゃないみたいです
426名前は開発中のものです。
2023/08/29(火) 06:44:35.03ID:wsShU7ij イギリス ゴドゥ
アメリカ ゴドウ
フランス ゴドォ
日本 ごどっと
アメリカ ゴドウ
フランス ゴドォ
日本 ごどっと
427名前は開発中のものです。
2023/08/29(火) 12:40:49.68ID:ODzXMvhU ゴー・ドット
go! dot!!
これが一番かっこいいんで、こう呼ぼうぜ
go! dot!!
これが一番かっこいいんで、こう呼ぼうぜ
428名前は開発中のものです。
2023/08/30(水) 18:51:35.24ID:B6eTdqFC テキストエディタのカスタム教えてください マジわからん
429名前は開発中のものです。
2023/08/31(木) 10:59:39.10ID:ZRT5xIWQ godot4系はuiのテーマとsyntaxのテーマが一致しなくなってる
なんでやろ
なんでやろ
430名前は開発中のものです。
2023/09/06(水) 18:42:49.17ID:vdpEMd4x gd4だとなんでテクスチャにフィルターかかってるんだろう
431名前は開発中のものです。
2023/09/12(火) 19:01:58.01ID:/Uk6tqjK 4系でパネルをフロートにするとなんかuiがバグる
まだ3にしとくか(*´ω`*)
まだ3にしとくか(*´ω`*)
432名前は開発中のものです。
2023/09/16(土) 18:50:26.08ID:FMbiFJMX Godotを初めて見ようと思うのですが
公式おススメのスクリプトでの実装って、実際問題やりやすいんでしょうか?
元々C#が使えるので、新しいスクリプト言語習得かC#による実装をやるかで迷ってまして……
公式おススメのスクリプトでの実装って、実際問題やりやすいんでしょうか?
元々C#が使えるので、新しいスクリプト言語習得かC#による実装をやるかで迷ってまして……
433名前は開発中のものです。
2023/09/16(土) 18:52:56.26ID:NM1H0Qd3 遣りやすいとかやり難いとか
そんなん個人の技量やん
やりたいならやれ
そんなん個人の技量やん
やりたいならやれ
434名前は開発中のものです。
2023/09/16(土) 21:01:32.38ID:WtsSvaWy Unityの幹部にお級吸えるためGodotに来たよー
起動が爆速でびっくりだな。ファストインプレッション100点
起動が爆速でびっくりだな。ファストインプレッション100点
435名前は開発中のものです。
2023/09/16(土) 21:07:20.84ID:cLm2XTg4437名前は開発中のものです。
2023/09/16(土) 21:57:15.62ID:TKq3s9ST godot4ってまだ安定してませんか?
よくフリーズしたりする
godot3に戻そうかな
よくフリーズしたりする
godot3に戻そうかな
438名前は開発中のものです。
2023/09/16(土) 22:01:38.73ID:TKq3s9ST あと、インデント幅が広すぎて深くなりすぎる場合の対策ありますかね?
font hintingの設定してますが、それでも深いです
font hintingの設定してますが、それでも深いです
439名前は開発中のものです。
2023/09/17(日) 00:00:34.98ID:AuxKJyTx >>432
GDevelopにおいで
GDevelopにおいで
440名前は開発中のものです。
2023/09/17(日) 09:46:04.41ID:uooIxEh3 vscodeユーザーは何入れてるん?
とりあえずgodot-tools入れてみてるけど
とりあえずgodot-tools入れてみてるけど
441名前は開発中のものです。
2023/09/17(日) 10:51:17.66ID:ymIwUk4s Unityから引っ越してきてC#を使って2Dチュートリアルを終えたところです
ノードの参照ってパス直打ち以外にありませんか?
unityで言うところの
[SerializeField]型名変数名で、インスペクターに指定の型を持つシーン内インスタンスやtscnファイルをD&Dする
GetComponent<型名>()で下に指定ノードが1つしかないことを前提にパスを省略するなど
とにかくタイプミスとか親子関係や名前変更などで参照が壊れるのが怖いので、文字列直打ちは避けたいです
ノードの参照ってパス直打ち以外にありませんか?
unityで言うところの
[SerializeField]型名変数名で、インスペクターに指定の型を持つシーン内インスタンスやtscnファイルをD&Dする
GetComponent<型名>()で下に指定ノードが1つしかないことを前提にパスを省略するなど
とにかくタイプミスとか親子関係や名前変更などで参照が壊れるのが怖いので、文字列直打ちは避けたいです
442名前は開発中のものです。
2023/09/17(日) 12:59:34.62ID:3Z38FH5H■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【子ども・子育て支援金】来年4月から徴収、月収50万円なら月600円程度…健保連試算 [蚤の市★]
- 【芸能】田中みな実 年始に実家に泊まらない理由明かす 「終わった感じがしちゃう。早く港区に戻らなきゃみたいな」 [冬月記者★]
- 高市首相告白「『なめられない服』を選ぶことに数時間を費やしました」「外交交渉でマウント取れる服、買わなくてはいかんかもなぁ」★4 [ぐれ★]
- なぜ立花孝志氏の言葉は信じられたのか…"異例の逮捕"が浮き彫りにした「SNSの危険な病理」 ★2 [ぐれ★]
- 【(・(ェ)・)】駆除数17倍、クマ1頭の焼却に灯油100㍑で今季7000㍑以上使用した施設も…処理に追われる自治体 [ぐれ★]
- 「加熱式たばこ」の受動喫煙、「紙巻き」同様の対策強化を検討へ…厚労省の専門委が議論スタート [蚤の市★]
- 【速報】高市早苗、G20サミット”社長出勤” [614650719]
- 【悲報】高校ラグビー、マジで終わる… 強豪校ですら部員集まらず廃部へ この国の若者ってほんとトライしなくなったよな [452836546]
- どうしておっとり系は「レズ感」が強いのか?
- 【📛専】とうふさんすこすこ😊👎スレッド【とうふゲームズ🏡】
- 【速報】高市、今度はロシアに喧嘩を売る [329271814]
- 竹中平蔵氏、万博を批判していた人たちにチクリ「反省の弁聞きたい」 [686538148]
