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

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

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

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

Unity

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

3DCG

コンピュータの演算により、3次元空間の仮想物体を、2次元平面上で表現する手法である。

Q&A

解決済

2回答

2247閲覧

カメラの向きと銃口を合わせたい

hemaya

総合スコア4

C#

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

Unity

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

3DCG

コンピュータの演算により、3次元空間の仮想物体を、2次元平面上で表現する手法である。

0グッド

1クリップ

投稿2020/07/07 09:43

編集2020/07/08 03:50

前提・実現したいこと

現在FPSを制作しています。
カメラの向きと銃口の向きを合わせたいです。

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

X軸の移動に関しては問題ないのですが、Y軸の方向に向くと軸に対して斜めに動いてしまいます。
エラーメッセージ
無し

該当のソースコード

void RotateBone()
{
// 腰のボーンの角度をカメラの向きにする
spine.rotation = Quaternion.Euler(spine.eulerAngles.x, spine.eulerAngles.y,      spine.eulerAngles.z - myCamera.localEulerAngles.x);

}

void LateUpdate()
{
RotateBone();
イメージ説明

■追記
銃を子にしたカメラをプレイヤーの子にしたらカメラに追従しますがアニメーションが遷移せず、spineの子にしたらカメラと違う方向に銃口が向いてしまいます。
最初からやり直してFirstPersonController→Unitychan(プレイヤー)→spine→camera→銃とした場合カメラが変な方向に向いてしまいます。
↓プレイヤーの子にした場合
イメージ説明
↓spineの子にした場合
イメージ説明
FirstPersonController→Unitychan(プレイヤー)→spine→camera→銃とした場合
イメージ説明

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

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

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

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

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

guest

回答2

0

自己解決

Character1_spine2の下に空のオブジェクトを追加し、銃を子にしたカメラをそれの子にすることでカメラと銃が追従するようになりました。IKを使って銃と腕を追従させているのでカメラと銃と腕が一緒に動くようになったものの顔や胴体を動かすには別の処理が必要なようです(銃とカメラを空のオブジェクト以外の子にすると角度がおかしくなったりIKが働かなくなったりアニメーションしなくなったりしました)

投稿2020/07/26 08:34

hemaya

総合スコア4

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

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

0

腰のボーンをスクリプトで回転させるなんてことは、やったことがないですね。

カメラに合わせて銃の方を動かして、目線・体の角度、手が銃のどこをつかむか、などは IK で制御した方が楽なんじゃないでしょうか。

【追記】

下の質問者からのコメントに対して追記します。

銃をカメラの子にしたら何故かy方向を向くと銃がx方向に向いてしまいます・・・

そんなことないと思いますよ。スクリプトで何かコントロールしているのでしょう。いま作っている最中のものを弄り回すだけでなく、別のシーンなどで余計なものがない状態で練習したりしましょう。

単に銃をカメラの子オブジェクトにした場合は以下の通り。

イメージ説明

あとは適当にプレイヤーを動かすスクリプトを追加して、カメラは Cinemachine で制御すればこうなります。

イメージ説明

投稿2020/07/07 09:54

編集2020/07/07 13:35
bboydaisuke

総合スコア5270

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

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

hemaya

2020/07/07 12:41

カメラに合わせて銃を動かすにはどうすればいいでしょうか?銃をカメラの子にしたら何故かy方向を向くと銃がx方向に向いてしまいます・・・
bboydaisuke

2020/07/08 23:44

回答に追記しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問