В предната статия разгледах някои възможности на Unity работа с 2D графика, както и основните панели за работа с интегрираната среда за разработка. Днес ще се спра на основните градивни единици на всяка игра – обектите и компонентите.
Обекти в Unity (GameObjects)
Unity работи с така наречените обекти или игрови обекти (GameObjects). Те са фундаментална част от работата с енджина, тъй като могат да представляват всички елементи в дадена игра – герои, реквизит, фонови изображения и т.н. Те изпълняват ролята на контейнери за компонентите, които имплементират различните функции на обектите. За пример, когато празен обект получи компонент за светлина, той започва да изпълнява ролята на светлинно тяло, чиито параметри (на компонента закачен за обекта) могат да бъдат настройвани с програмен код или от инспектора в Unity.
Екранната снимка показва примерен проект с обект, към който е прикачен компонент за светлина. От дясно виждаме възможностите за нейното управление през инспектора в Unity.
Игровите обекти в Unity винаги имат закачен компонент за трансформация (Transform), който не е възможно да се премахне. Също така притежават име, таг и слой.
Компоненти в Unity (Components)
Обектите са градивен елемент в разработката в игри на Unity, като функцията им се определя от добавените към тях компоненти.
Компонента за трансформация е най-съществен, тъй като дефинира както позицията на обекта в сцената, така и ротацията и размера му. Той е част от всеки един игрови обект и не може да бъде премахнат, тъй като без него обектите няма да имат местоположение в света (сцената).
- Компоненти на решетките (за изобразяване на обекти)
- Компоненти за различни ефекти
- Компоненти за добавяне на физика (в тримерното пространство)
- Компоненти за добавяне на физика (в двумерното пространство)
- Компоненти за навигация
- Компоненти за звук
- Компоненти за рендериране
- Компоненти за оформление
- Разнородни компоненти
- Компоненти за обработка на събития
- Компоненти за потребителски интерфейс
- Съществуващи скриптове (файлове с програмен код)
- Възможност за създаване на нов скрипт
Друг аспект от работата с компоненти е редактирането на техните свойства. Те могат да бъдат настройвани дори в режим на симулация. Свойствата в компонентите могат да бъдат два вида – референции и стойности. Референциите оказват пътя към файл източник, с който компонента работи.
Стойностите се отнасят до конкретните стойности на компонента, които могат да бъдат настройвани.
За пример, изображението по долу показва компонента Audio Source (аудио източник), който има референция към AudioClip с име „vocal1“. Останалите свойства на компонента се отнасят до стойностите, които могат да бъдат настройвани.
Компонентите са подредени един под друг, като тяхното разположение определя последователността в които те ще бъдат приложени. Това може да бъде важно за правилното рендериране на обект, при прилагането на компоненти с различни визуални ефекти. Unity поддържа и командите Copy/Paste. При копиране, командата съхранява стойностите и типа на копирания компонент, които могат да бъдат поставени в друг компонент от същия тип (с Paste Component Values). Paste Component As New създава нов компонент с копираните стойности върху избран обект.