Стрельба
Для реализации стрельбы нам нужно:
- Модель патрона
- Модель оружия
Как реализовать выстрел?
1. Нужно поместить модель патрона (точнее игровой объект в иерархии) в начальную точку, те координаты откуда патрон начнет свое движение. Для примера ствол оружия, его начало\конец.
2. Применить к патрону силу, благодаря которой он будет двигаться.
3. Воспроизвести (симулировать) вспышку от выстрела и дымку. Можно к примеру воспользоваться системой частиц.
4. При столкновении патрона\или по таймеру удалить его со сцены.
5. Воспроизвести звук выстрела.
Обычно в Unity используются префабы игровых объектов. Префабы это болванки\копии\шаблоны какого либо игрового объекта. В данном случае будет разумно создать для патрона префаб и при выстреле делать его копию.
Как создавать префабы и прочее дело техники, такое глупо объяснять. Перейду к той части где у вас уже есть префаб патрона.
Transform patron = (Transform)Instantiate(patronPrefab, patronStartPoint.transform.position, patronStartPoint.transform.rotation);
patron.GetComponent<Rigidbody>().AddForce(patronStartPoint.transform.forward * 10);
Используя Instantiate мы клонировали префаб patronPrefab и теперь он у нас появился на сцене по координатам patronStartPoint.transform.position и получил свойства вращения от patronStartPoint.transform.rotation.
patronStartPoint можно задать заранее, создав к примеру пустой объект на сцене и через инспектор получив на него ссылку.
Также patronStartPoint.transform.position можно было задать в самом скрипте в ручную так new Vector3(x,y,z) где xyz координаты стартовой точки выстрела.
Далее мы получили Rigidbody нашего клона patron patron.GetComponent<Rigidbody>() используя GetComponent и применили к нему силу AddForce.
Чуть позже допишу, если интересно...
Unity - Scripting API:
Unity is the ultimate game development platform. Use Unity to build high-quality 3D and 2D games, deploy them across mobile, desktop, VR/AR, consoles
docs.unity3d.com