[過去ログ]
【ゲームエンジン】Unity初心者質問スレBuild1 (1002レス)
【ゲームエンジン】Unity初心者質問スレBuild1 http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
322: 名前は開発中のものです。 [sage] 2018/08/04(土) 13:22:29.52 ID:8h4ounWr 1000回日本語文章読んでもバカには無理w http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/322
323: 名前は開発中のものです。 [sage] 2018/08/04(土) 13:36:44.18 ID:ASd5/j6X >>321 へー、ヒエラルキーに表示されているのはシーン上のオブジェクトのリストじゃなくてファイルなんだぁ。 ファイルシステムのどこにそのファイルがありますか?またシーンビューで編集しているときはメモリ上にはなくてディスク上にあるんですか? 公式のマニュアルとは違う説明で混乱しそうです。 http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/323
324: 名前は開発中のものです。 [sage] 2018/08/04(土) 13:52:20.56 ID:qIP9aSz0 >>323 右上のケバDebugにするとLocalIdentifierInfileってでてくんだろ。 隠蔽されてるが、あるんだよ。それアクセスされると色々ぶっこわれるからな。 http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/324
325: 弟子 ◆rZPPjYuxmQ [sage] 2018/08/04(土) 13:55:14.77 ID:+VI6JuUR 初心者スレでマウント取りたいのは分かるから巣に帰って ちゃんと新しいの作ったからさ 【3Dゲームエンジン】Unity質問スレッド37 http://mevius.5ch.net/test/read.cgi/gamedev/1533351108/ http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/325
326: 名前は開発中のものです。 [sage] 2018/08/04(土) 14:04:46.49 ID:qIP9aSz0 初心者に分かるように言ってんじゃん。 紙パンツスレ飽きちゃったんか?あっちで吠えてろよ http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/326
327: 名前は開発中のものです。 [sage] 2018/08/04(土) 14:29:50.67 ID:jfygBgbK おまえらの話は誰にも通じてないし役にもたってないぞ http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/327
328: 弟子 ◆rZPPjYuxmQ [sage] 2018/08/04(土) 14:41:43.17 ID:+VI6JuUR >>326 YAMLとは? シリアライズとは? ケバdeaugとは? 初心者なんでまったく訳わかんないですわ http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/328
329: 名前は開発中のものです。 [sage] 2018/08/04(土) 14:43:13.78 ID:yHEIRFFR >>324 それってシーンファイルに書いてある識別IDじゃない。んでシーンを保存するまで0だよ。保存する前のヒエラルキーはどう説明するのさ。 http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/329
330: 名前は開発中のものです。 [sage] 2018/08/04(土) 14:45:18.52 ID:yHEIRFFR >>328 初心者スレで聞いてみれば。 http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/330
331: 名前は開発中のものです。 [sage] 2018/08/04(土) 14:50:04.55 ID:cpg8UDOV >>328 知らなくても作れるけどな。 http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/331
332: 名前は開発中のものです。 [] 2018/08/04(土) 15:05:56.25 ID:qIP9aSz0 >>329 Editorがシーン用にDBを構築してるって事なんだよ。隠蔽って書いただろ。 シーンの中見たなら、ある程度シリアライズされてる内容見えただろ。でも全てじゃないのは分かったはずだ。 未保存がメモリで動く訳ないだろ。実行前に必ず保存されてるわ。 保存前のヒエラルキーは見た目だよ、ドラフト扱いな。 もう少しEditorとUnityEngineの違い分かった方がいいな。 http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/332
333: THE・シンプル先生 [sage] 2018/08/04(土) 15:07:18.36 ID:KOItUBKr >>312 自分で工夫する事で昔の「main()ループ」に近い物が作れる。 ?:空のゲームオブジェクト(Empty)を適当な位置に作る。名前は仮に"GameMain"としておく。 ?:次に適当な場所に"GameMain.cs"と仮の名前でC#スクリプトを作る。 ?:?を?にアタッチ ?:?の中にprivate属性などGameObject型の動的配列の"元だけ"を宣言 → 例:GameObject[] Enemy; ?:?の"start()"などで実際に必要な数の配列を作成 → 例:Enemy = new GameObject[3]; ?:"GameObject.Find("※オブジェクト名").gameObjectを使い、先程作成した配列にシーン上のGameObjectを関連付けていく → 例:GameObject[0] = GameObject.Find("Enemy0").gameObject; ?:後はGameObject[0]を使う 当然他のやり方も無数にある。 http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/333
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
335: 弟子 ◆rZPPjYuxmQ [sage] 2018/08/04(土) 16:23:58.28 ID:+VI6JuUR >>330 それはどこですか? 誘導お願いします ここは、そういうスレなので教えてください http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/335
336: 名前は開発中のものです。 [] 2018/08/04(土) 16:28:00.38 ID:qIP9aSz0 >>335 ほらよ、君にうってつけだ http://mevius.5ch.net/test/read.cgi/gamedev/1531742192/ http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/336
337: 名前は開発中のものです。 [sage] 2018/08/04(土) 17:03:05.01 ID:u4pCimN6 >>332 >>>329 >Editorがシーン用にDBを構築してるって事なんだよ。隠蔽って書いただろ。 >シーンの中見たなら、ある程度シリアライズされてる内容見えただろ。でも全てじゃないのは分かったはずだ。 ヒエラルキーの表示じゃなくて、ヒエラルキーに表示されている、シーン上のオブジェクトの話をしてたつもりなんですけど。 >未保存がメモリで動く訳ないだろ。実行前に必ず保存されてるわ。 未保存のときもlocal identfierfile 0のままシーンビューやヒエラルキービューで編集出来ますけど、そのオブジェクトはメモリ上じゃなくてどこで動いてるんですか? http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/337
338: 名前は開発中のものです。 [sage] 2018/08/04(土) 17:27:38.46 ID:qIP9aSz0 >>337 シーン情報はシーンにある。プレファブ情報はプレファブファイルにある。 てか見たんだろ?ファイルにあるわ。 もちろん画面に表示したり、編集させるにはメモリを使ってる。だけど電源オフったら消える通りストックはされておらん。 編集はできとるが、これがそのまま再生実行時に使われると思ってるところがあんたが嵌ってるところだ。 新規作成したらEditor用のメモリに展開はされる。 だけど電源オフったら消える通りストックはされておらん。 未保存データは再生実行時には使われておらん。 再生実行時に保存データを使ってEditor用のメモリに一旦展開する。これがデシリアライズな。 分かった? http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/338
339: 名前は開発中のものです。 [sage] 2018/08/04(土) 18:23:45.38 ID:bPWDdaDo >>338 誰か再生実行時の話してましたっけ?プレハブを作る場面の話だったと思いますけど。 ヒエラル木とか言ってる人に合わせて、ヒエラルキー上にリストされているシーン上のオブジェクトの事を指して、またはオブジェクトの階層構造自体の事をヒエラルキーって言ってたのが悪かったかな。 ヒエラルキーのリストは確かにファイル。 んで、編集中にプレハブを作りました。そのプレハブをシーン上に配置しました。シーン上に配置した時点でオブジェクト化されたんじゃないかと思うのですが、このときはプレハブソースからのデシリアライズは起きないのですか? http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/339
340: 名前は開発中のものです。 [] 2018/08/04(土) 18:30:26.82 ID:sBxajZWZ playerキャラとかNPCキャラとか複数のオブジェクトで使い回すような自作関数ってそれぞれにアタッチしてるスクリプトに書く?それとも1つ関数をまとめたオブジェクトを作ってそこに書いておいてその都度それぞれが参照する感じのほうがいいですか? 例えばオブジェクトの現在の座標とか着地判定を取得する関数とか http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/340
341: 名前は開発中のものです。 [sage] 2018/08/04(土) 19:26:52.87 ID:qIP9aSz0 >>339 インスタンス化とデシリアライズの話が出たから、そのタイミングである再生実行の話をしただけで、いきなり誰かしたかと言うのはおかしい話。 プレハブから配置したのは、あくまでEditor上でシーン情報を作っただけで、デシリアライズは再生の時に起きるっての分かる為なんだが まあ、ちょっとデシリアライズを誤解してるってか、話がどんどん逸れそうだからな。行間読むわ 多分言いたいのは、プレハブをシーンに置いた時に、プレハブ情報からシーン情報が構築されないのか?って言いたいんだろう。 一旦Editorのメモリ上では構築される。 そんで、再生や保存で、その時に当然Dirtyな置かれたオブジェクトがファイルに保存される。 再生の初期にシーンファイルを読み込んで、デシリアライズしてメモリ展開する。 オブジェクト化は再生の初期やInstantiateの時に起こる。これをインスタンス化と呼ぶ。 じゃあ、エディタで見えてるのは何なの?って言うと、編集のためにファイルをエディタ用のメモリに展開してるだけ。 最初にプレハブを置く=テンプレートからのエディタ用メモリへのコピー 保存=シーン情報の構築 ヒエラルキー=再生時のメモリ構築用データ と思えば良い。 まだダメかな?いい加減疲れてきたぞ。をい http://mevius.5ch.net/test/read.cgi/gamedev/1528249519/341
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 661 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.039s