[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/22 01:54 / Filesize : 255 KB / Number-of Response : 1015
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【軽量】godot engine - part2



1 名前:名前は開発中のものです。 [2021/04/30(金) 13:03:47.04 ID:cptRhreJ.net]
https://godotengine.org/
https://www.reddit.com/r/godot/

godotでクソゲー作ろうぜ!!

325 名前:名前は開発中のものです。 mailto:sage [2023/03/07(火) 17:16:22.04 ID:1iY7lsGn.net]
現状、4.0の2D系は色々と不足してて不満が多いみたいね(特にドット系)

4.1で多くの問題は解決される予定だから長い目で見ればメリットは十分あるよ
それも来年くらいの話になりそうだけど

326 名前:名前は開発中のものです。 mailto:sage [2023/03/07(火) 18:03:51.11 ID:OJB8Hm7j.net]
そっか
やっぱとりあえずは3でいいかな
乗り換えの時のために情報だけ何となく拾っとくくらいでいくわ

327 名前:名前は開発中のものです。 mailto:sage [2023/03/07(火) 21:00:20.85 ID:j3axOKFu.net]
https://www.reddit.com/r/godot/comments/11iixgj/psa_godot_4_has_many_issues_with_pixel_perfect/
4.0ピクセルパーフェクトにできない問題これか
直すのはかなり大変みたいだな
俺もまだ3.5でいいか

328 名前:名前は開発中のものです。 [2023/03/14(火) 17:51:36.50 ID:miZ3euEs.net]
3.5の時の3x3minimalテンプレ使いたいんだけど
4.0のAutotileの挙動がわけわからん
情報探そうにもあんまりヒットしないしみんなどうやって理解してるんだ

329 名前:名前は開発中のものです。 mailto:sage [2023/03/17(金) 02:33:23.47 ID:+++OGmX4.net]
タマランノウ (*≧∇≦)y─┛~~~~

330 名前:名前は開発中のものです。 mailto:sage [2023/04/04(火) 16:06:52.42 ID:4HFTSXCp.net]
ラベルノードのインスペクターからテキストに半角で(を入力すると表示されるけど全角の(を変換して半角にすると何も入力されない
4.0.1と4.0.2RC1で確認

331 名前:名前は開発中のものです。 mailto:sage [2023/04/04(火) 17:46:08.09 ID:nEpDfY8T.net]
バグ報告ならする場所が間違ってるぞ
https://github.com/godotengine/godot/issues

332 名前:名前は開発中のものです。 mailto:sage [2023/04/05(水) 21:16:03.85 ID:hRcETCod.net]
ちょっと気になるくらいの事なんですけど
change_sceneを行う時、
切り替えたいシーンをシーンツリーにノード化して用意してからロードするのと、
直接 res:から読み込んだ場合で何か違いはあるんでしょうか?

333 名前:名前は開発中のものです。 mailto:sage [2023/04/12(水) 10:56:02.16 ID:FPh8qGON.net]
unityからogodt戻ろうかな(´・ω・`)
unityはいちいち重いから困る

そもそもunity行った理由がアセットが豊富だからなんだけど、このデメリットってカバーできるかな?



334 名前:名前は開発中のものです。 mailto:sage [2023/04/12(水) 10:56:33.97 ID:FPh8qGON.net]
あと、ゲームはsteamとかitchあたりで出したい

335 名前:名前は開発中のものです。 mailto:sage [2023/04/12(水) 11:15:12.28 ID:FPh8qGON.net]
standard assetみたいなオフィシャルなやつあったらいいんだけどな

336 名前:名前は開発中のものです。 mailto:sage [2023/04/12(水) 12:48:59.54 ID:RdsS5G1w.net]
>>328
起動が億劫になるよね
あとプロジェクトフォルダもでかいから持ち運ぶのも大変

337 名前:名前は開発中のものです。 mailto:sage [2023/04/12(水) 17:14:34.80 ID:FPh8qGON.net]
>>331
そうそう、軌道も遅いしプロジェクトも数Gあるし、、、
大作になると便利なんだろうけど、パズル程度ならもう少し軽いほうがいいかなって

game a weekで交互に使っていく
覚えられるかな療法

338 名前:名前は開発中のものです。 mailto:sage [2023/04/12(水) 17:27:36.94 ID:FPh8qGON.net]
アセットストアは一向に充実しないわね(´・ω・`)

339 名前:名前は開発中のものです。 mailto:sage [2023/04/12(水) 17:31:03.80 ID:6145NizA.net]
本家もわかってはいてもそこまでは手がまわらんのだろうな
ここはひとつユーザコミュニティサイドでそういうものを立ちあげていくしかない

340 名前:名前は開発中のものです。 mailto:sage [2023/04/12(水) 18:08:22.00 ID:FPh8qGON.net]
まあ自分で作るかitchあたりで探す感じかな
スターターアセットくらいはほしい
ホワイトボックスだけ作ってサクッと動かしたい場合とかあるし

341 名前:名前は開発中のものです。 mailto:sage [2023/04/13(木) 17:38:27.54 ID:75RPW/ZO.net]
一番使われてるアセットはゴドーくんの顔

342 名前:名前は開発中のものです。 mailto:sage [2023/04/16(日) 20:35:58.45 ID:pp7atYMv.net]
アニメーションプレイヤーのループボタンって
暗い方がオンだったのか

343 名前:名前は開発中のものです。 mailto:sage [2023/04/20(木) 19:44:21.83 ID:UvQQPaaA.net]
tilesetの編集ってgodot上でできましたか?
tiledなど使わないと駄目でしょうか?



344 名前:名前は開発中のものです。 mailto:sage [2023/04/26(水) 22:40:09.59 ID:43QDxUvl.net]
AnimationTree経由で再生されたアニメーションだとanimation_finishedシグナルが出ないのな

345 名前:名前は開発中のものです。 mailto:sage [2023/04/27(木) 07:06:59.32 ID:Hvscjckf.net]
>>339
アニメーションの終わりでメソッド呼び出してemit_signalしてみるとか

346 名前:名前は開発中のものです。 mailto:sage [2023/04/27(木) 09:56:19.57 ID:6ga1p8oR.net]
アニメーションに終了メソッド呼び出しを手作業で追加するのが面倒だからスクリプト書いた
4では治っているようだがバックポートはなさそう #70278
tool
extends EditorScript

func _run():
var path = "res://units/player.tscn"
var animation_name = "AttackSord"
var target_node = "/root/SystemNode"
var target_func = "animation_finished"
var scene = load(path).instance(0)
var player = scene.get_node("AnimationPlayer")
var animation = player.get_animation(animation_name)

# find last key time
var t = 0.0
for track_index in animation.get_track_count():
for key_index in animation.track_get_key_count(track_index):
t = max(t, animation.track_get_key_time(track_index, key_index))

# add method key
var index = animation.add_track(Animation.TYPE_METHOD, -1)
animation.track_set_path(index, target_node)
var params = { "method": target_func, "args": [animation_name] }
animation.track_insert_key(index, t, params, 1)

var packer = PackedScene.new()
if packer.pack(scene) == OK:
var e = ResourceSaver.save(path, packer)
if e != OK:
print(e)

347 名前:名前は開発中のものです。 mailto:sage [2023/04/29(土) 21:08:55.73 ID:GyoLXcxZ.net]
GDscriptで組むかC#にするか迷う

348 名前:名前は開発中のものです。 mailto:sage [2023/05/04(木) 14:38:00.26 ID:ZcQqa3h2.net]
normalize関数についての記載はリファレンスのどこにあるのかわかりませんか?
gd4使ってます

https://docs.godotengine.org/en/4.0/

349 名前:名前は開発中のものです。 mailto:sage [2023/05/04(木) 18:40:07.62 ID:Rk1rGymi.net]
これとか?
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

350 名前:名前は開発中のものです。 mailto:sage [2023/05/04(木) 19:00:19.89 ID:ZcQqa3h2.net]
どもっす
vector2クラスのページにあったんですね

351 名前:名前は開発中のものです。 mailto:sage [2023/05/06(土) 10:58:54.30 ID:0eDCXO8X.net]
こんちゃす
kinematicbodyは廃止されて、characterbodyになったんでしょうか
move_and_collideの使い方も微妙に変わってる感じ

352 名前:名前は開発中のものです。 mailto:sage [2023/05/06(土) 11:04:47.28 ID:0eDCXO8X.net]
↑自己解決

353 名前:名前は開発中のものです。 mailto:sage [2023/05/06(土) 19:53:00.89 ID:u8C0K2FB.net]
https://docs.godotengine.org/en/4.0/tutorials/migrating/upgrading_to_godot_4.html#automatically-renamed-nodes-and-resources

SpatialはNode3Dになったんか面倒だな



354 名前:名前は開発中のものです。 mailto:sage [2023/05/06(土) 19:59:21.37 ID:0eDCXO8X.net]
質問させてください
https://i.imgur.com/L3oC2wB.jpg
一回、一番上のtreeとrootを取ってから、main_charaノードを取りたいのですが、うまくいきません。
rootが取られてしまいます

これってなぜでしょうか。

ownerを使ってもいいのですが、親シーンにアタッチした子シーンのスクリプトからは、ownerで親シーンのルートは取れません。

355 名前:名前は開発中のものです。 mailto:sage [2023/05/06(土) 22:49:31.15 ID:/PQZt10j.net]
>>349
実行時はroot内にシーンが配置されるからね
実行中にシーンタブのリモートを見たら階層構造が分かる
https://i.imgur.com/hHmCyEf.png

356 名前:名前は開発中のものです。 mailto:sage [2023/05/07(日) 06:06:39.29 ID:RnycJYW/.net]
>>350
どうも
もう一階層あったんですね

357 名前:名前は開発中のものです。 mailto:sage [2023/05/07(日) 11:05:24.78 ID:RnycJYW/.net]
ところで、シーン1にアタッチしたシーン2(敵キャラ)から、シーン1上のノード(主人公)を取得したいのですが、
ノード名で取得しようとするとノード名を変更したときに2箇所変更しないといけないです
@exportを使って、対象となるノードをインスペクタに指定しとけばいいのかなと思うんですが、同じシーンのノードじゃないと指定出来ないんですねこれ。

考えたのは敵キャラ用のスクリプトをシーン1においておくことですかね。
そこに主人公を指定しておく。

358 名前:名前は開発中のものです。 mailto:sage [2023/05/09(火) 10 ]
[ここ壊れてます]

359 名前::41:51.02 ID:jLsa6d4U.net mailto: ↑訂正
シーン1とシーン2があって、シーン2の変数(@exportでインスペクタに表示させる)としてシーン1上のノードを指定したいのですが、それは可能でしょうか
[]
[ここ壊れてます]

360 名前:名前は開発中のものです。 mailto:sage [2023/05/09(火) 15:15:56.58 ID:P7zrLMRE.net]
メインシーン側で敵シーンをインスタンス化する時にプレイヤーの情報を渡せばいいんじゃない?
@exportで指定したプレイヤーシーンはインスタンス化して使うとなるとメインシーンのプレイヤーとは別オブジェクトになるんじゃないかな

361 名前:名前は開発中のものです。 mailto:sage [2023/05/10(水) 06:07:39.73 ID:A6GE9ca4.net]
↑どうも
引数でキャラクターを渡す感じですね
試してみます

unityのプレハブになれてたからこのへんは違うんですね

362 名前:名前は開発中のものです。 mailto:sage [2023/05/26(金) 11:39:10.22 ID:kv9U6X2f.net]
ttc フォントファイルはパスを手入力したら使えるんか

363 名前:名前は開発中のものです。 mailto:sage [2023/06/01(木) 17:50:20.52 ID:gjh91IOB.net]
質問
2dでローカル軸方向に動かすにはどうしたらいいのですか?
basisかな



364 名前:名前は開発中のものです。 mailto:sage [2023/06/01(木) 19:06:49.39 ID:gjh91IOB.net]
自己解決すまん

365 名前:名前は開発中のものです。 mailto:sage [2023/06/01(木) 21:24:55.10 ID:iYYCoT1u.net]
いいってことよ

366 名前:名前は開発中のものです。 mailto:sage [2023/06/04(日) 14:08:46.43 ID:JAQAnDb3.net]
characterbody2dってコリジョンの検出出来ましたっけ?
重力ありの弾丸(シューティング)を作ってます
出来ないとたら子供にarea2dなどをもたせるんですかね?


>>359
どうもす(´・ω・`)

367 名前:名前は開発中のものです。 mailto:sage [2023/06/05(月) 06:35:39.90 ID:CayWpKdl.net]
自己解決
適当にやる

368 名前:名前は開発中のものです。 mailto:sage [2023/06/06(火) 11:21:43.36 ID:GXRlgHOj.net]
ちわす
他のシーンのスクリプトを書き換える方法はあるでしょうか?

一度シーンをインスタンス化しないと駄目なように思いますが、元のスーパークラス?を書き換えたい場合もありますね

369 名前:名前は開発中のものです。 mailto:sage [2023/06/07(水) 05:35:42.51 ID:XqSQOg/f.net]
自己解決 うす

370 名前:名前は開発中のものです。 mailto:sage [2023/06/09(金) 10:19:55.59 ID:rdAYu282.net]
rigidbody3dなんですが、lock rotationの固定軸を1つに限定は出来ないんでしょうか?
すべての軸がロックされますなこれ

371 名前:名前は開発中のものです。 mailto:sage [2023/06/09(金) 14:51:37.11 ID:JvBEnfen.net]
HingeJoint3D とかでやるっぽい
https://ask.godotengine.org/6619/3d-rigid-body-locall-axis-lock

372 名前:名前は開発中のものです。 mailto:sage [2023/06/09(金) 19:55:23.57 ID:rdAYu282.net]
kinematicbody2dなんですが、ひし形を地面に落として、地面に転がるように出来ないでしょうか
スクリプトでの下への重力と、物理を両立させるのは難しので出来ないとは思いますが

かといって、rigidbody2dを操作するのは結構シビアで難しい

>>365
どうも
rotation.x = 0としても駄目だったんで
インスペクタにはないみたいですよね

やっぱり3dだと余計に手間掛かる感じはありますね、、、

373 名前:名前は開発中のものです。 mailto:sage [2023/06/10(土) 07:36:17.90 ID:qvm5A2h2.net]
キャラクター自体に物理挙動つけるゲームとか難しすぎてやめたほうがいいかな



374 名前:名前は開発中のものです。 mailto:sage [2023/06/10(土) 19:15:16.32 ID:qvm5A2h2.net]
>>367
自己解決
難しい

375 名前:名前は開発中のものです。 mailto:sage [2023/06/12(月) 11:53:14.23 ID:w9tVWx8K.net]
godotでリジットボデイの大きさを変更する場合、子供であるコリジョンシェイプやスプライトの大きさを変更するんだね
親を変更すれば付随して子供も大きくなるけど、これは機能しないのはなぜ

376 名前:名前は開発中のものです。 mailto:sage [2023/06/12(月) 16:37:15.00 ID:w9tVWx8K.net]
まあそういもんだと納得しとく

377 名前:名前は開発中のものです。 mailto:sage [2023/06/13(火) 20:22:49.80 ID:GRAPIj+k.net]
ブレイクポイントというのは関数の途中には設定出来ないのですか?

function process(){
if Input.is_action_just_pressed("ui_accept"){
print("1")
print("2")# ここにブレイクポイント
}
}

378 名前:名前は開発中のものです。 mailto:sage [2023/06/14(水) 06:19:01.03 ID:xnRIx4uh.net]
sorry レディットで聞きます!!

379 名前:名前は開発中のものです。 mailto:sage [2023/06/21(水) 22:01:55.01 ID:vQxPLPF6.net]
インポートスクリプト最高や

380 名前:名前は開発中のものです。 mailto:sage [2023/06/22(木) 05:20:37.91 ID:PXUKbvh2.net]
略してインポスクリプト

381 名前:名前は開発中のものです。 mailto:sage [2023/07/17(月) 00:43:40.12 ID:W3SeyDVH.net]
2点のVector2オブジェクトからRect2オブジェクト作る関数ってないですか
Rect2.new(pos:Vector2, size:Vector2)はあるけど欲しいのはRect2.new(start:Vector2, end:Vector2)なんです

382 名前:名前は開発中のものです。 mailto:sage [2023/07/17(月) 03:49:12.38 ID:v+0D+Biy.net]
それくらい自作しろよ…

383 名前:名前は開発中のものです。 mailto:sage [2023/07/17(月) 16:04:10.47 ID:Y32F/n4e.net]
Rect2(start,end - start)



384 名前:名前は開発中のものです。 mailto:sage [2023/07/17(月) 19:52:24.64 ID:W3SeyDVH.net]
>>376
それぐらいだからこそ関数用意されてるかなと思いましたがないんですね~
自作します

385 名前:名前は開発中のものです。 mailto:sage [2023/07/17(月) 20:05:21.18 ID:W3SeyDVH.net]
>>377
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)

有益なレス感謝します

386 名前:名前は開発中のものです。 mailto:sage [2023/07/17(月) 22:45:43.64 ID:w/rYn/KM.net]
GDScriptというかPythonの三項演算子っぽい記述ってやっぱ慣れないな

387 名前:名前は開発中のものです。 mailto:sage [2023/07/18(火) 01:19:41.63 ID:MxBC4N3N.net]
> 有益なレス感謝します
そういうのいいから

388 名前:名前は開発中のものです。 mailto:sage [2023/07/18(火) 03:24:28.85 ID:jbQZK8V5.net]
>>381
そういうのもいいから
ゲ制作くらい余裕持てよ

389 名前:名前は開発中のものです。 mailto:sage [2023/07/18(火) 07:18:19.14 ID:2BcbAw8A.net]
左上右下にするならRect2.abs()もあるかも

390 名前:名前は開発中のものです。 mailto:sage [2023/07/19(水) 08:15:32.52 ID:A2aTEJBF.net]
>>382
何いってんだこいつ

391 名前:名前は開発中のものです。 mailto:sage [2023/07/20(木) 00:25:45.58 ID:oaZFoKbY.net]
馬鹿には理解出来ない言葉

392 名前:名前は開発中のものです。 mailto:sage [2023/07/20(木) 00:39:32.14 ID:NKKVZX1B.net]
たかだか算数の問題もできなくていちいち聞きに来てる奴がなんだって?

393 名前:名前は開発中のものです。 mailto:sage [2023/07/20(木) 02:24:30.46 ID:oaZFoKbY.net]
統失か知らんが算数出来る出来ない如きで喧嘩するなら他でやれ



394 名前:名前は開発中のものです。 mailto:sage [2023/07/20(木) 02:50:51.97 ID:6fnRltb+.net]
殺伐とするのはウディタスレだけにしてくれ
腐ってもgodotの数少ない日本語コミュニティなんだし算数出来ないなら教えてやるぐらいの余裕持とう

395 名前:名前は開発中のものです。 mailto:sage [2023/07/23(日) 09:19:50.56 ID:cBMm3GTk.net]
>>387
お前知能に障害あるの?ガチで理解能力ないのな
こんなキチが居るGodotの日本コミュニティなんてなくなっていいぞ

396 名前:名前は開発中のものです。 mailto:sage [2023/07/23(日) 12:18:08.54 ID:uMHf0n2i.net]
ここは怖いインターネッツですね

397 名前:名前は開発中のものです。 mailto:sage [2023/07/24(月) 00:46:29.87 ID:pDGOdRAM.net]
何に発狂してんだか

398 名前:名前は開発中のものです。 mailto:sage [2023/07/24(月) 13:19:16.38 ID:jaCBvakL.net]
足し算が出来なくて発狂ってどんな基地外児?

399 名前:名前は開発中のものです。 mailto:sage [2023/07/29(土) 08:49:02.77 ID:4oZkmnGc.net]
godot触ってみたけどわからんちん
Gamemakerは何とか使えてたんだけどルールが全然違うんやね
どこから始めたらいいんだこれ

400 名前:名前は開発中のものです。 mailto:sage [2023/07/29(土) 09:44:09.09 ID:D/uPJ6es.net]
>>393
ver3なら公式サイトの敵避けゲームとか個人ブログのブロック崩しが個人的に良い勉強になったよ
マイナーバージョンの違いが少しあったけどね

401 名前:名前は開発中のものです。 mailto:sage [2023/07/29(土) 12:17:18.57 ID:4oZkmnGc.net]
やっぱ先ずは理解できなくても講座ベタトレースしていくしかないかー
出て間もない4.1基準の講座は少ないね
でも古い講座は使えない知識混ざりそうであんまり見ない方がいい気もする・・

402 名前:名前は開発中のものです。 mailto:sage [2023/07/29(土) 14:49:06.67 ID:8Ahe35zI.net]
>>395
4.0でVampire Survivorsクローンの講座は有ったな

403 名前:名前は開発中のものです。 mailto:sage [2023/07/29(土) 18:23:24.06 ID:JSfEwyZy.net]
Getting Startedの2Dと3Dを見とけば後はできるでしょ



404 名前:名前は開発中のものです。 [2023/07/30(日) 12:54:24.08 ID:anBTKIS2.net]
完成させる秘訣みたいなものありますかね?
技術が低いのでモック作成までまでも至りません

ハードルを下げまくると面白いとは言えない代物になる

バグとか技術的なつまづきさえも面白くするというのはありだとおもいますが

405 名前:名前は開発中のものです。 mailto:sage [2023/07/30(日) 15:41:03.77 ID:Wduw4KF5.net]
完成させる秘訣? そんなの簡単だ
完成させる事で金が儲かるようなことをやることだ
それが無いうちは完成までモチベーションが絶対つづかない

406 名前:名前は開発中のものです。 [2023/07/30(日) 16:32:15.81 ID:anBTKIS2.net]
好きなことをやれっていうけど、やっぱ金のほうが強いかね
そもそもそんな好きなジャンルがないし、あったとしても個人で作れないレベルのゲームだし
まあ頑張る
飽きっぽいからunityとgodot両刀でやってく

407 名前:名前は開発中のものです。 mailto:sage [2023/07/30(日) 18:59:23.24 ID:iZ/qN6Rm.net]
最初はとにかくチュートリアル漁って見よう見まねで完成まで作ればいいんじゃね
作ったもん改良して独自性持たせりゃ自分の作品とも言えるだろ

408 名前:名前は開発中のものです。 mailto:sage [2023/07/30(日) 19:28:11.94 ID:+d7oupXF.net]
公式のチュートリアル読み込みながら進めてたけど、アイコンを
円運動させるところでもう命令が理解できなかった。
var velocity = Vector2.UP.rotated(rotation) * speed
position += velocity * delta
何でこれで円運動するのか訳が分からん。
オンラインチュートリアルが日本語化されてないから
命令文逆引きしてもチンプンカンプンだわ・・・

409 名前:名前は開発中のものです。 [2023/07/30(日) 20:13:45.34 ID:anBTKIS2.net]
>>401
モチーフを少し改造する方式にするわ(*´ω`*)

410 名前:名前は開発中のものです。 mailto:sage [2023/07/30(日) 20:28:54.78 ID:iZ/qN6Rm.net]
>>402
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でも使って根気よく翻訳するしかないな

411 名前:名前は開発中のものです。 [2023/07/31(月) 06:42:37.36 ID:PqMd5Ecf.net]
完成させるための期限はどのくらいにしてますか?
game aweekだと1週間ですが、自分のスキルにもよるでしょうけども。

412 名前:名前は開発中のものです。 mailto:sage [2023/07/31(月) 09:18:39.65 ID:PdSwL1C1.net]
>>402
サンプルの "rotation += angular_speed * delta" のコードが
rotationプロパティを通して角速度angular_speedでキャラを回転させ続けて、
変数velocityは上向きベクトルをrotationの向きに回転させ、速度speed分進む方向ベクトルなので
組み合わさるとキャラが角速度angular_speedで向きを回転しながら速度speedで前に進むことになり
その姿を想像してみるとたぶん円軌道になるのかなあと
スイカ割りで目隠ししてぐるぐる回されたあとに進むと真っ直ぐ進んでるように思ってもくるくる回るみたいな…

413 名前:名前は開発中のものです。 [2023/07/31(月) 18:30:17.45 ID:PqMd5Ecf.net]
ゲームの仕様書は変えないことが大事でしょうか
あれもこれもと追加すると延々と終わらないと言いますね、、、
この辺が完成捺せられない理由かも自分



414 名前:名前は開発中のものです。 mailto:sage [2023/08/01(火) 08:33:05.82 ID:AM5QZiOn.net]
最近ワナビースレみないと思ったらGodotスレにいるのか。がんばれ

415 名前:名前は開発中のものです。 [2023/08/01(火) 11:13:26.95 ID:0v6pG1BI.net]
うん ゲーム性が思いつかない

416 名前:名前は開発中のものです。 [2023/08/01(火) 14:43:23.28 ID:0v6pG1BI.net]
どんな題材であっても面白くこねくり回す能力ってなんていうんだろう
その能力が大事なんだろうな
インスピレーション?

417 名前:名前は開発中のものです。 mailto:sage [2023/08/01(火) 17:24:38.24 ID:EiDnBy7X.net]
いつまでウジウジ言ってるんだ
最近やったゲームで面白いと思った物は何だよ
それをパクれ

418 名前:名前は開発中のものです。 mailto:sage [2023/08/01(火) 17:37:35.95 ID:s9Z/hLC5.net]
>>404
>>406
丁寧な解説ありがとうございます。
解説と照らし合わせながら週末唸りながら朧気ながらに理解していったのが
下記の通りで、間違っているかもしれません。

ソースの全体を貼って無かったので
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)回るのかが理解できました。
うん中学の頃の授業でやったやった・・・。

419 名前:名前は開発中のものです。 mailto:sage [2023/08/01(火) 17:37:52.12 ID:s9Z/hLC5.net]
次が大問題の
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のオンラインヘルプは使用例や解説とリンクがとても分かりやすかったので
ヘルプ周りを参考にしてほしいところです。
この先もこの調子だと手に負えないかな・・・

420 名前:名前は開発中のものです。 mailto:sage [2023/08/01(火) 19:27:00.91 ID:DGAEntxi.net]
ラジアンは高校で習うんだよ
三角関数と一緒に使うからね
わからない関数が出たらマニュアルの検索ボックスに突っ込むのが基本

421 名前:名前は開発中のものです。 mailto:sage [2023/08/02(水) 02:24:09.38 ID:mr3zSq9+.net]
>>412
>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時の位置になってるけど

ドキュメント周りはまだ発展途上なツールだし多めに見よう

422 名前:名前は開発中のものです。 [2023/08/02(水) 07:52:15.08 ID:rnOElBcM.net]
>>411
やってない
頑張る

423 名前:名前は開発中のものです。 mailto:sage [2023/08/02(水) 10:12:13.98 ID:eAvhDWSg.net]
>>415
大体理解があってたみたいで良かった。
サインコサインタンジェントもやたら使うのでちゃんと勉強しておけば良かったと思う
今日この頃。変換関数あるのは楽でいいね。

* speed の意味もその解説で理解できました
Vector2.UP自体がベクトルに1進めるという移動量を持っていたのが理解出来てなかった。
* speed で400倍してるけれど、次の position で位置指定するには大きすぎるので
* delta で0.0166666倍してると・・・ってそれ二度手間やないかい
と思って speed を4にして * delta を消すと二度手間を簡略化出来た!
何でこの二度手間させてるんだろう?

向きの辻褄が合わないのは解説のお陰で理解できました
開始位置が9時方向だったのか(なぜか0時開始で思い込んでた)
そうよね、最初Vector2.UPで上向かせて rotation が3.14*0.0166666だから
ほんの僅か右に傾いた上方向に向かって移動開始だから9時方向からか・・・
理解した瞬間声が出たw

丁寧な解説ありがとうございます。
この調子で少しづつ理解していければ、いいなあ



424 名前:名前は開発中のものです。 mailto:sage [2023/08/02(水) 10:16:34.71 ID:eAvhDWSg.net]
>>414
そのマニュアルが・・・もっと判りやすく記述してくれっっ
4.1の日本語リファレンス本出てくれないかなあ

425 名前:名前は開発中のものです。 mailto:sage [2023/08/06(日) 22:33:04.38 ID:LKqx5Dzu.net]
>>417
あれから他のチュートリアル見てて気が付いた
var velocity = Vector2.UP.rotated(rotation) * speed
この式は方向にスピードを掛けて「速さ」を出してるって意味だったんやね
で、deltaが時間/1fps で
position += velocity * delta
速さ*時間=距離の公式で移動距離をpositionに足し続けて移動を表現してたのか。
なるほど。
ベクトルも内包してるのが公式とは違う所だけど、何でこの掛け算してるのかが理解できた。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<255KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef