Въведение в единството скриптове
За да дадем живот на активите в проекта, имаме нужда от сценарии. Това е най-фундаменталната част от приложението, което искате да изградите с помощта на Unity Scripting. Скриптите се използват за писане на логиката за това как трябва да се държат обектите на играта в приложението. Може да се използва за създаване на различни AR, VR системи, графичен ефект, контрол на анимация, контрол на физиката, персонализирана AI система и т.н. Така че като цяло, сценариите са сърцето и душата на приложението.
Как да използвате Unity Scripting?
Unity 3D използва Monobehaviour за наследяване от своите скриптове. Той поддържа C # родно. Това е най-широко използваният скриптов език в единството. Въпреки това, можем да пишем скриптове на много други .NET езици, ако те могат да компилират съвместими DLL. Така че засега ще се придържаме към C # начин на скриптове.
Стъпки за създаване на единство скриптове
Нека научим стъпките за създаване и използване на скриптове.
1. Създаване на скриптове
- Придвижете се до проекта С десния бутон на мишката щракнете върху Създаване> С # скрипт.
- Друг начин е чрез избиране на активи> Създаване> С # скрипт от главното меню.
- Ще бъде създаден нов скрипт и той ще ни подкани да въведем новото име.
- Дайте правилно име на скрипта и натиснете Enter. Първият ни сценарий е създаден успешно.
2. Избор на редактор на сценарии
- Unity използва Visual Studio като редактор на скриптове по подразбиране.
- За да промените редактора на скриптове, отидете на Редактиране> Предпочитания> Външни инструменти.
- Потърсете местоположението на файла на редактора на скриптове.
3. Сценарна анатомия
- GameObject поведението може да се контролира от различни функции в Unity, наречени компоненти.
- Освен тези компоненти, ако се нуждаем от някаква конкретна функция, можем да реализираме това, като използваме скриптове.
- Когато щракнем два пъти върху скрипта, редакторът на скриптове ще се отвори.
- Структурата на скрипта ще изглежда по-долу.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MyFirstScript: MonoBehaviour
(
// Start is called before the first frame update
void Start()
(
)
// Update is called once per frame
void Update()
(
)
)
- Всички скриптове, които пишем вътре в единството, ще бъдат извлечени от вградения клас, наречен Monobehaviour.
- Това е като план на новия персонализиран компонент, който може да промени поведението на Game Object.
- Всеки път, когато създава нов екземпляр на скрипт обекта, когато прикачите този скрипт като компонент към игралния обект.
- Името на клас на скрипта ще бъде избрано от името на файла, който дадохме, за да създадем скрипта.
- За да прикачите скрипта към Game Object, уверете се, че името на класа и името на файла са еднакви. Или иначе ще ни даде грешка при компилация и няма да можем да прикачим този скрипт към Game Object.
- Тук можем да видим, че по подразбиране са създадени две функции. Те са Старт и Актуализация.
- Функцията Start се използва за инициализиране на нещата вътре в скрипта, преди да ги използваме.
- Стартовата функция се извиква в началото на Играта, ако скриптът е активиран в прозореца на инспектора на Игралния обект. Извиква се само веднъж при изпълнение на скрипта.
- Функцията за актуализиране ще се нарича всеки кадър. По принцип това е необходимо, ако във всеки кадър се работи по нещо. Тя може да бъде движение, предприемане на потребителско въвеждане, задействане на действия и т.н.
- Можем да напишем нашите персонализирани функции, подобно на начина, по който са написани функциите Start и Update.
4. Прикачване на скрипта към обекта на играта
- Изберете игровия обект, към който трябва да бъде прикачен скриптът.
- Първият начин е директно да плъзнете и пуснете скрипта в прозореца на инспектора на игралния обект. Тук ще го прикрепим към основната камера.
- Вторият начин е да щракнете върху Add Component и да започнете да пишете името на скрипта и да изберете скрипта.
- Той ще бъде прикачен към Game Object, както можем да го видим в прозореца на инспектора.
5. Какви са тези променливи, функции и класове?
- Променливи: Променливите са като контейнери, които съдържат стойност или препратки към обектите. Според конвенцията името на променливата ще започне с малката буква.
- Функции : Функциите са фрагмент от код, който използва променливите и допълнителната логика за промяна на поведението на обектите. Те могат да променят и тези променливи. Функциите започват с главна буква. Добра практика е да организираме кода си във вътрешната функция, така че да се увеличи четливостта.
- Класове: Класовете са колекция от променливи и функции за създаване на шаблон, който определя свойството на обекта. Името на клас е взето от името на файла, който даваме в момента на създаване на скрипта. Обикновено то започва от главното писмо.
6. Даване на референции на инспектор:
- Променливите, които са декларирани като публични в класа, ще бъдат изложени на инспектора и можем да му присвоим всякакви референции или стойност.
- Помислете следния код:
public class MyFirstScript : MonoBehaviour
(
public GameObject cameraObject;
// Start is called before the first frame update
void Start()
(
)
)
- Тук обектът на камерата е публичната променлива, която се нуждае от референция. Отидете до редактора на единството. Изберете обекта и ако погледнем компонента на скрипта, можем да видим празно пространство (None (Game Object)), както по-долу. За присвояване изберете Game Object от йерархията и плъзнете и пуснете в полето Camera Object.
7. Достъп до компонентите
- Ще има сценарии, при които трябва да имаме достъп до различни компоненти, прикачени към Game Object.
- Нека вземем пример за достъп до компонента Camera на Game Object.
- Вземете компонент, ще получим тип Камера.
void Start ()
(
Camera cameraObject = GetComponent();
Debug.Log("Camera Object is: " + cameraObj);
)
8. Променете стойностите на компонентите
- Промяната на стойностите на компонентите е следващата стъпка към горния пример.
- Кодът по-долу обяснява как можем да модифицираме зрителното поле на камерата.
- След като натиснете бутона за възпроизвеждане в редактора, можем да видим, че полето на видимост на камерата ще се промени от стойността по подразбиране 60 на 90 в менюто на инспектора на камерата.
public GameObject cameraObject;
private int cameraFOV = 90;
void Start ()
(
Camera cameraObj = GetComponent();
cameraObj.fieldOfView = cameraFOV;
)
заключение
В тази статия научихме за Unity скриптове, необходимостта от скриптове, стъпка по стъпка за създаване на скрипта и различни компоненти на скрипта, как да получите достъп до компонентите чрез скрипта и как можем да ги модифицираме.
Препоръчителен член
Това е ръководство за Unity Scripting. Тук обсъждаме въвеждането и стъпките за създаване на скрипт. Можете да разгледате и другите ни предложени статии, за да научите повече -- Команди за скриптове на Shell
- Какво е скрипт на Shell?
- Какво е скрипт между сайтове?
- Shell Scripting Intervju Въпроси
- Как да инсталирате Unity?
- Команди за пакетно писане | Списък | Примери