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

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

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

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

Q&A

解決済

2回答

1095閲覧

ある角度で傾けた位置を出したい

Sugie_v

総合スコア1

Unity

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

0グッド

0クリップ

投稿2020/08/08 19:40

前提・実現したいこと

unityで3Dアクションゲームを作っています。

今の処理だとカメラの目的地が画像の1の位置になっていて、それをクリックした位置からX度傾いた2の位置にしたいです。
イメージ説明

試したこと

クリック位置からカメラの角度を求めてその角度を位置にかけるなど試しましたが解決しませんでした。

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

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

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

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

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

guest

回答2

0

ベストアンサー

「1の位置」「2の位置」というのがわかりませんが、画像だけを見た感じでは別に角度なんか必要ないと思います。

「クリック」というのは「クリックしたスクリーン座標をワールド座標に変換した座標」という意味だと思いますが、そっちを向くのに transform.Up なり transform.Forward、もしくは transform.LookAt を使えばよく、角度は必要ありません。

位置にしても、「カメラ」というのは「クリックした時点でのカメラの位置」という意味だと思いますが、そうならば「クリックしたスクリーン座標をワールド座標に変換した座標」と「クリックした時点でのカメラの座標」がわかれば、その間の座標に物体を移動させるのはベクトルがわかっていれば簡単です。

ただし、どこに移動したいのかのルールが書かれていないので、細かいことは示せません。例えば「クリックしたスクリーン座標をワールド座標に変換した座標」から10メートル離れた位置である、とか、「クリックした時点でのカメラの位置」から5メートル前進した位置である、とかですね。
加えて、クリックしたらカメラが瞬間移動するのか、それともクリックしたら滑らかに角度や位置を変えながら移動するのか、も不明です。

クリックしたら滑らかに角度や位置を変えながら移動させたいなら、Cinemachine を使った方がよいでしょうね。

投稿2020/08/09 03:39

bboydaisuke

総合スコア5291

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

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

0

画像において左下に位置している「カメラ」と,右上に位置している「クリック」の両者の座標が既知なのであれば…

赤色で記されている「求めたいカメラの位置」とは,「カメラ」→「クリック」の線分上にあるのでしょうから,その線分上の,「カメラ」から何らかの距離だけ離れた位置(?)として求めればよいのではないでしょうか.

投稿2020/08/09 03:33

fana

総合スコア11954

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

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

Sugie_v

2021/02/25 02:36

ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問