Скрытый текст:
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
public class PlayerShoot : MonoBehaviour
{
public GameObject prefabPylia; // Подгрузка префаба
public Camera cam; // Переиенная для инициалезации камеры
GameObject _targ; // Переменная для определения точки респауна пули
Vector3 tarPos;
Vector3 mPos;
Vector3 shootDir;
float ang;
private Quaternion plus90deg;
void Start ()
{
cam = Camera.main; // Инициалезация камеры
_targ = gameObject; // Определение положения точки респауна пули
plus90deg.eulerAngles = new Vector3(0,90,0);
}
void Update ()
{
FindVector();
}
void FindVector()
{
mPos = Input.mousePosition;
tarPos=cam.WorldToScreenPoint(_targ.transform.position);
tarPos=new Vector3(tarPos.x,tarPos.y,0);
GameObject clone= Instantiate(prefabPylia, _targ.transform.position, plus90deg) as GameObject; // создание клона пули в игре
shootDir=mPos-tarPos;
ang=Vector3.Angle(clone.transform.forward,shootDir);
ang*=Mathf.Sign(Vector3.Dot(Vector3.up,shootDir));
clone.transform.RotateAround(_targ.transform.position,Vector3.forward,ang);
}
}
using System.Collections;
public class PlayerShoot : MonoBehaviour
{
public GameObject prefabPylia; // Подгрузка префаба
public Camera cam; // Переиенная для инициалезации камеры
GameObject _targ; // Переменная для определения точки респауна пули
Vector3 tarPos;
Vector3 mPos;
Vector3 shootDir;
float ang;
private Quaternion plus90deg;
void Start ()
{
cam = Camera.main; // Инициалезация камеры
_targ = gameObject; // Определение положения точки респауна пули
plus90deg.eulerAngles = new Vector3(0,90,0);
}
void Update ()
{
FindVector();
}
void FindVector()
{
mPos = Input.mousePosition;
tarPos=cam.WorldToScreenPoint(_targ.transform.position);
tarPos=new Vector3(tarPos.x,tarPos.y,0);
GameObject clone= Instantiate(prefabPylia, _targ.transform.position, plus90deg) as GameObject; // создание клона пули в игре
shootDir=mPos-tarPos;
ang=Vector3.Angle(clone.transform.forward,shootDir);
ang*=Mathf.Sign(Vector3.Dot(Vector3.up,shootDir));
clone.transform.RotateAround(_targ.transform.position,Vector3.forward,ang);
}
}