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

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

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

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

Unity3D

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

オブジェクト

オブジェクト指向において、データとメソッドの集合をオブジェクト(Object)と呼びます。

Unity

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

Q&A

解決済

1回答

2957閲覧

Unity C# カメラとプレイヤーの向きを同じにしたい

Rou_12

総合スコア2

C#

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

Unity3D

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

オブジェクト

オブジェクト指向において、データとメソッドの集合をオブジェクト(Object)と呼びます。

Unity

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

0グッド

0クリップ

投稿2021/09/11 17:59

以下のコードを子オブジェにカメラをもつプレイヤーオブジェクトにアタッチしたところ、
rotationの数値はカメラとプレイヤーで同じなのに前(青矢印)の向きが同期しません。
どこを直したらうまくカメラの横回転とプレイヤーのy軸回転をうまく同期させられますか?

また、これとは別にtransform.forwardを使った青矢印の方向に動かせるスクリプトをアタッチしています。

C#

1{ 2 private float x_sensitivity; 3 private float y_sensitivity; 4 private GameObject Camera; 5 public Vector3 newRotation; 6 public Vector3 newRotation2; 7 public float cameraSpeed = 3f; 8 9 void Start() 10 { 11 Camera = GameObject.Find("MainCamera"); 12 13 x_sensitivity = cameraSpeed; 14 15 y_sensitivity = cameraSpeed; 16 17 } 18 19 void Update() 20 { 21 float x_mouse = Input.GetAxis("Mouse X"); 22 float y_mouse = Input.GetAxis("Mouse Y"); 23 24 //カメラの横向きの動きを操作 25 newRotation = Camera.transform.localEulerAngles; 26 newRotation.y += x_mouse * x_sensitivity; 27 Camera.transform.localEulerAngles = newRotation; 28 29    //カメラの縦向きの動きを操作 30 newRotation = Camera.transform.localEulerAngles; 31 newRotation.x -= y_mouse * y_sensitivity; 32 Camera.transform.localEulerAngles = newRotation; 33 34 //プレイヤー自身の横向きの回転を操作したい(問題点?) 35 newRotation2 = transform.localEulerAngles; 36 newRotation2.y += x_mouse * x_sensitivity; 37 transform.localEulerAngles = newRotation2; 38 } 39}

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

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

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

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

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

guest

回答1

0

ベストアンサー

うまくカメラの横回転とプレイヤーのy軸回転をうまく同期

そういう機能は Unity に最初からあるんで Cinemachine を使った方がいいと思いますよ。

投稿2021/09/12 00:58

編集2021/09/12 02:41
bboydaisuke

総合スコア5308

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問