【軽量】godot engine - part2

■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
垢版 |
2021/04/30(金) 13:03:47.04ID:cptRhreJ
https://godotengine.org/
https://www.reddit.com/r/godot/

godotでクソゲー作ろうぜ!!
2023/03/02(木) 16:15:29.08ID:sRzc+JvW
よし作るか!!
2023/03/02(木) 18:07:21.19ID:mhcZUQ81
公開が半年くらい先になるような作品なら使い始めても良いんじゃね
コミュニティでも言われてるけど、イベントに合わせて急いで出した感は結構強い

でも、画面が崩れたりクラッシュだらけのベータ時期よりは結構安定してるから少し待てば十分安定すると思う
2023/03/02(木) 19:12:22.64ID:rI5g0K7d
俺Sandyおじさんだから蚊帳の外
2023/03/03(金) 09:26:55.90ID:IEEY0QS7
ブランニューエンジンと言ってるが、ほんまに想像以上に別物で互換がないから、しばらくは3.5でがんばる
3Dゲーム作りたい人は1から作り直ししてでも4.0に移行した方がよさそうだけども
309名前は開発中のものです。
垢版 |
2023/03/03(金) 11:59:52.10ID:KKp9WiVq
alphaからずっと4.0使って来たけど3.xに比べてgdscriptの感じも大分変わったし移行するなら早めにしちゃった方が良いぞ
2023/03/03(金) 12:12:41.51ID:rDoDXzfX
今まで使ってなかったけど、新しいgdscriptはちゃんと動くんなら使いやすそうな仕様だね
311名前は開発中のものです。
垢版 |
2023/03/03(金) 18:49:35.53ID:sAMS/0LL
そんなに違うのかー
日本語のレビューとかもっと見てみたいけどね
2023/03/03(金) 21:32:27.27ID:iqGMNq7E
床レイヤーと壁レイヤー?と思ったら動く足場用のプロパティか・・・
bodyは名前色々変わってるしYsortノードも無くなってプロパティで設定できると・・・
マジで別物すぎるだろ
これから始める人は3触らない方がいいな
2023/03/04(土) 07:00:07.48ID:fVoTFsxt
ラムダとやら全然わかんね
まぁ全ての機能を無理に使う必要ないけど
314名前は開発中のものです。
垢版 |
2023/03/04(土) 18:00:04.57ID:ZhmEd2qI
↓みたいなCallable型の引数を取る関数があった時に
func foreach(arr:Array, f:Callable):
 var i:int = 0
 for e in arr:
   f.call(i, e)
   i+=1

↓foreach()の第2引数に定義済の関数を渡すのが普通のやり方
var result:int = 0
var arr:Array[int] = [3, 5, 7]
func sum(i, e):
 print("%d = %d" % [i, e])
 result += e
func _ready():
 foreach(arr, sum)
 print("result = %d" % result)

↓foreach()の第2引数に直接funcを書けるのがラムダ式
var result:int = 0
var arr:Array[int] = [3, 5, 7]
func _ready():
 foreach(arr, func(i, e):
   print("%d = %d" % [i, e])
   result += e
 )
 print("result = %d" % result)

signalを受け取った時の処理とかもconnect("signal", func():~)みたいな書き方が出来るから
より感覚的にコーディング出来る気がする
2023/03/07(火) 13:47:48.70ID:OJB8Hm7j
2Dのためにgodot使ってるから4.0はしばらくいいかな…
2Dでも何か利点ってある?
2023/03/07(火) 13:55:51.64ID:fAhovnpz
3D酔いしない
2023/03/07(火) 17:06:21.09ID:50UBZi0H
>>315
今後のサポートが長い
2023/03/07(火) 17:10:09.23ID:RVxgtnpD
Godotの2Dはピクセル単位の整数で座標指定できるから好き
2023/03/07(火) 17:16:22.04ID:1iY7lsGn
現状、4.0の2D系は色々と不足してて不満が多いみたいね(特にドット系)

4.1で多くの問題は解決される予定だから長い目で見ればメリットは十分あるよ
それも来年くらいの話になりそうだけど
2023/03/07(火) 18:03:51.11ID:OJB8Hm7j
そっか
やっぱとりあえずは3でいいかな
乗り換えの時のために情報だけ何となく拾っとくくらいでいくわ
2023/03/07(火) 21:00:20.85ID:j3axOKFu
https://www.reddit.com/r/godot/comments/11iixgj/psa_godot_4_has_many_issues_with_pixel_perfect/
4.0ピクセルパーフェクトにできない問題これか
直すのはかなり大変みたいだな
俺もまだ3.5でいいか
322名前は開発中のものです。
垢版 |
2023/03/14(火) 17:51:36.50ID:miZ3euEs
3.5の時の3x3minimalテンプレ使いたいんだけど
4.0のAutotileの挙動がわけわからん
情報探そうにもあんまりヒットしないしみんなどうやって理解してるんだ
2023/03/17(金) 02:33:23.47ID:+++OGmX4
タマランノウ (*≧∇≦)y─┛~~~~
2023/04/04(火) 16:06:52.42ID:4HFTSXCp
ラベルノードのインスペクターからテキストに半角で(を入力すると表示されるけど全角の(を変換して半角にすると何も入力されない
4.0.1と4.0.2RC1で確認
2023/04/04(火) 17:46:08.09ID:nEpDfY8T
バグ報告ならする場所が間違ってるぞ
https://github.com/godotengine/godot/issues
2023/04/05(水) 21:16:03.85ID:hRcETCod
ちょっと気になるくらいの事なんですけど
change_sceneを行う時、
切り替えたいシーンをシーンツリーにノード化して用意してからロードするのと、
直接 res:から読み込んだ場合で何か違いはあるんでしょうか?
2023/04/12(水) 10:56:02.16ID:FPh8qGON
unityからogodt戻ろうかな(´・ω・`)
unityはいちいち重いから困る

そもそもunity行った理由がアセットが豊富だからなんだけど、このデメリットってカバーできるかな?
2023/04/12(水) 10:56:33.97ID:FPh8qGON
あと、ゲームはsteamとかitchあたりで出したい
2023/04/12(水) 11:15:12.28ID:FPh8qGON
standard assetみたいなオフィシャルなやつあったらいいんだけどな
2023/04/12(水) 12:48:59.54ID:RdsS5G1w
>>327
起動が億劫になるよね
あとプロジェクトフォルダもでかいから持ち運ぶのも大変
2023/04/12(水) 17:14:34.80ID:FPh8qGON
>>330
そうそう、軌道も遅いしプロジェクトも数Gあるし、、、
大作になると便利なんだろうけど、パズル程度ならもう少し軽いほうがいいかなって

game a weekで交互に使っていく
覚えられるかな療法
2023/04/12(水) 17:27:36.94ID:FPh8qGON
アセットストアは一向に充実しないわね(´・ω・`)
2023/04/12(水) 17:31:03.80ID:6145NizA
本家もわかってはいてもそこまでは手がまわらんのだろうな
ここはひとつユーザコミュニティサイドでそういうものを立ちあげていくしかない
2023/04/12(水) 18:08:22.00ID:FPh8qGON
まあ自分で作るかitchあたりで探す感じかな
スターターアセットくらいはほしい
ホワイトボックスだけ作ってサクッと動かしたい場合とかあるし
2023/04/13(木) 17:38:27.54ID:75RPW/ZO
一番使われてるアセットはゴドーくんの顔
2023/04/16(日) 20:35:58.45ID:pp7atYMv
アニメーションプレイヤーのループボタンって
暗い方がオンだったのか
2023/04/20(木) 19:44:21.83ID:UvQQPaaA
tilesetの編集ってgodot上でできましたか?
tiledなど使わないと駄目でしょうか?
2023/04/26(水) 22:40:09.59ID:43QDxUvl
AnimationTree経由で再生されたアニメーションだとanimation_finishedシグナルが出ないのな
2023/04/27(木) 07:06:59.32ID:Hvscjckf
>>338
アニメーションの終わりでメソッド呼び出してemit_signalしてみるとか
2023/04/27(木) 09:56:19.57ID:6ga1p8oR
アニメーションに終了メソッド呼び出しを手作業で追加するのが面倒だからスクリプト書いた
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)
2023/04/29(土) 21:08:55.73ID:GyoLXcxZ
GDscriptで組むかC#にするか迷う
2023/05/04(木) 14:38:00.26ID:ZcQqa3h2
normalize関数についての記載はリファレンスのどこにあるのかわかりませんか?
gd4使ってます

https://docs.godotengine.org/en/4.0/
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
2023/05/04(木) 19:00:19.89ID:ZcQqa3h2
どもっす
vector2クラスのページにあったんですね
2023/05/06(土) 10:58:54.30ID:0eDCXO8X
こんちゃす
kinematicbodyは廃止されて、characterbodyになったんでしょうか
move_and_collideの使い方も微妙に変わってる感じ
2023/05/06(土) 11:04:47.28ID:0eDCXO8X
↑自己解決
2023/05/06(土) 19:53:00.89ID:u8C0K2FB
https://docs.godotengine.org/en/4.0/tutorials/migrating/upgrading_to_godot_4.html#automatically-renamed-nodes-and-resources

SpatialはNode3Dになったんか面倒だな
2023/05/06(土) 19:59:21.37ID:0eDCXO8X
質問させてください
https://i.imgur.com/L3oC2wB.jpg
一回、一番上のtreeとrootを取ってから、main_charaノードを取りたいのですが、うまくいきません。
rootが取られてしまいます

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

ownerを使ってもいいのですが、親シーンにアタッチした子シーンのスクリプトからは、ownerで親シーンのルートは取れません。
2023/05/06(土) 22:49:31.15ID:/PQZt10j
>>348
実行時はroot内にシーンが配置されるからね
実行中にシーンタブのリモートを見たら階層構造が分かる
https://i.imgur.com/hHmCyEf.png
2023/05/07(日) 06:06:39.29ID:RnycJYW/
>>349
どうも
もう一階層あったんですね
2023/05/07(日) 11:05:24.78ID:RnycJYW/
ところで、シーン1にアタッチしたシーン2(敵キャラ)から、シーン1上のノード(主人公)を取得したいのですが、
ノード名で取得しようとするとノード名を変更したときに2箇所変更しないといけないです
@exportを使って、対象となるノードをインスペクタに指定しとけばいいのかなと思うんですが、同じシーンのノードじゃないと指定出来ないんですねこれ。

考えたのは敵キャラ用のスクリプトをシーン1においておくことですかね。
そこに主人公を指定しておく。
2023/05/09(火) 10:41:51.02ID:jLsa6d4U
↑訂正
シーン1とシーン2があって、シーン2の変数(@exportでインスペクタに表示させる)としてシーン1上のノードを指定したいのですが、それは可能でしょうか
2023/05/09(火) 15:15:56.58ID:P7zrLMRE
メインシーン側で敵シーンをインスタンス化する時にプレイヤーの情報を渡せばいいんじゃない?
@exportで指定したプレイヤーシーンはインスタンス化して使うとなるとメインシーンのプレイヤーとは別オブジェクトになるんじゃないかな
2023/05/10(水) 06:07:39.73ID:A6GE9ca4
↑どうも
引数でキャラクターを渡す感じですね
試してみます

unityのプレハブになれてたからこのへんは違うんですね
2023/05/26(金) 11:39:10.22ID:kv9U6X2f
ttc フォントファイルはパスを手入力したら使えるんか
2023/06/01(木) 17:50:20.52ID:gjh91IOB
質問
2dでローカル軸方向に動かすにはどうしたらいいのですか?
basisかな
2023/06/01(木) 19:06:49.39ID:gjh91IOB
自己解決すまん
2023/06/01(木) 21:24:55.10ID:iYYCoT1u
いいってことよ
2023/06/04(日) 14:08:46.43ID:JAQAnDb3
characterbody2dってコリジョンの検出出来ましたっけ?
重力ありの弾丸(シューティング)を作ってます
出来ないとたら子供にarea2dなどをもたせるんですかね?


>>358
どうもす(´・ω・`)
2023/06/05(月) 06:35:39.90ID:CayWpKdl
自己解決
適当にやる
2023/06/06(火) 11:21:43.36ID:GXRlgHOj
ちわす
他のシーンのスクリプトを書き換える方法はあるでしょうか?

一度シーンをインスタンス化しないと駄目なように思いますが、元のスーパークラス?を書き換えたい場合もありますね
2023/06/07(水) 05:35:42.51ID:XqSQOg/f
自己解決 うす
2023/06/09(金) 10:19:55.59ID:rdAYu282
rigidbody3dなんですが、lock rotationの固定軸を1つに限定は出来ないんでしょうか?
すべての軸がロックされますなこれ
2023/06/09(金) 14:51:37.11ID:JvBEnfen
HingeJoint3D とかでやるっぽい
https://ask.godotengine.org/6619/3d-rigid-body-locall-axis-lock
2023/06/09(金) 19:55:23.57ID:rdAYu282
kinematicbody2dなんですが、ひし形を地面に落として、地面に転がるように出来ないでしょうか
スクリプトでの下への重力と、物理を両立させるのは難しので出来ないとは思いますが

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

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

やっぱり3dだと余計に手間掛かる感じはありますね、、、
2023/06/10(土) 07:36:17.90ID:qvm5A2h2
キャラクター自体に物理挙動つけるゲームとか難しすぎてやめたほうがいいかな
2023/06/10(土) 19:15:16.32ID:qvm5A2h2
>>366
自己解決
難しい
2023/06/12(月) 11:53:14.23ID:w9tVWx8K
godotでリジットボデイの大きさを変更する場合、子供であるコリジョンシェイプやスプライトの大きさを変更するんだね
親を変更すれば付随して子供も大きくなるけど、これは機能しないのはなぜ
2023/06/12(月) 16:37:15.00ID:w9tVWx8K
まあそういもんだと納得しとく
2023/06/13(火) 20:22:49.80ID:GRAPIj+k
ブレイクポイントというのは関数の途中には設定出来ないのですか?

function process(){
if Input.is_action_just_pressed("ui_accept"){
print("1")
print("2")# ここにブレイクポイント
}
}
2023/06/14(水) 06:19:01.03ID:xnRIx4uh
sorry レディットで聞きます!!
2023/06/21(水) 22:01:55.01ID:vQxPLPF6
インポートスクリプト最高や
2023/06/22(木) 05:20:37.91ID:PXUKbvh2
略してインポスクリプト
2023/07/17(月) 00:43:40.12ID:W3SeyDVH
2点のVector2オブジェクトからRect2オブジェクト作る関数ってないですか
Rect2.new(pos:Vector2, size:Vector2)はあるけど欲しいのはRect2.new(start:Vector2, end:Vector2)なんです
2023/07/17(月) 03:49:12.38ID:v+0D+Biy
それくらい自作しろよ…
2023/07/17(月) 16:04:10.47ID:Y32F/n4e
Rect2(start,end - start)
2023/07/17(月) 19:52:24.64ID:W3SeyDVH
>>375
それぐらいだからこそ関数用意されてるかなと思いましたがないんですね~
自作します
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)

有益なレス感謝します
2023/07/17(月) 22:45:43.64ID:w/rYn/KM
GDScriptというかPythonの三項演算子っぽい記述ってやっぱ慣れないな
2023/07/18(火) 01:19:41.63ID:MxBC4N3N
> 有益なレス感謝します
そういうのいいから
2023/07/18(火) 03:24:28.85ID:jbQZK8V5
>>380
そういうのもいいから
ゲ制作くらい余裕持てよ
2023/07/18(火) 07:18:19.14ID:2BcbAw8A
左上右下にするならRect2.abs()もあるかも
2023/07/19(水) 08:15:32.52ID:A2aTEJBF
>>381
何いってんだこいつ
2023/07/20(木) 00:25:45.58ID:oaZFoKbY
馬鹿には理解出来ない言葉
2023/07/20(木) 00:39:32.14ID:NKKVZX1B
たかだか算数の問題もできなくていちいち聞きに来てる奴がなんだって?
2023/07/20(木) 02:24:30.46ID:oaZFoKbY
統失か知らんが算数出来る出来ない如きで喧嘩するなら他でやれ
2023/07/20(木) 02:50:51.97ID:6fnRltb+
殺伐とするのはウディタスレだけにしてくれ
腐ってもgodotの数少ない日本語コミュニティなんだし算数出来ないなら教えてやるぐらいの余裕持とう
2023/07/23(日) 09:19:50.56ID:cBMm3GTk
>>386
お前知能に障害あるの?ガチで理解能力ないのな
こんなキチが居るGodotの日本コミュニティなんてなくなっていいぞ
2023/07/23(日) 12:18:08.54ID:uMHf0n2i
ここは怖いインターネッツですね
2023/07/24(月) 00:46:29.87ID:pDGOdRAM
何に発狂してんだか
2023/07/24(月) 13:19:16.38ID:jaCBvakL
足し算が出来なくて発狂ってどんな基地外児?
2023/07/29(土) 08:49:02.77ID:4oZkmnGc
godot触ってみたけどわからんちん
Gamemakerは何とか使えてたんだけどルールが全然違うんやね
どこから始めたらいいんだこれ
2023/07/29(土) 09:44:09.09ID:D/uPJ6es
>>392
ver3なら公式サイトの敵避けゲームとか個人ブログのブロック崩しが個人的に良い勉強になったよ
マイナーバージョンの違いが少しあったけどね
2023/07/29(土) 12:17:18.57ID:4oZkmnGc
やっぱ先ずは理解できなくても講座ベタトレースしていくしかないかー
出て間もない4.1基準の講座は少ないね
でも古い講座は使えない知識混ざりそうであんまり見ない方がいい気もする・・
2023/07/29(土) 14:49:06.67ID:8Ahe35zI
>>394
4.0でVampire Survivorsクローンの講座は有ったな
2023/07/29(土) 18:23:24.06ID:JSfEwyZy
Getting Startedの2Dと3Dを見とけば後はできるでしょ
397名前は開発中のものです。
垢版 |
2023/07/30(日) 12:54:24.08ID:anBTKIS2
完成させる秘訣みたいなものありますかね?
技術が低いのでモック作成までまでも至りません

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

バグとか技術的なつまづきさえも面白くするというのはありだとおもいますが
2023/07/30(日) 15:41:03.77ID:Wduw4KF5
完成させる秘訣? そんなの簡単だ
完成させる事で金が儲かるようなことをやることだ
それが無いうちは完成までモチベーションが絶対つづかない
399名前は開発中のものです。
垢版 |
2023/07/30(日) 16:32:15.81ID:anBTKIS2
好きなことをやれっていうけど、やっぱ金のほうが強いかね
そもそもそんな好きなジャンルがないし、あったとしても個人で作れないレベルのゲームだし
まあ頑張る
飽きっぽいからunityとgodot両刀でやってく
2023/07/30(日) 18:59:23.24ID:iZ/qN6Rm
最初はとにかくチュートリアル漁って見よう見まねで完成まで作ればいいんじゃね
作ったもん改良して独自性持たせりゃ自分の作品とも言えるだろ
2023/07/30(日) 19:28:11.94ID:+d7oupXF
公式のチュートリアル読み込みながら進めてたけど、アイコンを
円運動させるところでもう命令が理解できなかった。
var velocity = Vector2.UP.rotated(rotation) * speed
position += velocity * delta
何でこれで円運動するのか訳が分からん。
オンラインチュートリアルが日本語化されてないから
命令文逆引きしてもチンプンカンプンだわ・・・
402名前は開発中のものです。
垢版 |
2023/07/30(日) 20:13:45.34ID:anBTKIS2
>>400
モチーフを少し改造する方式にするわ(*´ω`*)
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でも使って根気よく翻訳するしかないな
404名前は開発中のものです。
垢版 |
2023/07/31(月) 06:42:37.36ID:PqMd5Ecf
完成させるための期限はどのくらいにしてますか?
game aweekだと1週間ですが、自分のスキルにもよるでしょうけども。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況