Search
Write a publication
Pull to refresh

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

Level of difficultyEasy

Привет Хабр! Это моя первая статья, и в ней я хочу начать рассказ о движке 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!

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.