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

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

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

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

Unity3D

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

Unity

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

Q&A

解決済

1回答

2929閲覧

Unity / Transform.forwardのようにVector3.forwardとやりたい

inuhpc

総合スコア1

C#

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

Unity3D

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

Unity

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

0グッド

0クリップ

投稿2021/05/13 02:25

前提・実現したいこと

簡単なFPSゲームを作っていますが向いている方に弾が飛ばせないです。
調べたところTransform.forwardで正面に撃てるらしいですが
キャラクターがRotation.y、カメラがRotation.xで別々のTransformで回転して制御しているのでこの方法が使えませんでした。
(キャラクターの子にカメラを置いています)
そこで、それぞれのRotationをVector3で保存し足して向きを計算しようとしましたが、Vector3.forwardが無く断念しました。

理想

C#

1public Transform bodyT; 2public Transform cameraT; 3 4private void Update() 5{ 6 Vector3 bodyRot = bodyT.eulerAngles; 7 Vector3 cameraRot = cameraT.eulerAngles; 8 Vector3 charaFrontVec = (bodyRot + cameraRot).forward; // 出来ない!というより無い! 9}

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

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

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

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

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

guest

回答1

0

ベストアンサー

FPSゲームなら結局プレイヤーの向き=カメラの向きでしょうから
カメラや銃口からtransform.forwardで正面とればいいんじゃないんですかね?

【Unity】FPSで弾を発射し、あたり判定を検知する方法
https://xr-hub.com/archives/7782

あと、Vector3.forwardVector3(0, 0, 1)です。回転してようが値はこれです。

Vector3.forward
https://docs.unity3d.com/ja/2018.4/ScriptReference/Vector3-forward.html

投稿2021/05/13 02:56

hogefugapiyo

総合スコア3302

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

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

inuhpc

2021/05/13 03:49

すみません、私のミスでした。 Player (空) (Y軸回転) ├Model └Camera (X軸回転) AddForce(Player.forward) → 向いてる方向は正しいが、向いてる高さに投げてくれなかった → AddForce(Camera.forward)をしても高さが合うだけで方向がずれると思い込んでいました... ですが、Camera.forwardに切り替えたらあっさりと正面に飛んでくれました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問