Наша компания имеет собственный игровой движок, который используется во всех разрабатываемых играх.
Он обеспечивает все важные базовые функции:
- рендеринг;
- работа с SDK;
- работа с операционной системой;
- с сетью и ресурсами.
Здесь я хочу рассказать, как мы реализовали все эти удобства и к чему пришли.
Что там сейчас
Теперь у нас есть некое подобие системы компонентов в Unity со всеми важными подсистемами и редакторами.Однако, поскольку мы исходили из потребностей наших конкретных проектов, есть довольно существенные различия.
У нас есть визуальные объекты, которые хранятся в сценах.
Эти объекты состоят из узлов, организованных в иерархию, и каждый узел может иметь несколько сущностей, например:
- Transform — преобразование узла;
- Компонент — занимается рендерингом и может иметь только один компонент или не иметь его вообще.
Компонентами являются спрайты, сетки, частицы и другие объекты, которые можно отображать.
Ближайший аналог в Unity — Renderer;
- Поведение – отвечает за поведение, и их может быть несколько.
Это прямой аналог MonoBehaviour в Unity; в них написана любая логика;
- Сортировка — это сущность, которая отвечает за порядок отображения узлов на сцене.
Поскольку наша система должна была легко интегрироваться в уже запущенные игры с существующей и разнообразной логикой отображения объектов, нам нужно было иметь возможность интегрировать новые сущности в старые.
Таким образом, сортировка позволяет передать управление порядком отображения внешнему коду.
Для этого вам просто нужно написать класс, переопределить необходимые события (Update, OnStart и т.д.) и особым образом отметить нужные поля.
В UnrealEngine это делается с помощью макросов, но мы решили использовать теги в комментариях.
Теги: #Разработка игр #unity #Playrix/// @category(VSO.Basic)
-
Что Такое Wmv-Macgo Wmv Player?
19 Oct, 24 -
Ежемесячный Выпуск Aso № 19, Ноябрь 2017 Г.
19 Oct, 24