<分からないこと、解決したいこと>
Unityを使ってFPS視点の射的ゲームを製作中です。
アセットストアからインポートした銃と弾丸の3Dモデルを使用しています。
空のオブジェクトをPlayerとしその子オブジェクトにカメラ、さらにその子に銃と設定し、銃の子にMazzuleという空オブジェクトを作り銃口付近に配置して、そこから弾丸が生成されるようにしてあります。
しかしいざ発射させると弾丸の向きがZ軸方向に逆に生成されてしまいます。
見た目で言うと弾丸の先端が銃のほうを向いている状態です。
生成された弾丸を見るとZ軸が銃のほうを向いています。
これの改善方法を知りたいです。
生成部分のスクリプト
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BulletController : MonoBehaviour {
public GameObject bulletPrefab; public float bulletSpeed; public int bulletCount = 30; private float shotInterval; void Update () { if (Input.GetMouseButtonDown(0)) { shotInterval += 1; if (shotInterval % 2 == 0 && bulletCount > 0) { bulletCount -= 1; GameObject bullet = Instantiate(bulletPrefab, transform.position , Quaternion.Euler(transform.parent.eulerAngles.x, transform.parent.eulerAngles.y, 0)); Rigidbody bulletRd = bullet.GetComponent<Rigidbody>(); bulletRd.AddForce(transform.forward * bulletSpeed); Destroy(bullet, 3.0f); } } else if (Input.GetMouseButtonDown(1)) { bulletCount = 30; } }
}
弾丸はモデルをHierarokyに落として銃の向きと合うように設定し、Prefabにしてあります。デフォルトでは弾丸は先端がY軸ほうこうに向いていました。
<試したこと>
Muzzleの向きをZ軸方向に逆にして、スクリプトのbulletSpeedをマイナスにしてみました。
結果:変化なし
弾丸PrefabuのTransformを変更
結果:変化なし
<環境>
windows7 pro 32bit
Unity5.6.6
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/15 05:08