[過去ログ]
【ゲームエンジン】Unity初心者質問スレBuild1 (1002レス)
【ゲームエンジン】Unity初心者質問スレBuild1 http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
334: THE・ステップアップ先生 [sage] 2018/08/04(土) 15:19:06.70 ID:KOItUBKr >>312 次の内容はおまけなので意味不明な場合は気にしなくていいよ。 ソース上でのオブジェクトの管理のしやすさはメモリー使用量に反比例する。 今までのやり方(main()ループのやり方)だと扱いたいオブジェクトを最初に配列に全て格納するのでそれだけ沢山メモリーを占有し続けることになる。 旧型のゲームを作る場合はこのやり方でも問題ないし今でもこっちの方が扱いやすい場面が多々ある。 とくに小規模ゲームの場合はこっちのやり方で全然いいと思う。 じゃあUnityがこの古き「main()ループ」のやり方になっていないのは何故かというと 中〜大規模のゲーム作成も想定して作られてるのもあると思う。 この規模になると次の事を実現しないといけない。 ・必要な場面にだけメモリだけを使いこまめに確保と解放を繰り返す節約型モデル ・もともと非常に重い3D物理演算を実用レベルで運用する ・もともと複雑で重い3Dの当たり判定処理(コリジョン)をプログラマが手軽に扱えるようにする これの実現でメモリー制約の厳しいスマホで苦労せずに3Dゲームを作れたり MMOやオープンワールド系のゲームを作れるポテンシャルを実現している。 FCマリオやテトリス作るなら"main()ループ型"でいいけど、モンスターハンター作るなら"main()ループ型"では死ねるよという感じ。 実際に何かを作ってみると分かるが当たり判定(コリジョン)は"main()ループ型"で回して中でいちいち判定するより オブジェクト1つ1つにC#スクリプト埋め込んで当たった時に勝手に「当たったよ!」とイベント通知してきてくれる方が100%楽。 余談だが、UnityやVisualStudioのようなGUIでモデルを配置できるエディッタ時代ではなく、コマンドプロンプト時代のCUI時代にソースで扱っていたクラスのカプセルの概念、あれをビジュアル的にも再現できている今のUnityのモデルだとも感じてる。 今のUnityのやり方が、昔に目指されていたオブジェクト指向プログラミングの1つの完成形・理想形なんじゃないかと思う。 アセットの概念なんかはまさにオブジェクト指向プログラミングのカプセル可の恩賜だと思うよ。 http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/334
349: 312 [] 2018/08/05(日) 01:31:28.80 ID:CyFJgm7j >>334 とても勉強になる回答内容に感激しました。 私はその昔ながらのmain()ループのやり方で生きて来たクチなので Unityのマニュアルやチュートリアルに目を通し(熟読はしていませんが、 非常に困惑しているところだったんです。 ステップアップ先生の話を聞いた限り、仮にUnityでFCマリオを制作するとしても、 昔ながらのmain()ループのやり方をUnityで実行するより、 本来はUnityモデルを覚えて作った方が"ラク"だよ、ということですよね? 例えば当たり判定〜のくだりは確かにそっちの方が確実にラクなのが理解できますし。 それとも「いや、FCマリオくらいのゲームしか作る気ないなら、 この先Unityを覚えて制作せずとも、>>333のUnityの中で擬似main()ループで作る方が断然ラクだよ」とかですか? というのもmain()ループのやり方が染み付いてしまっている私自体、 ゲームの処理には中心となるがループを置いて、 そこからすべての流れを構想してしまうオツムなんです。 Unityモデルは全オブジェクトが個々で処理され、バラバラに存在している感じ?というか 各オブジェクトや処理に非常にふあふあしていると感じました。 もちろん自分のUnity理解度がまだ足りないせいなのは重々承知してますが アセットやツールで解決するそれぞれの処理がブラックボックスすぎて、 初心者としてはそれらの応用が難しい。 アニメーション描画も、正直配列に各画像を入れ込んでフレームで回す方がラクなのに、 AnimationEventを使ってメモリを動かしてイベントの制作をしなければならない?のも余計ややこしく感じます。 結局、ソースだけで解決できないエンジンなので例えFCマリオであっても Unityを覚えないと作れないことにちょっと面食らっています。 それらもステップアップ先生のおっしゃる通り 3Dや中〜大規模のゲーム作成も想定されたUnityだからこその仕様なのだと理解しましたが どうなんでしょうか、私が2Dオンリーのゲーム制作目的であっても Unityモデルで制作方法を覚えた方があとあと必ずラクになりますか? 変な相談ですみません。 http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/349
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.043s