Добавлен ehnaton,
опубликован
И вот, зайдя в юнити и прочитав пару статей, вы обращаете внимание на панельку под названием Inspector.
Каждое подменю - это так называемый компонент. Что это? Вкратце - кусочки, из которых складывается поведение объекта, его положение в мире и все-все-все. Так, например, компонент Collider дает предмету осязаемую форму, на которую смогут реагировать другие объекты, у которых есть компонент, ответственный за физику - RigidBody, не говоря о Transform, который позволяет нашему предмету иметь в мире положение, масштаб и поворот. Вкратце говоря, если Game Object - предмет, то компоненты - его свойства.
На этих кирпичиках и строится мир в юнити. Попробуем написать собственный компонент.
Дважды кликнув по выбранному в поле Script файлу, или найдя этот файл в папке проекта, мы попадем в нашу рабочую среду, где и будем творить.
По умолчанию это MonoDevelop, но вы всегда можете сменить на другой в Edit/Preferences/ExternalTools.
Создадим новый скрипт пройдя в меню Assets/Create/C#Script. Новый скрипт, для примера, мы назовем "SomeComponent".
И вот мы смотрим на код.
Дважды кликнув по выбранному в поле Script файлу, или найдя этот файл в папке проекта, мы попадем в нашу рабочую среду, где и будем творить.
По умолчанию это MonoDevelop, но вы всегда можете сменить на другой в Edit/Preferences/ExternalTools.
Создадим новый скрипт пройдя в меню Assets/Create/C#Script. Новый скрипт, для примера, мы назовем "SomeComponent".
И вот мы смотрим на код.
using UnityEngine;
using System.Collections;
public class SomeComponent : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
}
Разберем этот код. (Важно - имя класса обязательно должно совпадать с именем файла).
Замечу, что функции Start, Update и FixedUpdate есть только в тех компонентах, что наследуются от MonoBehaviour.
MonoBehaviour - это компонент, описывающий поведение объекта. Отсюда и слово "Behaviour". Скажем, это может быть поведение юнита, здания, игрока, двери или еще какой другой оказии в игровом мире. Чтобы обеспечить взаимодействие с миром и сделаны специальные методы, которые позволяют нам отслеживать окружающие изменения.
MonoBehaviour - это компонент, описывающий поведение объекта. Отсюда и слово "Behaviour". Скажем, это может быть поведение юнита, здания, игрока, двери или еще какой другой оказии в игровом мире. Чтобы обеспечить взаимодействие с миром и сделаны специальные методы, которые позволяют нам отслеживать окружающие изменения.
Start - вызывается при появлении этого компонента на нашей сцене (Если был там с самого начала - запустится при запуске сцены), появился ли он во время игры вместе с некоторым новым объектом или был добавлен уже к существующему.
Update - этот метод вызывается каждый раз при перерисовке картинки на экране. Замечу, что добавив слово Fixed вы получите...
FixedUpdate - метод, вызывающийся каждый раз, при каждом просчете физики.
Немного отвлечемся. Вы правильно поняли, физика и графика идут раздельно и считаются с разными периодами. Это позволяет, к примеру, полностью останавливая просчет физики, не трогать ничего, связанного с графикой.
Это основные, общие для всех компонентов функции, но не единственные.
Пример
// Update is called once per frame
void Update () {
transform.position = transform.position + Vector3.up;
}
Так например этот код будет каждый раз при перерисовке графики поднимать наш объект на 1 единицу вверх.
Важно заметить, что все публичные переменные, объявленные в этом классе, автоматически появляются в подменю, где их можно будет изменить на те значения, какие будут нужны при запуске сцены, если вы конечно не написали кастомное, хотя, вряд ли вы тогда читали бы эту статью.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован AsagiriGen