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

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

新規登録して質問してみよう
ただいま回答率
85.49%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

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

Q&A

解決済

1回答

1869閲覧

【Unity】大きさが変化するボールをカメラで追従しつつ、画面に収まるようにカメラの位置を動的に調整したい

yamakentoc

総合スコア16

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

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

0グッド

0クリップ

投稿2019/06/17 08:14

編集2019/06/17 08:21

プロトタイプ↓
プロトタイプ

概要
Unityで、ボール(Sphere)を使った3Dのスマホゲームを作っています。
Playerは画面をスワイプする事で画像の水色のボールを操作し、ステージ上に落ちている白色のボールを取得すると少しずつScaleが大きくなる機能があります。
カメラが常にボールを追従しつつ、ボールが大きくなったら、ボール全体が映るようにカメラの表示範囲を動的に調整します。

わからないところ
ボール全体が映るようにカメラの表示範囲を動的に調整するところがわからないです

備考
単純にField of viewを調整するとボールがかなり大きくなった時に違和感があります。
そこで、ボールの大きさが画面サイズの2分の1の大きさを超えたら現状のカメラを後ろ向き(Z軸のマイナス)に動かせばいいのかなと思ってます。
ですが、画面サイズとボールの大きさとの関係をうまく思いつきません。(画像の場合は、画面サイズが2436*1125、ボールのScaleがVector3(1, 1, 1))

Unity初心者ですが、ご協力よろしくお願いします!

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

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

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

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

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

sakura_hana

2019/06/17 10:04

単純な比例関係だと思うのですが……イメージで言うと「camera.position.z = a + ball.scale.x * b」(aとbは任意の数字)とかではダメなんでしょうか?
guest

回答1

0

自己解決

自己解決しました。

CameraManagerという親オブジェクト(position, rotation共に全て0, scale は全て1)を作成し、その子としてMainCameraを設定。
MainCameraは水色のボールが見える位置、向きに適当に設定。
水色ボールが白色ボールを取得した時に増える値をCameraManagerに渡す。
CameraManagerは渡された値分を、DoTweenのDOMoveでyとzに滑らかに動かす。
MainCameraは常に水色ボールをLocalPositionで追従する為、親のCameraManagerの位置が変わればMainCameraの位置も変わる。
これでボールが大きくなっても動的にカメラに全て収まるようになった。

投稿2019/06/17 15:53

yamakentoc

総合スコア16

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問