[過去ログ] 【軽量】godot engine【無料】 part3 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
168: 2024/03/23(土)13:42 ID:uy0YEbAb(1/2) AAS
3dのローポリ作品多いけど、リアルにしたらエンジン的にキツいんかな?
169: 2024/03/23(土)14:40 ID:OOg18fNS(1) AAS
ハイポリモデルを使うのがキツイのはエンジンじゃなくてマンパワーでしょ
170: 軌道予測 2024/03/23(土)18:16 ID:apw+jUEF(3/4) AAS
最新のgptは有料じゃないと使えないのかな
godot4についてはデータベースがないみたい
copilot使ってみるけど、他におすすめある?
171(1): 軌道予測 2024/03/23(土)19:49 ID:apw+jUEF(4/4) AAS
geometry2dのoffset_polylineについて質問なんですけど、この関数にポリラインの配列を渡すとなぜか2次元配列で帰って来るのですが、なぜでしょうか
外部リンク[html]:docs.godotengine.org
返り値をcollisionPolygon2dに代入して使いたいのですが
collisionPolygon2d.polygon = array
172(2): 2024/03/23(土)23:13 ID:uy0YEbAb(2/2) AAS
C#で書いてたらだんだん損した気分になってきた…
173(1): 2024/03/23(土)23:57 ID:J5ee5UXV(1) AAS
>>171
そこの説明に書いてある通りで結果が複数になる場合があるから
>because inflating/deflating may result in multiple discrete polygons.
安易な対応方法としては厳密に扱う必要がなければ最初の要素だけ使えば良い
ollisionPolygon2d.polygon = array[0]
>>166
自分の認識ではこんな感じ
PackedVector2Array:点の集合体=ポリゴン
Array[PackedVector2Array]:複数ポリゴン
Polygon2D:ポリゴンを表示に使う
ColiisionPolygon2D:ポリゴンを接触判定に使う
Geometry2D:ポリゴンの加工、評価の為の便利関数群
174: 2024/03/24(日)06:18 ID:NBGeRgaU(1) AAS
>>172
前に色々調べたときgodotでC#つかうとC#部分は速いけど本体APIとのやりとり部分でオーバーヘッドが生じやすく
トータルでみると結局全部GDスクリプトで書くほうが速いみたいな話を読んだ記憶
175: 軌道予測 2024/03/24(日)06:25 ID:o0STPUVA(1/5) AAS
>>172
厳密すぎて疲れるっていうかね、、、
>>173
geometry2dは位置を作るだけですね、理解
ありがとう
176: 軌道予測 2024/03/24(日)10:42 ID:o0STPUVA(2/5) AAS
なんやcopilot普通に使えるやん
マイクロソフトだからなんか微妙なイメージ持ってたわ
177: 2024/03/24(日)16:34 ID:30RJWthY(1) AAS
使えるは使えるけど、全体の設計とか関数の仕様理解してないと出鱈目なもの作っちゃうな
何でもよしなに作ってもらえるものじゃない
178: 軌道予測 2024/03/24(日)17:12 ID:o0STPUVA(3/5) AAS
まあ質問の仕方っすね
179: 軌道予測 2024/03/24(日)19:25 ID:o0STPUVA(4/5) AA×

180: 軌道予測 2024/03/24(日)19:26 ID:o0STPUVA(5/5) AAS
訂正:ノード2で描画を行ってから、別シーンにしたノード1をadd_childし、描かれたラインとコリジョンの情報を渡すような流れでしょうか
181(1): 2024/03/24(日)23:02 ID:zekcFUEh(1) AA×

182: 軌道予測 2024/03/25(月)07:32 ID:SFtNN9tG(1/5) AAS
>>181
別にしなくていいんですね
line2dで描いたものの頂点をgeometry2dのoffset_polylineで取得して、その頂点をpolygon2dで再描画すりゃいいんですね
ありがとう
183: 軌道予測 2024/03/25(月)08:27 ID:SFtNN9tG(2/5) AAS
polygon2dってコリジョンつけるクラスだと思ってたナリ(*´ω`*)
184: 軌道予測 2024/03/25(月)14:16 ID:SFtNN9tG(3/5) AAS
1つのファイルに何行くらいコード書きます?
文字数増えると訳わからんくなるけど、対策とかないのかな
自分で1日前書いたコードが若わかめになる
185: 軌道予測 2024/03/25(月)14:38 ID:SFtNN9tG(4/5) AAS
godotって変数のアウトライナーってないのかな?
186: 軌道予測 2024/03/25(月)18:03 ID:SFtNN9tG(5/5) AAS
ど忘れしたんだけども、インスタンス化したシーンから、そのシーンの変数にアクセスできないのって普通なんだっけ?
オートロードかグローバル変数にでもしない限りは。
187(1): 2024/03/25(月)22:34 ID:qPdwNxZG(1) AAS
「インスタンス化したシーンから、そのシーンの変数にアクセスできない」のは普通ではない
指示代名詞は誤解の元だからできるだけ使用は避けるべきだと思う
「その」が親のシーンを指しているのならば子インスタンスからはownerプロパティで参照できる
188: 軌道予測 2024/03/26(火)06:21 ID:UiMW4uHO(1/4) AAS
>>187
通常はインスタンス化するだけでグローバル化もなしに、アクセス出来るものですか?
試したらできましたが、できないパターンもあり、違いがよくわからないところです
189: 2024/03/26(火)09:55 ID:RAozxNLR(1) AAS
せめてそのできないパターンのソースを示せよ
190: 軌道予測 2024/03/26(火)11:36 ID:UiMW4uHO(2/4) AAS
どうも
以下のコードなのですが、polygonプロパティにアクセスするとinvalied get indexエラーになるのです
しかし、このシーンをオートロードに指定していることが原因だったようです
それを今から調べます
画像リンク
extends RigidBody2D
var polygon2d_node
var collisionPolygon_node
var polygonArray:PackedVector2Array = [
Vector2(0,0),
Vector2(200,0),
Vector2(200,100)
]
func _ready() -> void:
polygon2d_node = $"Polygon2D"
collisionPolygon_node = $"CollisionPolygon2D"
polygon2d_node.polygon
191: 軌道予測 2024/03/26(火)12:42 ID:UiMW4uHO(3/4) AAS
あーそうか シングルトン的な観点で駄目なのかこれは
192: 2024/03/26(火)16:26 ID:KPzoI6q7(1) AAS
描画するノードをオートロードに配置する設計に問題はあると思うが
そのコードはエラー無く動いたのでオートロードだからエラーになる訳ではないな
それはそれとして子ノードを参照する変数は宣言と初期化を纏めると
総行数が減って、_ready()以外でも自動補完も効くようになってお得
@onready var polygon2d_node := $Polygon2D
@onready var collisionPolygon_node := $CollisionPolygon2D
193: 軌道予測 2024/03/26(火)16:34 ID:UiMW4uHO(4/4) AAS
ありがとう
原因は良くわからないけど、オートロードはなるべく使わずに作っていきます
194: 軌道予測 2024/03/27(水)06:23 ID:E2lXw+Px(1/8) AAS
別シーンのready内で下位ノードを取得している場合、
呼び出す側のシーンにアタッチされた時点で、別シーンのreadyが実行されるから、アタッチされる前に下位ノードを取得しようとするとnullになるんすね(*´ω`*)
195(1): 軌道予測 2024/03/27(水)06:41 ID:E2lXw+Px(2/8) AAS
このスクリプトで別シーンのpolygon2d_nodeを取りたいのですが、add_childするとnullになりますね
対策としてpolygon2d_nodeをonreadyにしてみたのですが、それでもnullですね
この辺理解してませんが、onreadyを使うと同期出来るわけじゃないんですかね
var ins = rididDrawLine_scene.instantiate()
#root_node.add_child(ins)
print(ins.polygon2d_node)
@onready var polygon2d_node = get_node("Polygon2D")
196(1): 2024/03/27(水)07:46 ID:asE13Xlz(1/3) AAS
@onreadyはシーンにぶら下がっているノードの参照を安全に得るために使う
@onready指定された変数に格納されるノードの初期化が完了するまで_readyの実行が待機される
>>195のコードはイメージしてる事は判らなくもないが
print(ins.polygon2d_node)ではinsノードの配下にあるpolygon2d_nodeへのアクセスを試みる事になる
子シーンのインスタンス側で設定されていなければエラーとなる
なので書き直すとこうなる
# シーンをインスタンス化する
var ins = rididDrawLine_scene.instantiate()
# インスタンス化したシーンのノードにアクセスする
var polygon2d_node = ins.get_node("Polygon2D")
print(polygon2d_node)
# インスタンス化したシーンを子ノードとして"root_node"に追加する
#root_node.add_child(ins)
add_childでも悶着ありそうだが眠いので説明は割愛する
root_nodeとはどこを指すのか
rootならばcall_defferdを使うと良いがrootである必要はあるのか
197: 2024/03/27(水)07:48 ID:AFLeB0Kj(1) AAS
Mirrorってなんぞ
上下前次1-新書関写板覧索設栞歴
あと 805 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.057s