void Update() { if (buttonArea.Contains(Input.mousePosition)) { return; } if (Input.GetButtonDown("Fire1")) { Vector3 reticlePosition = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, SideCamera.Instance.distance)); float angle = Mathf.Atan2(reticlePosition.y - player.position.y, reticlePosition.x - player.position.x) * 180f / Mathf.PI; //Quaternion projectileAngle = Quaternion.LookRotation((player.position - reticlePosition).normalized, Vector3.forward); Quaternion projectileAngle = Quaternion.Euler(0f, 0f, angle); //Vector3 projectilePosition = player.position - new Vector3(2f * Mathf.Cos(angle), 2f * Mathf.Sin(angle), 0f); Vector3 projectilePosition = player.position; CharacterSceneManager.CreateBullet(projectile, projectilePosition, projectileAngle); } }
private void Shoot(Ray ray) { CharacterSceneManager.CreateBullet(projectile, ray.origin, Quaternion.FromToRotation(Vector3.right, ray.direction)); }
void Awake() { Instance = this; }