【軽量】godot engine【無料】 part4 (840レス)
上下前次1-新
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
1(6): 2024/07/31(水)07:46 ID:fxP1vISb(1/7) AAS
Godotエンジンは機能豊富な、クロスプラットフォームのゲームエンジンであり、2D・3Dゲームを単一のインターフェイスで製作することができます。
基本的なツールは一通り用意され、ユーザーはプログラムの再発明をすることなくゲーム製作に集中できます。
製作したゲームは主要なデスクトップ環境(Linux, MacOS, Windows)や、モバイル(Android, iOS)、Webベース(HTML5)環境にワンクリックで書き出せます。
GodotはMITライセンスの下、完全に自由でオープンソースです。
利用に関して特に制限はありませんし、利用料を請求することもありません。
エンジンのコードの最後の一行まで、ゲームは製作したユーザーのものです。
Godotは自主的なコミュニティによって開発されており、エンジンを期待にかなうものにするため、ユーザーの方々も自由に参加できます。
Godotは非営利団体Software Freedom Conservancyによって支援されております。
■公式サイト
外部リンク:godotengine.org
省8
821: 08/21(木)10:26 ID:OYDY07jx(1/8) AAS
見ないで答えるにはそれを知っていなければならないから最初は必ず見る
クイズだとしても知識を持っていなければ答えられない
パズルだとしてもルールを知らなければ考えられない
プログラムとはコンピュータとの対話言語を使った会話
言葉を覚えると言う意味では他言語とセオリーは変わらない
曖昧さが少ない分覚えやすいまである
822: 08/21(木)12:09 ID:Ajf2SJxV(1) AAS
最後はアルゴリズムだからなぁ
823: 08/21(木)12:24 ID:OYDY07jx(2/8) AAS
ゲームにおけるデータ処理なら必要なアルゴリズムは辞典読めば事足りると思う
ゲームに必要な物ならある程度はエンジンが機能を提供してくれる
他がやってない独創的な処理を実装したいなら頭悩ますしかないね
824: 08/21(木)13:27 ID:zThVp00O(1/3) AAS
実装したい機能について考え方さえわからない場合も多い
Godotではないが答えを見なければ今でも簡単な当たり判定すら実装できていなかっただろうと思う
825(2): 08/21(木)14:05 ID:/HImpd/9(3/3) AAS
キャラクターをスイッチしたいのだけども
アクティブキャラだけ操作権があって、別キャラと衝突したらそっちに操作権が移る
シグナルはキャラA,B共にarea2dを使っていてあらかじめ有効化している
シグナルのオンオフをいちいち切り替えるのは面倒そうなんで
a,b両方から衝突のシグナルが飛んでくるんで、フィルタリングしたい
フィルタリングの条件分岐に必要な要素って何があるかな?
現在操作キャラ(a)からのシグナルを無視して、それ以外(b)からのシグナルが来たら、bに切り替えるって流れかな
オンオフで対応したほうがシンプルでいいかな
こういう論理的思考が壊滅的に出来ないみたい
練習方法ない?
826: 08/21(木)14:59 ID:OYDY07jx(3/8) AAS
自分が理解できない物を論理的に考えるのは無理なのでまず自分が理解できる所まで単純化する
コンピュータを指示通りに動く人として捉える
相手に自分の考えを伝えるには相手が理解できる言葉を使う
相手がどこまで理解できているかを想像する
>>325の例題を要約すると以下の感じであってるかな?
「アクティブ時にのみ操作可能なキャタクターが複数存在する」
「操作キャラクターが操作可能キャラクターに衝突すると操作権が衝突した相手に移る」
相手が理解しやすい単純な説明を心がける
まず概要を伝えて会話する為の基礎を築く
シグナルとかArea2Dだとか複雑な話題はなくて良い
省4
827: 08/21(木)15:00 ID:OYDY07jx(4/8) AAS
>>325でなくて>>825だったわ
828(2): 08/21(木)15:57 ID:OYDY07jx(5/8) AAS
必要なのかどうか判らんが>>825の制御方法を回答するなら以下かな
操作可能キャラクターに現在操作権があるかどうかを判定するアクティブフラグを持たせる
操作はフラグが有効な場合にのみ処理する
衝突シグナルの発呼はフラグが有効な場合にのみ処理する
衝突シグナル発呼後にフラグを無効にする
衝突シグナル着呼時にフラグを有効にする
829(2): 08/21(木)17:37 ID:zThVp00O(2/3) AAS
AA省
830: 08/21(木)18:26 ID:OYDY07jx(6/8) AAS
ゲームマネージャがアクティブなキャラクターを保持する方式だね
その方が今誰がアクティブなのかが即判るので良いかもね
一つ気になる点としてはAの処理とBの処理の処理順でAが先に処理される場合
キャラクターAがBに衝突した際にアクティブキャラクターをBに更新してしまうと
その後のB側の衝突処理でBは自分がアクティブキャラクターと認識してAに更新してしまうのではと思う
さてどうかな?
仕様を誰でも判りやすい言語化するのはAIとの対話にも役立つと思うよ
831: 08/21(木)18:35 ID:OYDY07jx(7/8) AAS
ちょっと訂正、後から文章足したからキャラクターAの登場がずれた
キャラクターAとBが存在する時にAとBの処理順がAが先に処理される場合
AがBに衝突した際にアクティブキャラクターをBに更新してしまうと
その後のB側の衝突処理でBは自分がアクティブキャラクターと認識してAに更新してしまうのではと思う
832: 08/21(木)19:10 ID:zThVp00O(3/3) AAS
おっしゃる通りキャラAからキャラBにタッチした時にB側の_on_area_enteredが実行されて再度キャラAに操作権が渡る可能性があるため(物理サーバーがシグナルを発火させる順番に依存するため100%ではない)
「アクティブ側だけが切替処理を実行」「同じ物理フレームでの多重切替を禁止」の処理を盛り込む必要ありです
流石です
833: 08/21(木)19:31 ID:OYDY07jx(8/8) AAS
AIが使えるとかなり捗るね
自分の上げた>>828方式だと発呼するのが一人だけなのが保証されているので複数による切り替えは発生しない
>>829方式の場合はもうひと工夫が必要
これもやり方は色々あるけど一つ方法を挙げておくと
即時にアクティブキャラクターを更新するのが問題の発生原因なので更新処理を遅延させる
call_deferredを使用すると現フレームと次フレームの間に処理が行われるのでこれを利用する
より具体的にはアクティブキャラクター更新処理を関数化してcall_deferredで呼ぶ
自分で使うならこう書くんだけど行儀が良くないコードなので実用するなら適宜直してね
(func():gm.active_char = other_char).call_deferred()
834: 08/22(金)12:59 ID:5H9qw/cT(1/2) AAS
ありがとう
じっくり読んで作るナリよ
やっぱりアクティブキャラだけシグナルを発する方式が安全なんすかね?
835: 08/22(金)13:20 ID:hykeI/+Z(1) AAS
今回上がった>>828,829どちらでも多重切り替えの対策をしていれば安全性は変わらない
作る人が作りやすい間違えにくい方式を選べば良い
現在のアクティブキャラを頻繁に知る必要があるなら>>829の方が良いと思う
>>828の場合は対象キャラクターの全件走査が必要になる
>>828のメリットはゲームマネージャ不要なので携わるクラスやファイルが少なくなる事かな
全件走査の件はグローバルクラス化して静的変数を持たせればゲームマネージャを用意せずとも同じ結果を得られる
やり方は色々存在する
尚現処理では2体以上のキャラクターと同時に衝突した場合の切り替え対象が不定となるので
優先順位が必要な場合は何らかの追加処理が必要
836: 08/22(金)19:05 ID:5H9qw/cT(2/2) AAS
ありがとう
勉強がてら、フィルタリングでやってみるか
837: 08/25(月)19:24 ID:pgacrMvG(1) AAS
パッパとRPG造りたいナリ
838: 08/26(火)07:36 ID:jvaDPhtX(1) AAS
そういうあなたにぴったりなゲームエンジンがカドカワさんからでてますよ・・・
839: 08/26(火)09:16 ID:QxOlVIen(1) AAS
あーいうの余計むずく感じるんで無理
840: 08/26(火)13:49 ID:WJT07pkb(1) AAS
じゃあ、おまえは何もできません、おまえ自身が無理だからです
出直してきてください
はい、次のワナビどうぞ
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.021s