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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
169: 名前は開発中のものです。 [sage] 2024/03/23(土) 14:40:47.81 ID:OOg18fNS(1) AAS
ハイポリモデルを使うのがキツイのはエンジンじゃなくてマンパワーでしょ
170: 軌道予測 [] 2024/03/23(土) 18:16:55.69 ID:apw+jUEF(3/4) AAS
最新のgptは有料じゃないと使えないのかな
godot4についてはデータベースがないみたい

copilot使ってみるけど、他におすすめある?
171
(1): 軌道予測 [] 2024/03/23(土) 19:49:59.54 ID:apw+jUEF(4/4) AAS
geometry2dのoffset_polylineについて質問なんですけど、この関数にポリラインの配列を渡すとなぜか2次元配列で帰って来るのですが、なぜでしょうか
外部リンク[html]:docs.godotengine.org
返り値をcollisionPolygon2dに代入して使いたいのですが
collisionPolygon2d.polygon = array
172
(2): 名前は開発中のものです。 [sage] 2024/03/23(土) 23:13:23.43 ID:uy0YEbAb(2/2) AAS
C#で書いてたらだんだん損した気分になってきた…
173
(1): 名前は開発中のものです。 [sage] 2024/03/23(土) 23:57:14.52 ID:J5ee5UXV(1) AAS
>>171
そこの説明に書いてある通りで結果が複数になる場合があるから
>because inflating/deflating may result in multiple discrete polygons.
安易な対応方法としては厳密に扱う必要がなければ最初の要素だけ使えば良い
ollisionPolygon2d.polygon = array[0]

>>166
166(1): 軌道予測 [] 2024/03/23(土) 10:59:33.56 ID:apw+jUEF(1/4) AAS
geometry2dってポリゴン2dみたいにポリゴンを描くクラスと考えていいんでしょうか
まだ使い方が分かってない
ただ、シングルトンではあるみたいです

>>165
ありがとう
自分の認識ではこんな感じ
PackedVector2Array:点の集合体=ポリゴン
Array[PackedVector2Array]:複数ポリゴン
Polygon2D:ポリゴンを表示に使う
ColiisionPolygon2D:ポリゴンを接触判定に使う
Geometry2D:ポリゴンの加工、評価の為の便利関数群
174: 名前は開発中のものです。 [sage] 2024/03/24(日) 06:18:11.73 ID:NBGeRgaU(1) AAS
>>172
前に色々調べたときgodotでC#つかうとC#部分は速いけど本体APIとのやりとり部分でオーバーヘッドが生じやすく
トータルでみると結局全部GDスクリプトで書くほうが速いみたいな話を読んだ記憶
175: 軌道予測 [] 2024/03/24(日) 06:25:14.14 ID:o0STPUVA(1/5) AAS
>>172
厳密すぎて疲れるっていうかね、、、

>>173
geometry2dは位置を作るだけですね、理解
ありがとう
176: 軌道予測 [] 2024/03/24(日) 10:42:59.23 ID:o0STPUVA(2/5) AAS
なんやcopilot普通に使えるやん
マイクロソフトだからなんか微妙なイメージ持ってたわ
177: 名前は開発中のものです。 [] 2024/03/24(日) 16:34:42.38 ID:30RJWthY(1) AAS
使えるは使えるけど、全体の設計とか関数の仕様理解してないと出鱈目なもの作っちゃうな
何でもよしなに作ってもらえるものじゃない
178: 軌道予測 [] 2024/03/24(日) 17:12:56.64 ID:o0STPUVA(3/5) AAS
まあ質問の仕方っすね
179: 軌道予測 [] 2024/03/24(日) 19:25:47.06 ID:o0STPUVA(4/5) AAS
line2dで描いた線をリジッドボディ化する方法ってありますか?
コリジョンをつける件は解決したのですが、ノードの構成をどうすればいいかなと

↓ライン2dをリジッドボディにするには以下のノード構成にする必要があります
ノード1
■rigidbody2d
├line2d
└collisionPolygon2

描く用のline2dノードは別にあって、そこにスクリプトをつけます。
描き終わった時点で物理をつけて、落下させるという処理をしたいです。
ノード2
■line2d_drawing(描画処理を行うノード)

ノード2で描画を行ってから、別シーンにしたノード1に描かれたラインとコリジョンの情報を渡すような流れでしょうか

簡単なプログラムをかけても、こういう、流れ?フローの設計がかなり苦手(*´ω`*)
180: 軌道予測 [] 2024/03/24(日) 19:26:54.19 ID:o0STPUVA(5/5) AAS
訂正:ノード2で描画を行ってから、別シーンにしたノード1をadd_childし、描かれたラインとコリジョンの情報を渡すような流れでしょうか
181
(1): 名前は開発中のものです。 [sage] 2024/03/24(日) 23:02:04.63 ID:zekcFUEh(1) AAS
ノード1にLine2Dがあるのに描く用のLine2Dが別にあると言う点が理解できない
Line2Dは線を描く為の物なので同じ内容なら2回も描く必要がない
Line2Dが保持している点データを使いまわしたいのならば
点データ管理用の変数を作ってそれをLine2Dやコリジョン作成に利用すると良い

ノードの構成自体は自分だとこうなる
違うのは描画にLine2DではなくPolygon2Dを使う点
CollisionPolygon2Dに接触判定用のポリゴンデータが渡せるなら
Polygon2Dに全く同じデータを渡して表示する事ができる

シーン1:ゲームを管理する本体
■Node2D※Node2Dである必要は特にないゲームを管理する為のスクリプトをアタッチする

シーン2:インスタンス化して使用する
■RigidBody2D:プレイヤーが描き込んだ物体
├Polygon2D:物体の描画に使う
└CollisionPolygon2D:物体の接触判定に使う
182: 軌道予測 [] 2024/03/25(月) 07:32:49.38 ID:SFtNN9tG(1/5) AAS
>>181
別にしなくていいんですね
line2dで描いたものの頂点をgeometry2dのoffset_polylineで取得して、その頂点をpolygon2dで再描画すりゃいいんですね
ありがとう
183: 軌道予測 [] 2024/03/25(月) 08:27:58.80 ID:SFtNN9tG(2/5) AAS
polygon2dってコリジョンつけるクラスだと思ってたナリ(*´ω`*)
184: 軌道予測 [] 2024/03/25(月) 14:16:15.68 ID:SFtNN9tG(3/5) AAS
1つのファイルに何行くらいコード書きます?
文字数増えると訳わからんくなるけど、対策とかないのかな
自分で1日前書いたコードが若わかめになる
185: 軌道予測 [] 2024/03/25(月) 14:38:30.56 ID:SFtNN9tG(4/5) AAS
godotって変数のアウトライナーってないのかな?
186: 軌道予測 [] 2024/03/25(月) 18:03:15.07 ID:SFtNN9tG(5/5) AAS
ど忘れしたんだけども、インスタンス化したシーンから、そのシーンの変数にアクセスできないのって普通なんだっけ?
オートロードかグローバル変数にでもしない限りは。
187
(1): 名前は開発中のものです。 [sage] 2024/03/25(月) 22:34:21.53 ID:qPdwNxZG(1) AAS
「インスタンス化したシーンから、そのシーンの変数にアクセスできない」のは普通ではない
指示代名詞は誤解の元だからできるだけ使用は避けるべきだと思う
「その」が親のシーンを指しているのならば子インスタンスからはownerプロパティで参照できる
188: 軌道予測 [] 2024/03/26(火) 06:21:35.33 ID:UiMW4uHO(1/4) AAS
>>187
通常はインスタンス化するだけでグローバル化もなしに、アクセス出来るものですか?
試したらできましたが、できないパターンもあり、違いがよくわからないところです
189: 名前は開発中のものです。 [sage] 2024/03/26(火) 09:55:23.93 ID:RAozxNLR(1) AAS
せめてそのできないパターンのソースを示せよ
190: 軌道予測 [] 2024/03/26(火) 11:36:39.08 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:11.47 ID:UiMW4uHO(3/4) AAS
あーそうか シングルトン的な観点で駄目なのかこれは
192: 名前は開発中のものです。 [sage] 2024/03/26(火) 16:26:55.68 ID:KPzoI6q7(1) AAS
描画するノードをオートロードに配置する設計に問題はあると思うが
そのコードはエラー無く動いたのでオートロードだからエラーになる訳ではないな

それはそれとして子ノードを参照する変数は宣言と初期化を纏めると
総行数が減って、_ready()以外でも自動補完も効くようになってお得

@onready var polygon2d_node := $Polygon2D
@onready var collisionPolygon_node := $CollisionPolygon2D
193: 軌道予測 [] 2024/03/26(火) 16:34:45.75 ID:UiMW4uHO(4/4) AAS
ありがとう
原因は良くわからないけど、オートロードはなるべく使わずに作っていきます
1-
あと 809 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.024s