3D-моделирование и визуализация стали неотъемлемой частью различных отраслей, таких как игры, архитектура и виртуальная реальность. В этой статье мы рассмотрим, как работать с 3D-моделями в Python, сосредоточившись на создании и чтении сцен 3D-моделей. Мы изучим библиотеку Aspose.3D на Python, мощный и простой в использовании инструмент для создания, управления и чтения 3D-моделей. Давайте погрузимся в 3D-моделирование с помощью Python!
В этой статье рассматриваются следующие темы:
- 3D-библиотека Python — 3D на Python
- Создайте простую 3D-сцену в Python
- Создать материал в 3D-сцене
- Добавить свет в 3D-сцену
- Создайте примитивную 3D-модель в Python
- Читать 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-сцену, выполнив следующие шаги:
- Создайте экземпляр класса Scene.
- После этого вызовите метод createchildnode(), чтобы добавить некоторую геометрию, форму для отображения на экране, например, сферу.
- Наконец, сохраните сцену как 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-сцене, выполнив следующие шаги:
- Создайте экземпляр класса Scene.
- Вызовите метод createchildnode(), чтобы добавить сферу.
- Инициализируйте объект класса LambertMaterial.
- Задайте свойства диффузного цвета и имени.
- После этого назначьте материальный объект модели Sphere.
- Наконец, сохраните сцену как 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-сцену с помощью Python
Мы также можем добавить свет в 3D-сцену, выполнив следующие шаги:
- Создайте экземпляр класса Scene.
- Вызовите метод createchildnode(), чтобы добавить сферу.
- Инициализируйте объект класса Light.
- Укажите тип освещения и свойства имени.
- После этого вызовите метод createchildnode(), чтобы добавить световой объект.
- Наконец, сохраните сцену как 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, выполнив следующие действия:
- Создайте экземпляр класса Scene.
- Загрузите существующий 3D-документ с помощью метода open().
- Перебрать дочерние узлы.
- Наконец, отобразите значения свойств.
В следующем примере кода показано, как загрузить и прочитать трехмерную сцену в 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 for Python
- Бесплатные онлайн-приложения
- Справочник по API
- Руководства и статьи
Заключение
В этой статье мы представляем библиотеку Aspose.3D и демонстрируем ее возможности в создании, чтении и управлении 3D-моделями в Python. Благодаря поддержке различных форматов 3D-файлов, расширенному управлению сценами и высокопроизводительному рендерингу библиотека Aspose.3D является бесценным инструментом для разработчиков Python, работающих с 3D-контентом. Используя библиотеку Aspose.3D, вы можете оптимизировать свои проекты 3D-моделирования и легко создавать потрясающие 3D-сцены. В случае возникновения неясностей свяжитесь с нами на нашем бесплатном форуме поддержки.