[過去ログ]
【ゲームエンジン】Unity初心者質問スレBuild2 (1002レス)
【ゲームエンジン】Unity初心者質問スレBuild2 http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
926: 名前は開発中のものです。 [sage] 2020/01/07(火) 18:53:21.15 ID:N6ynwaTL クラス継承じゃなくて? http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/926
927: 名前は開発中のものです。 [sage] 2020/01/07(火) 19:11:47.36 ID:zmI8ipko >>926 なるほど!早速試してみます! 継承というのは: MonoBehaviorの部分を好きなクラス名に変えれば良いんですよね? 継承するクラスは一つしか選べないのでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/927
928: 名前は開発中のものです。 [sage] 2020/01/07(火) 19:15:14.41 ID:zmI8ipko C# 継承 複数で検索したら一応解決しました! 調べればすぐ分かることを聞いてしまってごめんなさい。 ありがとうございました! http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/928
929: 名前は開発中のものです。 [] 2020/01/07(火) 19:34:51.14 ID:mTxkaJC9 聞く方もわかっていなければ、答える方も分かっていない典型だな http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/929
930: 名前は開発中のものです。 [sage] 2020/01/07(火) 20:11:34.92 ID:uM5ClZyr 質問失礼します 3人などの複数人で開発する場合に自分のみが有料アセットを所有しておりそれを使いたい場合のプロジェクトの管理方法はどうするのが一般的ですか? http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/930
931: 名前は開発中のものです。 [sage] 2020/01/07(火) 20:25:27.78 ID:d7S3IRng >>924 Updateの呼び出しじゃなくて中身が重たいんだと思われ deep profile すれば具体的なメソッド名まで追えるから、まずはそれで負荷の高い処理を特定しましょう http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/931
932: 名前は開発中のものです。 [sage] 2020/01/07(火) 21:31:22.74 ID:oElcyruO >>931 アドバイスありがとう。 詳細プロファイルみたら、どうやら処理の中身で gameObject.name.Contains("Hoge") とか 多用してるとこが処理コストが高いっぽい。 地道にプロファイラ見て、重そうな箇所をつぶしていくしかなさそうだね。 自分の使い方がこなれてないので、UniRX 自体は良さそうだと思った。 http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/932
933: 名前は開発中のものです。 [sage] 2020/01/07(火) 22:21:07.64 ID:zmI8ipko >>929 確かにわかっていないので今まで通りpublicかシリアライズでインスペクターに表示して他のクラスを貼り付けたオブジェクトを入れています。 なにかこの作業を省略出来る方法はあるのでしょうか? 継承について聞けて調べた事は今後活かせる事もありそうなので感謝しています! http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/933
934: 名前は開発中のものです。 [sage] 2020/01/08(水) 00:37:03.99 ID:Hvk3XDsR Updateの中でFindはさすがにStartでやってキャッシュしないとそりゃそうなるな…… http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/934
935: 名前は開発中のものです。 [] 2020/01/08(水) 04:02:14.62 ID:yDUxVkXo Unityを触り始めた時、プレイヤーやエネミーなど、画面に表示するキャラクターは、GameObjectを継承した子クラスとして作るのかと思っていたのですが、そうではないですよね。 この様なプログラムに初めて触れるので今でも違和感があるのですが、何故この様な仕様になっているのでしょうか? また、この様な実装方法は、デザインパターンで言うと、何パターンになるのでしょうか? ご存知の方、いらっしゃいましたら、教えて頂けると嬉しいです。 お願い致します。 http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/935
936: 名前は開発中のものです。 [] 2020/01/08(水) 04:34:56.94 ID:7cplqCOI >>933 ゲットコンポーネントすればわざわざインスペクタで指定しなくていい 基本他のクラスファイルはそのまま使える またネームスペース指定してるならusingで指定すれば使えるよ >>935 ユニティはすべてコンポーネントからの継承 強いて言うならコンポーネントデザインだよ それが分かった所でプログラム出来るようにはならないから無駄な質問はやめようね http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/936
937: 名前は開発中のものです。 [sage] 2020/01/08(水) 07:12:01.63 ID:STEsEzVT 継承が嫌ならインターフェース定義すればいいじゃない http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/937
938: 名前は開発中のものです。 [sage] 2020/01/08(水) 21:12:40.84 ID:c/TDM3Pm >>935 MonoBehaviour を継承して、Update() とか FixedUpdate() とか様々なフックハンドラを実装してく作法だよ。 しいて言えば、GoFのObserver パターンに近いんじゃない。Unity 内部の実装は違うらしけど。 GameObject を継承するんじゃなくて、GameObject に上記の MonoBehaviour 継承クラスを紐づけて動作をさせる。 この仕様だと、GameObject が "複数"の MonoBehaviour 継承クラスの動作を行うことが出来る。 C# は多重継承出来ないでしょ、Unity よく考えられてるシステムだよね。 http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/938
939: 名前は開発中のものです。 [sage] 2020/01/08(水) 21:25:51.83 ID:c/TDM3Pm 自分も最初 Unity のスクリプトに違和感というか、なんだろうこれは? と思った。 Unity 以外の他言語経験者というか、自分も職業プログラマの端くれなんで、 Player クラスとか、Enemy クラスを定義するんだよな。とか勝手に思って最初そのように書こうとしてた。 でも、Unity には GameObject という規定クラスがあり、それらに対する作用を MonoBehaviour 継承クラスに 記述して GameObject にアタッチ(紐づけ)するという仕組みを理解してからは、腑に落ちたというか納得出来た。 http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/939
940: 名前は開発中のものです。 [sage] 2020/01/08(水) 21:42:58.57 ID:c/TDM3Pm 書いてて思ったけど、GameObject に拡張メソッド書けば良くね? と思って調べたら、やっぱりそうしてる人いた。 処理コストとか気になるけど、静的 Utuil クラスとか書くより、 拡張メソッド書いたらスマートに記述出来る箇所が山ほどある。 >>935 サンキュー めちゃめちゃ良い気づきを頂いたわ。 http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/940
941: 名前は開発中のものです。 [sage] 2020/01/08(水) 22:04:58.83 ID:c/TDM3Pm なるほど。GameObject に MonoBehaviour 継承クラス"型" の変数を自由に設定出来ると。 その "型" を "Component" と言いますと。そして、GameObject.GetComponent<型> で自由に変数を取得出来ますと。 最初からそう教えてくれればいいのに。 http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/941
942: 名前は開発中のものです。 [sage] 2020/01/08(水) 22:07:01.56 ID:c/TDM3Pm Unity 良いね。ほんと好きになったわ。 元々 C# が超強力な言語なんで、とにかくプログラミングが楽しい。 http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/942
943: 名前は開発中のものです。 [sage] 2020/01/08(水) 22:18:19.80 ID:HHbGzUHS ここはお前の日記帳ちゃうで http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/943
944: 名前は開発中のものです。 [sage] 2020/01/08(水) 23:36:42.85 ID:Le5pG30A >>942 まあ、みんな一度はそう思うんだけど、ゲームを作ってる以上、次はC#はもちろんUnityならではボトルネックの最適化でつまずくんだよなー http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/944
945: 名前は開発中のものです。 [sage] 2020/01/09(木) 01:04:08.75 ID:9Vcb+knu そこでJobSystem,Burst,ECSですよ http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/945
946: 名前は開発中のものです。 [sage] 2020/01/09(木) 02:30:18.61 ID:mwK+f391 DOTSはまだ早い http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/946
947: 名前は開発中のものです。 [sage] 2020/01/09(木) 10:09:19.78 ID:kIaaP1cE JOBSYSREMとかビジネス啓蒙系のサイトっぽい名前 http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/947
948: 名前は開発中のものです。 [sage] 2020/01/09(木) 10:23:49.72 ID:65C13n6s boolの配列で中身の全てがtrueなら○○するという処理はどうやって書けばスマートですか? 今は配列の要素数が3しかないのでifを使った分岐で力技で動かせて居ますが数が増えたときの事を想像すると頭が痛いです。 http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/948
949: 名前は開発中のものです。 [sage] 2020/01/09(木) 10:47:15.13 ID:9CjsCJlx if文を3つ書いてるということならforeach使おう http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/949
950: 名前は開発中のものです。 [sage] 2020/01/09(木) 11:16:55.09 ID:bvBlalIf 配列数が固定ならFlags付けたenumでビットフラグ使う 動的に増減するなら設計がおかしいんだがLINQのAllを使えば簡単に書ける http://mevius.5ch.net/test/read.cgi/gamedev/1557293737/950
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 52 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.022s