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

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

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

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

Q&A

解決済

1回答

697閲覧

Unityで実装したい

mink.

総合スコア7

Unity

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

0グッド

0クリップ

投稿2020/09/12 05:39

UnityRoomに投稿されているSTRANGE KEYWORLDというゲームのように、
キャラクターが画面左に行ったら、シーンが移動して、キャラクターが右にいる
キャラクターが画面右に行ったら、シーンが移動して、キャラクターが左にいる
キャラクターが穴に落ちたら、シーンが移動して、キャラクターが上から落ちてくる

など、上記の実装をしたいと考えました。

今行なっているのが、シーンが移動したら、true、falseを使って、キャラクターが左にいたら、右にいたりと実装しているのですが、とても手間がかかります。なにか簡単に実装できる方法がありましたら、教えていただきたいです。

(一個考え付いたのが、シーン移動(SceneManager)を使用しないで、大きなステージの中でキャラクターを動かして、キャラクターが指定の位置についたら、カメラを移動させるというものなのですが、それが良いでしょうか。)

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

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

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

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

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

guest

回答1

0

ベストアンサー

参考にしているゲームは、おそらくですがシーンの遷移はさせずにカメラを移動させているんだと思います。

transform.position.xを取得して移動させることができます。

C#

1//1ルームの横の広さを10とします。カメラの視野も横に10あるとします。 2 3GameObject Player; 4Camera camera; 5 6void Update() 7{ 8 float x = Player.transform.position.x; 9 if(x >= 0 && x <= 10) 10 camera.transform.position = new Vector3(5, 0, 0); 11 else if(x > 10 && x <= 20) 12 camera.transform.position = new Vector3(15, 0, 0); 13 else if(x > 20 && x <= 30) 14 camera.transform.position = new Vector3(25, 0, 0); 15 16 //こんな風に続けていく 17} 18

むやみにシーン移動させるのはパフォーマンス的にあまりよくありません(場合によるけど)。

投稿2020/09/12 09:21

Yukirr4_

総合スコア728

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問