Okay i’m trying to shoot sphere in rotation of shooter and the base position is current shooter position here are my classes.
The problem is that it shoot in random direction…
using UnityEngine;
using System.Collections;
public class bulletMove : MonoBehaviour {
#region --Pubs--
public int bulletRange;
public float bulletSpeed;
public GameObject shooter;
#endregion
#region --Privs--
private Vector3 startPos;
private Quaternion rotation;
#endregion
// Use this for initialization
void Start () {
shooter = GameObject.FindGameObjectWithTag("Player");
startPos = shooter.transform.position;
rotation = shooter.transform.rotation;
}
// Update is called once per frame
void Update () {
float distance = Vector3.Distance(startPos,transform.position);
Debug.Log(distance);
float move = bulletSpeed * Time.deltaTime;
transform.Translate(startPos * move);
if(distance >=bulletRange)
{
Destroy(gameObject);
}
}
}
using UnityEngine;
using System.Collections;
public class characterCombat : MonoBehaviour {
#region --Pubs--
public GameObject ammo;
public string weaponName = "H&K";
public int weaponMinDmg = 4;
public int weaponMaxDmg = 15;
#endregion
#region --Privs--
#endregion
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if(Input.GetKeyDown(KeyCode.F))
{
Vector3 playerPosition = new Vector3(transform.position.x,transform.position.y,transform.position.z);
Instantiate(ammo,playerPosition,transform.rotation);
}
}
}