【軽量】godot engine - part2
レス数が1000を超えています。これ以上書き込みはできません。
0953名前は開発中のものです。
垢版 |
2024/02/15(木) 12:29:22.48ID:I2lSz8t6
>>952
コード内からシグナル呼び出す方法がconnectで、エディタだけでやる場合はシグナルってことじゃないのですか?
0954名前は開発中のものです。
垢版 |
2024/02/15(木) 13:02:15.82ID:4oQt/aCU
新しい方が使い勝手が良いだけだから目的通りに動いていて問題ないならそれで良いよ
Objectクラスのconnectメソッドは3.xで使われている古い形式
https://docs.godotengine.org/ja/3.x/getting_started/step_by_step/signals.html#connecting-a-signal-via-code
Signalクラスのconnectメソッドは4.xからの新しい形式
https://docs.godotengine.org/ja/4.x/getting_started/step_by_step/signals.html#connecting-a-signal-via-code
0955名前は開発中のものです。
垢版 |
2024/02/15(木) 14:24:30.75ID:I2lSz8t6
ありがとう
動けばいいね 完成目指す
0958名前は開発中のものです。
垢版 |
2024/02/17(土) 06:08:28.85ID:lpQfy7dC
【軽量】godot engine【無料】 part2
* ダウンロード
https://godotengine.org/
* フォーラム
https://www.reddit.com/r/godot/
https://forum.godotengine.org/
* リファレンス
https://docs.godotengine.org/en/stable/index.html
* こんなのが作れるよ
https://www.youtube.com/watch?v=UAS_pUTFA7o
https://www.youtube.com/watch?v=ao34A0Y2x6c
-----------
↑これでいいか?
★次スレは950がたててください
0959名前は開発中のものです。
垢版 |
2024/02/17(土) 07:27:52.08ID:79tXZS3b
【軽量】godot engine【無料】 part3
--テンプレートここから--
Godotエンジンは機能豊富な、クロスプラットフォームのゲームエンジンであり、2D・3Dゲームを単一のインターフェイスで製作することができます。
基本的なツールは一通り用意され、ユーザーはプログラムの再発明をすることなくゲーム製作に集中できます。
製作したゲームは主要なデスクトップ環境(Linux, MacOS, Windows)や、モバイル(Android, iOS)、Webベース(HTML5)環境にワンクリックで書き出せます。

GodotはMITライセンスの下、完全に自由でオープンソースです。
利用に関して特に制限はありませんし、利用料を請求することもありません。
エンジンのコードの最後の一行まで、ゲームは製作したユーザーのものです。
Godotは自主的なコミュニティによって開発されており、エンジンを期待にかなうものにするため、ユーザーの方々も自由に参加できます。
Godotは非営利団体Software Freedom Conservancyによって支援されております。

■公式サイト
https://godotengine.org/
■コミュニティ
https://godotengine.org/community/
■ドキュメント
https://docs.godotengine.org/ja/4.x/
■こんなのが作れるよ
https://www.youtube.com/watch?v=W1_zKxYEP6Q
https://www.youtube.com/watch?v=UAS_pUTFA7o
https://www.youtube.com/watch?v=ao34A0Y2x6c
■前スレ
【軽量】godot engine - part2
https://mevius.5ch.net/test/read.cgi/gamedev/1619755427/
★次スレは>>950がたててください
--テンプレートここまで--

少し直してみた、前スレ無くても良いかと思ったが見る事もあるのかなと
0961名前は開発中のものです。
垢版 |
2024/02/17(土) 10:41:37.67ID:lpQfy7dC
https://tech.pjin.jp/blog/developer/godot_basic11
godotはグローバル変数がないのね(*´ω`*)、、、

キャラクターから玉を発射するとき、その弾の発射位置を決めないといけない
キャラクターの位置から発射されるとして、キャラクターの位置情報を玉シーンに渡したい場合はグローバル変数でいいのかな?
0962名前は開発中のものです。
垢版 |
2024/02/17(土) 11:11:54.26ID:RX1RYYC1
目的が達成できるなら厳密な定義のグローバル変数があるとかないとかは重要には思えない

キャラクターが弾を発射した際に弾シーンをインスタンス化して使用しているなら
グローバルを介さずともインスタンスの設定処理を呼ぶなりプロパティを直接変更するなりできるのでは?
0963名前は開発中のものです。
垢版 |
2024/02/17(土) 12:41:35.62ID:lpQfy7dC
ありがとう
単純にpositionを指定すればいいだけでした
ありがとう

常に共有する必要ないならグローバルにすることもないすね
0964名前は開発中のものです。
垢版 |
2024/02/17(土) 14:32:38.06ID:lpQfy7dC
ゲームはヘタに長編とか企画しないほうがいいかな?
完成すらままならないし game a week
0967名前は開発中のものです。
垢版 |
2024/02/17(土) 16:15:14.30ID:g0jnqHff
動画コメントにNode2DVirtualが最新ではINode2Dに変わったってあってそこの次には勧めたけど
今度はBase<Node2D>にget_position()がないって言われた
0968名前は開発中のものです。
垢版 |
2024/02/17(土) 20:02:49.87ID:ALvQDFgf
>>967
self.base().get_position()
#501 で変更されたようです
0969名前は開発中のものです。
垢版 |
2024/02/17(土) 20:29:20.16ID:lpQfy7dC
質問させてください
1,2,3,4,5という球体があって、その球体を箱の中にバラマキ、衝突した者同士を合体させたいです
1と2が衝突したら、3に加算されて合体する感じです

こういうスクリプトは1つのコードで作れるのでしょうか?

ボールの基礎となるballBaseというシーンを作り、そのシーンを継承したシーン1、2,3,4,5を作っています
0972名前は開発中のものです。
垢版 |
2024/02/17(土) 20:53:30.78ID:8+3skhOA
単純な加算なら
・各ID(1~5)を保持する変数
・接触時のID加算メソッド
・生成用シーンのパスまたはExport
をベーススクリプトに置いて
継承側でID指定しておけばいけるんじゃないかな

ソラで考えたから適当やけど
0973名前は開発中のものです。
垢版 |
2024/02/18(日) 10:54:40.58ID:pPH7PCwn
ありがとう
設計考えるのは難しい
創作部分に力を使えない
0974名前は開発中のものです。
垢版 |
2024/02/18(日) 11:18:36.23ID:pPH7PCwn
1つのノードに対してスクリプト1つだけのようですが、スクリプトを増やしたいのならノードを増やすのですかね
1つのスクリプトがゴチャつくと嫌なので
0977名前は開発中のものです。
垢版 |
2024/02/19(月) 01:11:53.28ID:DtZmL+d4
>>937の者ですがShapeCast2DによるArea2Dの検出を使うことで解決しました
大量の衝突を扱うにはパフォーマンス的に向いてなさそうではあるが自分の用途的には問題なさそう
色々アドバイスくれた人に感謝

備忘録的に自分が引っかかった部分を書いておくと
Area2Dの移動後にArea2D.force_update_transform()で物理サーバー上の位置を更新しておかないと
ShapeCast2D.force_shapecast_update()の検出が思ったようにいかないので注意
0980名前は開発中のものです。
垢版 |
2024/02/19(月) 21:37:25.61ID:ySU3/gww
onClickみたいなやつがシグナルじゃないの?
0981名前は開発中のものです。
垢版 |
2024/02/19(月) 23:28:37.50ID:P79bWfFH
ユニティーで言うところのonClickみたいなかんじでしょうか

まだ使ったこともないのでよくわからないのですが
シグナルって自由に名前定義できてどのスクリプトからも受信できるっていう認識であってますか?

例えばプレイヤーが敵に衝突して死んだ場合
プレイヤースクリプトからplayer_deadっていうシグナルを発信
メインスクリプトでplayer_dead受信したらゲームオーバー処理
みたいなことができるのでは?というイメージなのですが
0982名前は開発中のものです。
垢版 |
2024/02/20(火) 05:10:11.44ID:TYJz4VqA
そんな感じです
名前定義は出来ない認識ですが、よくわからない
0984名前は開発中のものです。
垢版 |
2024/02/20(火) 12:32:18.39ID:ajfww+mh
シグナルをイベント発火時に外部ルーチンを呼び出す処理と見なすなら
Unityで同等の事を行うにはこの記事が参考になる
https://ekulabo.com/send-messages-sample

シグナルの良い点は発火側が受信側の存在を意識する必要がない事
受信側が必要に応じて接続する
必要がなければ接続しなくても問題がない

シグナルの別な良い点はawaitに対応している事
シグナル発火までawaitで待つ事ができる
0985名前は開発中のものです。
垢版 |
2024/02/20(火) 16:11:46.57ID:953VQrex
>>982
やはりそうですか
>>983
ドキュメント長すぎて心折れそうになりましたが下のほうにシグナル説明ありますね
シグナルって引数も発信できるのですね すごい
>>984
UNITYでも同じような処理できるのですね URL参考に勉強してみます

シグナルって引数も送れて必要がなければ別に接続してもしなくてもOK
これってすごい便利ですね シグナルすこしわかってきたような感じがします
みなさま回答ありがとうございます
0986名前は開発中のものです。
垢版 |
2024/02/20(火) 18:33:04.94ID:TYJz4VqA
こんにちわ

カーソルの位置をキャラクターをゆつくり移動させるために、move_toward関数使ってみたんですが、以下の減算するだけのコードでもいけました。

extends CharacterBody2D

var SPEED = 300

var cursor_position
var player_position
func _ready() -> void:
pass
func _process(delta: float) -> void:
cursor_position = get_global_mouse_position()
player_position = self.position
player_position = (cursor_position - player_position).normalized()
move_and_collide(player_position * SPEED * delta)

単純にこれでいけたのですが、move_towardというのは見当違いの機能だったでしょうか?
0988名前は開発中のものです。
垢版 |
2024/02/20(火) 21:15:18.04ID:ajfww+mh
>>986のコードではcursor_positionに到達した後に微動作し続ける
move_towardを使えばtoの位置で止まるので静動させるならmove_towardを使う
0989名前は開発中のものです。
垢版 |
2024/02/20(火) 22:18:20.67ID:OUfUeN9r
GodotってAPKの中身丸見えでスクリプト構造も丸見えで
オープンソースだから対策もさほどできなくて、ずっーと丸見えなんですって?
やだぁ〜エッチ〜w
0991名前は開発中のものです。
垢版 |
2024/02/21(水) 06:39:44.21ID:pdI9ZoxT
>>987
>>988
ありがとう
パフォーマンス気にしないならこのままでいいみたいですね
0994名前は開発中のものです。
垢版 |
2024/02/21(水) 10:06:40.02ID:pdI9ZoxT
平凡なしくみを面白く仕上げるのがクリエイティビティなんだろうか
ただのバウンドするボールを面白く仕上げるとかね
0995名前は開発中のものです。
垢版 |
2024/02/21(水) 10:49:01.60ID:pdI9ZoxT
インデントについて、4でもタブとスペースの混在は駄目なんですかね。
0996名前は開発中のものです。
垢版 |
2024/02/21(水) 19:10:13.19ID:pdI9ZoxT
>>986
このコード投稿したものなんですが、これはマウスカーソル位置にキャラクターを徐々に動かすもんです
途中にウンコが落ちていたとして、それを迂回するように回避する方法ってあるでしょうか?
https://www.youtube.com/watch?v=fS0IhyZrzts
この動画だとパス使ってるみたいですが、コードでできればいいです

ウンコに大きめのコリジョンをつけるか、ウンコの領域に入ったら、キャラクターのコリジョンを広げる方法を今ためしてみます
0997名前は開発中のものです。
垢版 |
2024/02/22(木) 13:17:37.77ID:99VHeX8k
テンプレで次スレ立てを深く考えず安易に950で指定してしまったが
現状や他スレを見るに980辺りで良かったと思う
次スレが立つのはずっと未来の話だが立てるタイミングの調整とテンプレ修正が必要

>>996
単純な回避でも左右どちらに避けるギリギリで避ける早めに避けるだの考慮する点は多い
Navigation2Dは複雑な地形であってもルート算出してくれるのだから使えるならその方が楽だろう

>>995
インデントの問題は議論はしている様だが現状のまま
オプションで選べても良いとも思うが綺麗に書く心がけをしていれば問題ない
スペースを可視化するオプションがあるので有効にすれば打ち間違いは目視できる

>>994
跳ね返るボールを打ち合うPONG
跳ねるボールを壊すキャノンボール
転がるボールを運ぶマーブルマッドネス
ボール一つ取ってもみても歴史があり様々なアイデアがある
アイデアを具現化するのがクリエイティビティなんだと思う
面白い面白くないはアイデアの評価でありクリエイティビティとは関係ない
0998名前は開発中のものです。
垢版 |
2024/02/22(木) 18:12:59.14ID:AyYlDxOL
>>996
ありがとう
何が何でもプログラムで動きを作る必要はないのだろうけど、この辺一度やってみたいから、シューティングでもやろうかな

ゲームは既存のアイディアを改変死たほうがいいと思う
0から作ろうとすると面白くもなんともない物体が出来る
身の程を知るというか
0999名前は開発中のものです。
垢版 |
2024/02/22(木) 19:50:17.46ID:AyYlDxOL
う目
1000名前は開発中のものです。
垢版 |
2024/02/22(木) 19:50:22.89ID:AyYlDxOL
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1028日 6時間 46分 36秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。

▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/

▼ UPLIFTログインはこちら ▼
https://uplift.5ch.net/login
レス数が1000を超えています。これ以上書き込みはできません。

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