3D в Питоне

3D-моделирование и визуализация стали неотъемлемой частью различных отраслей, таких как игры, архитектура и виртуальная реальность. В этой статье мы рассмотрим, как работать с 3D-моделями в Python, сосредоточившись на создании и чтении сцен 3D-моделей. Мы изучим библиотеку Aspose.3D на Python, мощный и простой в использовании инструмент для создания, управления и чтения 3D-моделей. Давайте погрузимся в 3D-моделирование с помощью Python!

В этой статье рассматриваются следующие темы:

  1. 3D-библиотека Python — 3D на Python
  2. Создайте простую 3D-сцену в Python
  3. Создать материал в 3D-сцене
  4. Добавить свет в 3D-сцену
  5. Создайте примитивную 3D-модель в Python
  6. Читать 3D-сцену на Python

3D-библиотека Python — 3D в Python

Aspose.3D for Python — универсальное, многофункциональное и высокоэффективное решение для 3D-моделирования для разработчиков Python. Он предлагает полный набор функций, которые позволяют пользователям легко создавать, читать и изменять 3D-модели. Некоторые ключевые особенности этой 3D-библиотеки Python включают в себя:

  • Поддержка популярных форматов 3D-файлов, таких как FBX, OBJ, STL и др.
  • Высокопроизводительные возможности 3D-рендеринга и визуализации
  • Расширенные инструменты управления и манипулирования сценой
  • Обширная документация и примеры кода, которые помогут разработчикам быстро приступить к работе

Пожалуйста, либо скачайте пакет, либо установите API из PyPI, используя следующую команду pip в консоли:

pip install aspose-3d

Создайте базовую 3D-сцену в Python

Мы можем создать простую 3D-сцену, выполнив следующие шаги:

  1. Создайте экземпляр класса Scene.
  2. После этого вызовите метод createchildnode(), чтобы добавить некоторую геометрию, форму для отображения на экране, например, сферу.
  3. Наконец, сохраните сцену как FBX, используя метод save().

В следующем примере кода показано, как создать простую трехмерную сцену в Python.

# В этом примере кода показано, как создать базовую трехмерную сцену.
from aspose.threed import Scene
from aspose.threed.entities import Sphere

# Создайте объект класса Scene
scene = Scene()

# Создайте модель сферы
scene.root_node.create_child_node("Sphere", Sphere())

# Сохранить документ 3D-сцены
scene.save("C:\\Files\\my_scene.fbx")
3D-сцена в Python

3D-сцена в Python.

Создайте материал в 3D-сцене с помощью Python

Мы можем создать материал с диффузным цветом в 3D-сцене, выполнив следующие шаги:

  1. Создайте экземпляр класса Scene.
  2. Вызовите метод createchildnode(), чтобы добавить сферу.
  3. Инициализируйте объект класса LambertMaterial.
  4. Задайте свойства диффузного цвета и имени.
  5. После этого назначьте материальный объект модели Sphere.
  6. Наконец, сохраните сцену как FBX, используя метод save().

В следующем примере кода показано, как создать материал с диффузным цветом в 3D-сцене с помощью Python.

# В этом примере кода показано, как создать материал в 3D-сцене.
from aspose.threed import Scene
from aspose.threed.entities import Sphere
from aspose.threed.utilities import MathUtils, Vector3
from aspose.threed.shading import LambertMaterial
from aspose.pydrawing import Color

# Создайте объект класса Scene
scene = Scene()

# Создайте модель сферы
node = scene.root_node.create_child_node("Sphere", Sphere())

# Установить ЛамбертМатериал
material = LambertMaterial()
material.diffuse_color = Vector3(Color.red)
material.name = "Lambert"

# Назначить модели сферы
node.material = material

# Сохранить документ 3D-сцены
scene.save("C:\\Files\\material_scene.fbx")
Материал в 3D-сцене

Создание материала в 3D-сцене.

Добавьте свет в 3D-сцену с помощью Python

Мы также можем добавить свет в 3D-сцену, выполнив следующие шаги:

  1. Создайте экземпляр класса Scene.
  2. Вызовите метод createchildnode(), чтобы добавить сферу.
  3. Инициализируйте объект класса Light.
  4. Укажите тип освещения и свойства имени.
  5. После этого вызовите метод createchildnode(), чтобы добавить световой объект.
  6. Наконец, сохраните сцену как FBX, используя метод save().

В следующем примере кода показано, как создать свет в 3D-сцене с помощью Python.

# В этом примере кода показано, как создать источник света в 3D-сцене.
from aspose.threed import Scene
from aspose.threed.entities import Sphere, Light, LightType
from aspose.threed.utilities import MathUtils, Vector3
from aspose.threed.shading import LambertMaterial
from aspose.pydrawing import Color

# Создайте объект класса Scene
scene = Scene()

# Создайте модель сферы
scene.root_node.create_child_node("Sphere", Sphere())

# Добавить световой объект
light = Light() 

# Точечный свет
light.light_type = 0

# Имя
light.name = "Light";

# Добавить на сцену
scene.root_node.create_child_node(light).transform.translation = Vector3(10, 0, 10);

# Сохранить документ 3D-сцены
scene.save("C:\\Files\\light_scene.fbx")

Примитивная 3D модель Python

Примитив – это объемная геометрическая фигура, являющаяся основой для создания сложных геометрических форм. Мы можем создать примитивную 3D-модель, выполнив шаги, упомянутые ранее. Однако нам нужно добавить несколько геометрических фигур или объектов, как показано в примере кода ниже:

# В этом примере кода показано, как создавать примитивные 3D-модели.
from aspose.threed import Scene
from aspose.threed.entities import Box, Cylinder
from aspose.threed.utilities import MathUtils, Vector3

# Инициализировать объект сцены
scene = Scene()

# Создайте блочную модель
box = Box();
box.name = "Box";
scene.root_node.create_child_node(box)

# Создайте модель цилиндра
cylinder = Cylinder();
cylinder.name = "Cylinder";
scene.root_node.create_child_node(cylinder)

# Сохранить документ 3D-сцены
scene.save("C:\\Files\\primitive_scene.fbx")

Чтение 3D-сцены в Python

Мы можем прочитать 3D-сцену из документа FBX, выполнив следующие действия:

  1. Создайте экземпляр класса Scene.
  2. Загрузите существующий 3D-документ с помощью метода open().
  3. Перебрать дочерние узлы.
  4. Наконец, отобразите значения свойств.

В следующем примере кода показано, как загрузить и прочитать трехмерную сцену в Python.

# В этом примере кода показано, как читать трехмерную сцену.
from aspose.threed import Scene

# Инициализировать объект класса сцены
scene = Scene()

# Загрузите существующий 3D-документ
scene.open("C:\\Files\\primitive_scene.fbx")

for node in scene.root_node.child_nodes:
    entity = node.entity;
    print("{0}", entity.name); 
{0} Box
{0} Cylinder

Получить бесплатную лицензию

Вы можете получить бесплатную временную лицензию, чтобы попробовать Aspose.3D for Python без ограничений пробной версии.

3D в Python — учебные ресурсы Python 3D Library

Вы можете узнать больше о создании и управлении 3D-моделями и сценами в Python и изучить другие функции библиотеки, используя ресурсы, указанные ниже:

Заключение

В этой статье мы представляем библиотеку Aspose.3D и демонстрируем ее возможности в создании, чтении и управлении 3D-моделями в Python. Благодаря поддержке различных форматов 3D-файлов, расширенному управлению сценами и высокопроизводительному рендерингу библиотека Aspose.3D является бесценным инструментом для разработчиков Python, работающих с 3D-контентом. Используя библиотеку Aspose.3D, вы можете оптимизировать свои проекты 3D-моделирования и легко создавать потрясающие 3D-сцены. В случае возникновения неясностей свяжитесь с нами на нашем бесплатном форуме поддержки.

Смотрите также