[過去ログ] 【ワナビ歓迎】ゲーム開発者未満の雑談スレ 4 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
230(1): 2023/07/27(木)13:12 ID:0RB3Lypy(5/6) AAS
スレタイは開発者未満の雑談スレになってる!つまりここは肥溜めワナビ隔離スレ!
ワイの様なスーパーエリート開発者はお呼びで無いちゅーことか!?m9(´・ω・`)ドーン!
231: 2023/07/27(木)13:17 ID:0RB3Lypy(6/6) AAS
お前らワナビの生態を観察してたんだよ!
お前らがワナビなのは器が小さく許容性が無く
日本語が下手くそで独りよがりで協調性も無ければ足の引っ張り合いしかできないからと結論づけた!じゃーな!あばよ!死ね!m9(´・ω・`)ドーン!
232: 2023/07/27(木)13:18 ID:7pQn34WX(2/2) AAS
>>220
これとかね
相手が何を言っても無駄な人だと分かっているなら
逆に何故何度も指摘するんだろうか
そういうとき普通は相手にするのをやめるんだよ
233: 2023/07/27(木)13:55 ID:Mk5MaEXU(2/2) AAS
>>230
逆だよwドーンさんへの援護でしょw
まあ去るなら止めはしないけどね!
234: 2023/07/27(木)14:03 ID:hlUHT29V(3/5) AAS
なぜ何度も指摘するか
それは何度も書き込むのと同じ
ようはどちらも同じ種類って事よ
235: 2023/07/27(木)14:57 ID:WqAHV7up(2/2) AAS
5分前の事を覚えていないボケ老人でもたった一つだけ忘れさせない方法がある
心に強く深く傷跡を残せばいいんだよ
まぁ理由すら忘れてしまって恐怖や絶望しか残らないかも知れんが
忘れない事は忘れない
236(1): 2023/07/27(木)15:12 ID:ITN/PV6h(1/2) AAS
Unityの話だけど
色々なゲームオブジェクトが相互にアクセスしたい場合に
①オブジェクトが自分で全ての参照を保持してアクセスする
②管理オブジェクトを作成して全ての参照を保持させる、処理を担当するオブジェクトは管理オブジェクトを参照して間接的に相互にアクセスする
のどちらが望ましいんだろう?
まあ結局のところプロジェクトの規模、仕様や制作者の技量に依存するのは分かるんだけれども
メモリ消費は①の方が多いのは間違いないけど今時のPCやゲーム機で参照情報だけで看過できないほどメモリを圧迫するのかな?とも思ったり
管理も①の方が面倒だけど、速度は①の方が優れてそう
237(1): 2023/07/27(木)15:59 ID:W8aHkwO9(1/6) AAS
>>236
打ち決めなら?の方が早いし楽かも。メモリについては調べてないので分からない。
ポインタだし中はIDのような整数が入ってた気がするけど数byteくらいじゃないの?
?はHierarchyでの名前が分かれば、component名が分かってるなら取れるから
物理弾のinstancingでたまに使う。manager起動/初回のfindとgetcomponentは相当重い
試した事はないけどScriptableObjectでObject参照を格納したList等が記録出来たら
面白いかも知れないけど、そこまでの規模だったらComputeShaderとかの方がいいのかもねぇ
238(2): 2023/07/27(木)17:18 ID:EvAT6AqD(2/2) AAS
できるだけ参照使わずインターフェイス使う
239(3): 2023/07/27(木)17:51 ID:ITN/PV6h(2/2) AAS
>>237
数byteだと数百個生成するオブジェクトでもないと圧迫にはならなそうだね
②も自分の想定では今は基本的にシーンに存在するオブジェクトは事前にインスペクタで登録済みにしてるけど、動的に生成するオブジェクトもマネージャーに登録するとなると結構大変そうだな
ちなみにそういう場合って生成したゲームオブジェクト側のStart関数等でマネージャーをfind→getcomponentするの?
スクリプタブルオブジェクト使えば必要に応じて参照取り出せるのか
破棄がいつされるのか知らないけども
GPUに計算やらせる必要性と技術力は初心者の自分にはまだないかな…
>>238
そういや自分はインターフェースが何なのか全然知らないわ
自分のコードにI〇〇Handler使ってるのに
省1
240: 2023/07/27(木)17:51 ID:W8aHkwO9(2/6) AAS
おー、めっちゃ面白いね。相手が何かすら知らなくてもいいのは楽だ。
241: 2023/07/27(木)17:53 ID:W8aHkwO9(3/6) AAS
>>238
ワイもしらんくてさっき調べた。
zenn.dev/akirakido/articles/81f208a569cb7f0a04fa
これこれ
242: 2023/07/27(木)17:56 ID:W8aHkwO9(4/6) AAS
>>239
>Start関数等でマネージャーをfind→getcomponentするの
そそ。割と昔からある古典的なヤーツ。
タグかなんかでガバーッとchildを拾ってきて片っ端からgetcomponent
物理で接触したobjをJointを接続するのに使った覚えがあるよー
243: 2023/07/27(木)17:58 ID:W8aHkwO9(5/6) AAS
てか安価間違えてる。両方>239です
244: 2023/07/27(木)18:06 ID:hlUHT29V(4/5) AAS
オレもインタフェースようわからんから
ぶつかった相手にセンドメッセージして処理してたなぁ
相手にメソッドなきゃ無視されるし
勉強になった
245: 2023/07/27(木)19:01 ID:LOI1KC6N(1) AAS
色々ゲーム作ってきたけど相互に参照したい局面は
オブジェクト同士が衝突した時がほとんどだった
衝突した時のイベントでコライダーを取得できる
そこからGetComponentで相手を参照する
これだけでほぼ事足りる
246: 2023/07/27(木)20:32 ID:3xCc0mqk(1/4) AAS
クラスの参照は32bit環境なら4byte,64bit環境なら8byte
まともな環境ならこんなもの節約したところで
テクスチャ一枚で何十倍ものメモリが吹っ飛ぶので作りやすいように作るのが良いと思う。
247: 2023/07/27(木)20:50 ID:3xCc0mqk(2/4) AAS
具体的には
8byteで8000個のオブジェクトを参照したとして約64kb
RGBA透過カラーの256x256のテクスチャ1枚が同じ64kb
ここまできたらメモリより配列操作の実行速度気にした方が良いかな
248: 2023/07/27(木)21:01 ID:3xCc0mqk(3/4) AAS
>>239
・ServiceLocatorパターンを使ってマネージャクラスがAwakeで自身をServiceLocatorに登録
・管理される側はStartやOnEnableでServiceLocator経由でマネージャクラスにアクセスして自身を登録、OnDestroyやOnDisableで解除
とかがお手軽かつ処理速度的にも優秀だと思う
ScriptableObjectを共有オブジェクトとしてマネージャやイベント通知に利用するのは便利なんだけどちょっと地雷があって、
Addressablesと併用すると場合よってはインスタンスが共有されずに複製扱いになったりする(詳細に書くとは長くなるから割愛するけど)
249: 2023/07/27(木)21:04 ID:3xCc0mqk(4/4) AAS
余談になるけど、RuntimeInitializeOnLoadMethod属性を使うとエディタ再生直前やアプリ起動直後の処理を記述できるので
public class GameInitializer
{
[RuntimeInitializeOnLoadMethod]
static void InitializeGame()
{
//ここで管理オブジェクトを生成
}
}
みたいなクラスを用意すれば管理オブジェクトをシーンごとに配置したり、初期化用シーンを経由する手間を省ける。
上下前次1-新書関写板覧索設栞歴
あと 753 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.021s