Mathf.Deg2Rad
перевод градусов в радианы float
- rotation.x=Mathf.Deg2Rad*угол
- для rotation
Mathf.Rad2Deg
перевод радианы float в градусы
- угол=Mathf.Rad2Deg*rotation.x
описание tabs форм редактора
в каждом Update
инстализируется объект «пуля»
назначается объекту родитель
вызывает метод, который устанавливает начальную позицию и поворот
public class BadShooting:MonoBehaviour;
{
[SerializableField]
private GameObject bullet;
[SerializableField]
private Transform bulletParent;
[SerializableField]
private Vector3 bulletSpawnPosition;
private void Update()
{
var bullet=GetBullet();
bullet.transform.SetParent(bulletParent);
bullet.GetComponent<BadBullet>().OnCreate(bulletSpawnPosition,transform.rotation);
}
private GameObject GetBullet()
{
return Instantiate(bullet);
}
}
public class BadBullet:MonoBehaviour;
{
private float lifeTime=3;
private float currentLifeTime;
private float speed=10;
public void OnCreate(Vector3 position, Quaternion rotation)
{
transform.position=position;
transfor.rotation=rotation;
currentLifeTime=lifeTime;
}
void Update()
{
transform.Translate(Vector3.forward*Time.deltaTime*speed);
if ((currentLifeTime-=Time.deltaTime)<0)
Destroy(gameObject);
}
}
Статическое Освещение
Динамическое Освещение
Backed GI
запечённое освещение
освещение рассчитывается ещё до того как игра стартовала
unity создаёт текстуру освещения к объектам, которую применили и забыли.
делаем один раз
хорошо использовать для уровней с малым количеством динамических объектов
подходит для мобильных устройств (производительный)
не подходит для смена дня и ночи
Realtime
заранее рассчитанное реалтайм освещение
текстура освещения строится в процессе игры