Unity初心者の俺が調べたことをメモするスレat GAMEDEV
Unity初心者の俺が調べたことをメモするスレ - 暇つぶし2ch81:名前は開発中のものです。
23/09/28 22:06:34.28 dc32lg9p.net
製作順調なら製作進捗でもいいんだよ

82:名前は開発中のものです。
23/09/29 19:51:15.97 4YW0vA30.net
>>81
それはアリだねただ一応秘密で作ってるんでどこまで内容書くかは悩みどころだが
今やってるのはアイテム合成システムの設計
合成時に素材の特殊能力を引き継ぐのだが、異なる特殊能力同士が合体して新たな特殊能力に変わるシステムをどうやって実装するか考えている
一番手っ取り早そうなのは、
①素材アイテムの特殊能力をコレクションに格納する→②コガネブログからお借りした組み合わせ列挙拡張メソッドを使って事前に指定した合体組み合わせに該当するか調べる→③合体組み合わせが不存在になるまで繰り返す
かなと思っている

83:名前は開発中のものです。
23/09/30 07:12:12.43 HN5eRe95.net
俺もちょうど合成システム作ってるとこでビビった
俺は2つのarrayをソートして、比較する単純なものだけど…

84:名前は開発中のものです。
23/09/30 22:25:15.09 AozLAQh5.net
>>83
合成が合成システムを実行したその1回しか行われないならそのやり方の方が楽そう
自分のは合成して特殊能力が合体した際に次レベルの合体条件も満たしていたら順次合体を繰り返していく機能を想定しているから、配列やリストを何回も走査すると重いかもなあという懸念がある
ただコガネブログのも合体成立時に何回も呼び出すと重そうなので、素材アイテムの持つ特殊能力の管理番号全てをHashSetに入れて、差集合とAddを使って合体組み合わせを探していくのもアリかも
こればっかりは自分の設計に合わせて複数のコードを組んで検証してみるしかないね

85:名前は開発中のものです。
23/10/04 01:17:36.07 1pamoYKo.net
おや?停滞?

良スレかと思ってたが、中途半端に投げ出す感じな

86:名前は開発中のものです。
23/10/04 17:41:48.36 DAn/y1Is.net
今は既に調べておいた知識でゆっくり作っている状況だから特に書くことが無いのよね
グラフィックス関係の勉強もしてるんでそっちに多く時間を割いてるのもある
一応調べたことの備忘のスレのつもりなんで、何も調べてないのに毎日作業内容を報告するのもなんか違うと思うし
あと単純に最近安定して5chが見られなくないか?
基本的にメモは作業用ではないPCのEdgeで書いてレスしてるけど、今もまたスレが開けなくて内容ドライブ経由でコピーしてスマホからレスした

今やってる作業はアイテム合成システムのクラス設計、メニュー画面・装備画面UIの作成あたりかな
ゲームシステムについての最近考えている事は
・アイテムの購入・売却の実装
既にエクセルデータをスクリプタブルオブジェクト化して売値・買値等のデータを取り込んである & プレイヤー以外もアイテムを所持できるようにプレイヤー・NPCの共通基底キャラクタークラスに所持品クラスのフィールドと取得用インターフェースを実装済み、装備画面UIの作成時に抽象クラスとインターフェースを利用して割と再利用性を高めてある(つもり)なので、作成自体はそこまで難しくなさそう。
アイテム売る商人の持つアイテムデータは、アイテムインスタンスクラスに[Serializable]を付けてキャラクタークラス→所持品クラス→アイテムインスタンスで開いてインスペクターから直接設定するか、又は何らかのコレクションで値だけインスペクターから設定してStart関数でアイテムクラスのインスタンスをnewしてコンストラクタにその値を渡してやればよさそう
ただそもそもゲーム内に商人を実装するかは未定
・3Dのゲーム性を採用するか
購入済みのノーコード系アセットがパフォーマンスの向上目指して改修されるそうなんでやっぱり使ってみたい感がある(気持ちの問題)。
あとこのアセットがasync/await使ってる所為でアセットの機能にアクセスするとそれなりにGC発生するんだけど、将来的にはUnityにも.NET5のAsyncValueTaskが導入されたら更にパフォーマンス向上するかも(非同期処理のこと全然分かってないので自分でアセットのコアコードをUniTaskに置き換えるのはまだ怖い)

87:名前は開発中のものです。
23/10/04 17:42:01.17 DAn/y1Is.net
C#・Unityの勉強としては
・非同期処理
上でも書いたがよく分かってない。今作っている範囲だと用途は少なそうだけど、唯一「アイテムを大量に捨てる場合」に役立ちそうな気がしている。
というのもアイテムを捨てる際には自作のアイテム管理クラスのアイテム破棄の関数をコールするのだが、検索システムに備えて入手時にコレクションへの登録を沢山しているので破棄時には逆にコレクションからの削除を行う必要がある
アイテム捨てる処理は入手処理と違って新たなインスタンスはほぼ生成しないのでGCの問題はないが、単純にコレクションへのアクセスが多いのと、プレイヤーが何百・何千個ものアイテムを一気に捨てることができるUIを組んでしまったので大量にアイテム破棄を行うと余裕で60fps割ってしまう。また所持品管理ディクショナリーの参照が切れるのでアイテムインスタンス自体もガベコレの対象になるのでガベコレによるスパイク発生の危険性も高くなる。
そこで非同期処理を用いてフレームを分散してアイテムの破棄を行えば、捨てる処理自体のスパイクは軽減できるかなと思った
プレイヤーは1f単位で処理を認識している訳ではないので、内部的には数fに分離しても多分気が付かない(あまりに重い場合は「アイテムを捨てています」等の進捗を画面に表示した方がよさそうだけど)
非同期処理はコルーチン、async/await、UniTaskあたりが有名なのかな?性能でいえばUniTask一択なんだろうけどまずはコルーチンから試してみようと思っている(GCは知らない)

88:名前は開発中のものです。
23/10/07 18:13:33.15 zKcOYlJC.net
自分はインボーク、インボークリピートをもっぱら使うなぁ

89:名前は開発中のものです。
23/10/07 21:08:01.13 AbV00O8h.net
>>88
InvokeやInvoke.RepeatingはMonoBehaviourの機能だから個人的にあまり使いたくないなあと思ったり(他のクラスに移植したり仕様変更する際に面倒そうなので…)
引数にstring型使うからアロケーションも心配
ただアタッチ先ゲームオブジェクトだけで完結する処理ならそれが手っ取り早そうだね

90:名前は開発中のものです。
23/10/07 21:19:34.52 iuLYjSS8.net
でも引数はメソッドの名称だからアロケーション発生しないんじゃね?

91:名前は開発中のものです。
23/10/07 22:01:39.06 AbV00O8h.net
>>90
エディタ上でテストプレイしてみたけど。確かにMonoJIT以外でのアロケーションは発生しないね
原因について雑に調べたけど、もしかしたら文字列リテラルだからコンパイル時に生成・メモリに格納されて一致する限りは使い回しがされるからっぽい

92:名前は開発中のものです。
23/10/07 22:01:43.61 AbV00O8h.net
>>90
エディタ上でテストプレイしてみたけど。確かにMonoJIT以外でのアロケーションは発生しないね
原因について雑に調べたけど、もしかしたら文字列リテラルだからコンパイル時に生成・メモリに格納されて一致する限りは使い回しがされるからっぽい

93:名前は開発中のものです。
23/10/07 22:23:13.50 ABeNJcDO.net
潔癖症みたいやねそこまで気にするのって

94:名前は開発中のものです。
23/10/08 09:30:28.99 raa6/Dtd.net
非同期処理はコルーチンしか使ったことないや

95:名前は開発中のものです。
23/10/08 21:22:41.79 9d1oOF7A.net
>>93
GCallocは削れば削るだけ良いからね
自分はECSを使うのは現状では無理そうだから削減可能な場所は全て対応するようにしている
>>94
MonoBehaviourで非同期処理を扱うならコルーチンが入門な感じがあるね
返し値を扱うのが面倒そうなのが難点だけどそれでもUniTaskよりはとっつきやすそう(偏見)

96:名前は開発中のものです。
23/10/08 21:32:09.46 RWVJHt61.net
今のパソコンというか環境でも
やはりけづれる物は削る方がいい?

初心者とかそこまで考える必要はあるのかな?

97:名前は開発中のものです。
23/10/09 14:29:55.33 rvC4W/MI.net
>>96
明らかなボトルネックや安定した後の最適化ならともかく、開発中はできるだけ素直でメンテナンスしやすいコードの方が良いよ

98:名前は開発中のものです。
23/10/25 17:52:32.75 lBkP/TA2.net
進捗どうですか?

99:名前は開発中のものです。
23/11/15 23:27:25.96 Qaq3TktU.net
エタったか
無駄なスレ建ててまで書くなよ

100:名前は開発中のものです。
23/12/08 13:29:57.09 UU5wTPU9R
国会でいい感じに質問してる優秀な議員を見かけて維新かと思ったら立憲だったわ
立憲は憲法の下の平等も世代による公平もガン無視の児童給付だの税金泥棒主張をやめて藤岡隆雄氏みたいなのだけにしろよ
子を育てられるだけの金もないのに孑を産み落としたら遺棄罪で逮捕懲役.日当5千円て゛塀の中から子に送金させるのが筋だろうに
犯罪者に追い銭とかモラルハザ-ドいい加減にしとけ、風俗で働いて子育てしてる自立した女なんていくらでもいるだろうにそんな女と
陳情寄生蟲女と温室効果ガスに騒音にコロナにとまき散らして他人の権利を強奪して儲けてる空飛ぶ強盗殺人女、クズっぷり比較しろ
国が介入するならひとり産み落とすこ゛とに数千万課税して払える見込みがなければ逮捕懲役にしたり親権廃止するくらいだろ
1か月も男と暮らしてた某JKなんて家出だろうに問答無用で逮捕されたんだろな哀れ、その男が充分な金を持ってて責任を持てるなら
毒親と居るより幸せなのは明らかなんだし親を捨てて余裕ある家に行くことを合法化するのか゛税金泥棒より理に適ってるのは明白
(羽田]TURLリンク(www.call4.jp)<)
〔成田)TТps://n-souonhigaisosyoudan.amеbaownd.Сom/
[テロ組織)тtps://i.imgur.com/hnli1ga.jpeg

101:名前は開発中のものです。
25/01/03 23:56:22.95 K8DLSojOa
労働者階級から大企業資本家階級に富を推移させて経済ぶっ壊しながら見かけの株価吊り上げて社会に治安にと破壊し続けてる自民公明だが
今頃気づいて過半数割れさせてももはや手遅れ、JALた゛のANΑた゛のクソアイヌドゥた゛の斉藤鉄夫だの国土破壊省だのクソポリ遊覧ヘリだのに
莫大な温室効果カ゛スに騷音にとまき散らさせて氣候変動、災害連発させて人殺しまくって私腹を肥やして業務妨害まて゛させながら凄まじい
損害を受けてる住民に補償すらせず生活困窮させてナマポまでシメまくって年100万にも満たない金のために平均年収700万のクソ公務員の
ご機嫌取りしてクルマまで取り上げられるくらいなら闇バイト強盗詐欺のほうが合理的た゛わな
例えは゛ミャンマ一には1兆圓以上日本の税金投入して住民殺しまくりクーデター軍の利益になってるが自民癒着大企業がその事業受注してるし
莫大な公共事業名目の金くらって年収1000万超だらけの社会の寄生虫大企業に奪われまくり零細個人にはインボヰスだの銀行口座厳格化だの
強権狂乱政治によって収入壊滅させてもはや気候変動同様、社会崩壞のティッピングポイントを超えて体感治安なんて次元じゃなくなるぞ
(ref.] ttps://www.сall4.jp/info.Ρhp?тypе=itеms&id=I0000062
URLリンク(han)<)
ttps://n-souonhigaisosyoudan.amеbaownd.com/


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch