Въведение в единството скриптове

За да дадем живот на активите в проекта, имаме нужда от сценарии. Това е най-фундаменталната част от приложението, което искате да изградите с помощта на 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. Тук обсъждаме въвеждането и стъпките за създаване на скрипт. Можете да разгледате и другите ни предложени статии, за да научите повече -
  1. Команди за скриптове на Shell
  2. Какво е скрипт на Shell?
  3. Какво е скрипт между сайтове?
  4. Shell Scripting Intervju Въпроси
  5. Как да инсталирате Unity?
  6. Команди за пакетно писане | Списък | Примери