質問編集履歴

1 環境

torano

torano score 91

2017/05/07 20:12  投稿

Unity 動的生成した銃弾の向きを銃の向きに合わせたい
環境: Unity5.6.0f3 C#  
 
Unityで銃弾を発射したときに、その弾丸の向きを銃と同じ方向に合わせたいのですがどうすればいいでしょうか?
やりたいこと
まず銃の先端にEmptyオブジェクトを作成(弾丸を生成する位置)し、そのオブジェクトを銃の子オブジェクトとして、スクリプトをつけます。そのスクリプトではマウスクリックしたら弾丸生成、弾丸をそのEmptyオブジェの子オブジェクト化、そして向きと位置を銃に合わせて弾丸を発射します。
銃は自由に動かせるようにしたいので、弾丸の向きは銃の向きと合わせなければならないのですが、どうすればいいのかわかりません。
以下はそのスクリプトです。よろしくおねがいします。
```
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Shoot : MonoBehaviour {
   [SerializeField]
   private GameObject bullet;
   [SerializeField]
   private float speed = 1000;
   private bool Triggered;
   
   // Use this for initialization
   void Start () {
       
   }
   // Update is called once per frame
   void Update () {
       if (Input.GetMouseButtonDown(0)) {
           Triggered = true;
       }
   }
   private void FixedUpdate() {
       if (Triggered) {
           Triggered = false;
           GameObject bullets = Instantiate(bullet, this.transform.position, ここにどんなQuaternionを入れる?);
           bullets.transform.parent = this.transform;
           bullets.GetComponent<Rigidbody>().AddForce(this.gameObject.transform.forward * speed);
       }
   }
}
```
  • Unity

    10103 questions

    Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る