Привет Хабр! Это моя первая статья, и в ней я хочу начать рассказ о движке Ursina Engine.
Навигация для удобства:
Введение в Ursina Engine. Класс Entity. (Эта статья)
Скоро...
Что такое Ursina Engine?
Ursina Engine — это современный игровой движок на Python, который предоставляет разработчикам мощные инструменты для создания 2D и 3D игр. Движок ориентирован на простоту использования, что делает его доступным как для новичков, так и для опытных разработчиков. Ниже представлен обзор возможностей и преимуществ Ursina Engine.
Возможности Ursina Engine
Простота использования: Ursina разработан так, чтобы минимизировать количество кода, необходимого для создания игры. Его API интуитивно понятен и позволяет быстро начать разработку.
Поддержка 2D и 3D: Ursina предлагает гибкие инструменты как для 2D, так и для 3D графики. Это позволяет разработчикам экспериментировать с различными стилями и жанрами.
Широкий выбор компонентов: Движок включает множество встроенных компонентов, таких как физика, столкновения, анимации и освещение, которые можно легко использовать и настраивать.
Поддержка Python: Ursina полностью написан на Python, что упрощает процесс разработки. Вы можете использовать все преимущества Python, включая огромные библиотеки и сообщества.
Интерактивность и анимация: Движок позволяет создавать сложные анимации и взаимодействия с объектами, что делает игры более увлекательными.
Кроссплатформенность: Игры, разработанные с Ursina, могут работать на различных платформах, включая Windows, macOS и Linux.
Легкость в обучении: Благодаря простоте API и множеству учебных ресурсов, даже новички могут быстро освоить создание игр.
Гибкость: Ursina поддерживает расширения и кастомизацию, позволяя разработчикам внедрять свои собственные инструменты и функции.
Преимущества Ursina Engine
Быстрое прототипирование: Разработчики могут быстро создать прототип своей идеи и тестировать её без необходимости глубоко вникать в сложные аспекты игрового программирования.
Сообщество и поддержка: Ursina поддерживается активным сообществом, что обеспечивает наличие множества учебных ресурсов, примеров и руководств.
Доступность: Поскольку Ursina основан на Python и является бесплатным, это делает его доступным для широкой аудитории, включая студентов и хобби-разработчиков.
Документация: Движок имеет подробную документацию, которая охватывает все его возможности и компоненты, помогая разработчикам без лишних усилий разрабатывать свои проекты.
Красивый и современный графический стиль: Ursina предоставляет готовые решения для создания визуально привлекательных игр с современными графическими эффектами.
В целом, Ursina Engine — это мощный и доступный инструмент для создания игр на Python, который позволяет разработчикам сосредоточиться на творчестве и реализации своих идей без лишних технических сложностей.
Чтобы начать работу с Ursina Engine, у нас должен быть установлен Python 3.6 или более поздняя версия. Для установки воспользуемся командой:
pip install ursina
Введение. Класс Entity.
Мы переходим к основной части этой статьи, где начнем разбирать работу с движком.
Вот простейший код на Ursina Engine:
from ursina import *
app = Ursina()
cube = Entity(
model='cube'
)
app.run()
Этот код создает такое окно с кубом по середине:

Давайте его разберем:
from ursina import * - Импорт библиотеки Ursina
app = Ursina() - Инициализация окна
cube = Entity(model='cube') - Создание куба с помощью класса Entity (Его мы и будем разбирать в этой статье)
app.run() - Запуск программы
Класс Entity
Ursina использует объектно-ориентированный подход.
Основной компонент - это Entity, представляющий собой любой объект в нашей игре (будь это стена, игрок, враг и т.д.)
Entity имеет множество атрибутов, таких как:
position: Вектор(x, y, z), определяющий местоположение объекта в пространстве.
scale: Вектор(x, y, z), определяющий масштабирование объекта по каждой оси.
rotation: Вектор(x, y, z), определяющей вращение объекта по каждой оси.
model: 3D модель объекта. В Ursina Engine есть встроенные модели, например: cube, plane, sphere. Также можно создать свою 3D модель.
texture: Текстура объекта . В Ursina также есть встроенные текстуры, например grass. Можно создать свою текстуру
color: Цвет объекта.
Пример работы с классом Entity
from ursina import * # Импортируем библиотеку
app = Ursina() # Инициализируем приложение
cube = Entity( # Создаем куб
model='cube', # Модель = куб
position=(0,0,0), # Координаты
scale=(1,1,1), # Масштабируем
color=color.orange # Цвет = оранжевый
)
sphere = Entity( # Создем сферу
model='sphere', # Модель = сфера
position=(4,4,4), # Координаты
scale=(1,1,1), # Масштабируем
color=color.blue # Цвет = синий
)
app.run() # Запускаем приложение
Поподробнее об атрибутах Entity
Position, Rotation и Scale использует Vec3, о котором будет рассказано в следующей статье.
Model. Для создания своей модели поддерживаются форматы:
obj
Bam(Бинарный формат)
blend(автоматически преобразуется в obj)
Ursinamesh
и др.
Texture. Для создания своей текстуры поддерживаются форматы:
png
jpg
bmp
и др.
Color. Цвета в Ursina Engine хранятся в модуле color.
Например:
Оранжевый - color.orange
Синий - color.blue
Зеленый - color.green
Заключение
Я постарался сделать свою 1 статью очень информативной и надеюсь что вам она понравилась. Ожидайте вторую часть где я расскажу еще больше об Ursina Engine!