Как стать автором
Поиск
Написать публикацию
Обновить

Ursina Engine. 1 Введение в Ursina. Класс Entity

Уровень сложностиПростой

Привет Хабр! Это моя первая статья, и в ней я хочу начать рассказ о движке Ursina Engine.

Навигация для удобства:

  1. Введение в Ursina Engine. Класс Entity. (Эта статья)

  2. Скоро...


Что такое 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()

Этот код создает такое окно с кубом по середине:

Окно, которое создал наш код
Окно, которое создал наш код

Давайте его разберем:

  1. from ursina import * - Импорт библиотеки Ursina

  2. app = Ursina() - Инициализация окна

  3. cube = Entity(model='cube') - Создание куба с помощью класса Entity (Его мы и будем разбирать в этой статье)

  4. 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!

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.