質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

Q&A

解決済

1回答

935閲覧

Unityでステージを作りたい

mcbkar

総合スコア7

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

0グッド

0クリップ

投稿2022/01/18 12:56

編集2022/01/18 13:59

前提・実現したいこと

アクションゲームを作っています。
色々調べて、ステージ1を複製しそれを元にステージ2を作る、というのが一番効率的だと思いその通りにやっているのですが
プロジェクトでシーンを跨ぐと複製したシーンの内容が消えてしまいます。
個人的に調べましたがそれらしい解決できる記事を見つけることができませんでした。

発生している問題・エラーメッセージ

プロジェクトでシーンを跨ぐとヒエラルキーの内容が吹っ飛ぶ

試したこと

名前を変更しないと内容が吹っ飛びませんがそれで良いのでしょうか?

補足情報(FW/ツールのバージョンなど)

そもそもステージ1を元にステージ2を作る、などというやり方は本当に正しいステージの作り方なのでしょうか?(個人的にはこのやり方では作れたとしても予期せぬ不具合が出る可能性が高いと思っています)
Googleで「unity ステージ 作り方」と調べても単体のステージの作り方は出てきても、ステージ1,2,3...
といった複数のステージの作り方はヒットしません
そもそもこの作り方が正しいのかも、合わせて教えていただけると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

UnchFullburst

2022/01/19 02:06

上記誤って追記依頼に投稿してしまいました。 削除リクエスト出していますので無視してください。 申し訳ありません。
guest

回答1

0

ベストアンサー

Stageを作成したらそのSceneを保存してください。(Stage1.scene、Stage2.scene…のように)
それをステージ選択画面などから呼び出す感じです。

またDontDestroyOnLoadという、特定のオブジェクトをSceneを跨いでも破壊しないように設定する機能があるので、
Playerや管理オブジェクトなどを跨がせて、StageのSceneにはギミックのPrefabだけ置く方法で作るといい感じではないでしょうか。
その場合下記記事が参考になると思います。
https://unity-guide.moon-bear.com/dont-destroy-on-load/

またゲームの規模にもよりますが、StageをPrefabで作り、それをメインとなるSceneの中で呼ぶ方法もありです。
特にステージ選択画面も含めてゲームを一つのSceneで完結してしまえば、Sceneのロードによるぶつ切りがなくなるので、スムーズな遷移演出などが表現できるでしょう。
(もちろんその場合は「ステージPrefabをロードしたら、ステージ選択画面を非表示にしてHUDを出して……みたいな少し入り組んだUI管理の仕組みを考える必要があります)

投稿2022/01/19 01:52

編集2022/01/19 02:17
UnchFullburst

総合スコア663

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mcbkar

2022/01/19 07:42

ステージごとにシーンを作ってもいいし Stage2〜にはギミックだけ置いておいて、DontDestroyOnLoadでPlayerObjectやGameManagerを跨がせるというのでもいいし、1つのシーンに複数のステージ作っておくのでも良い、 つまりは、自分の作りやすいやり方で作れ、ということですね?
UnchFullburst

2022/01/19 09:22 編集

はい。 >1つのシーンに複数のステージ作っておくのでも良い、 そうではなく、空のObjectを親にしてその中にギミックを配置してステージを作り、それをまるごとPrefab化して保存します(Stage1.prefab、Stage2.prefab...) そしてそのPrefabをGameObject.Instantiateでステージセレクト時など必要なときに応じて生成するという感じですね。 とりあえず一本作ってみれば今回取った手法の良し悪しが分かると思うので、好みで判断してください。
mcbkar

2022/01/19 12:10

なるほど!質問に付き合っていただきありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問