Aspose.3D FOSS for .NET

Справочник API для Aspose.3D.Converter 1.0.0 (.NET 10.0+, лицензия MIT).

Все классы находятся в Aspose.ThreeD корневом пространстве имён. Корневая директива using:

using Aspose.ThreeD;

Конвенция именования в C#: Все свойства используют стандартный синтаксис свойств C#. Например, используйте scene.RootNode вместо scene.getRootNode(), и transform.Translation = ... вместо transform.setTranslation(...). Vector3, Vector4, Quaternion, Matrix4, и FVector типы используют публичные поля (v.X, v.Y, v.Z) для доступа к компоненту.


Основной граф сцены

ExampleExample
SceneКонтейнер верхнего уровня для всех данных 3D‑сцены. Содержит корневой узел, метаданные ассетов и анимационные клипы. Предоставляет Open() и Save() в качестве основных точек входа ввода/вывода.
NodeИменованный узел в иерархии сцены. Содержит список дочерних узлов и список присоединённых Entity объекты, такие как сетки, камеры и источники света. Содержит локальный Transform.
EntityАбстрактный базовый класс для всех объектов, которые могут быть присоединены к Node. Предоставляет имя и идентификатор, но не имеет собственной геометрии.
SceneObjectБазовый класс, общий для Node и Entity. Предоставляет интерфейс коллекции свойств, используемый для пользовательских метаданных.
A3DObjectКорневой базовый класс для всех управляемых объектов Aspose.3D. Предоставляет Name свойство и Properties коллекцию.
INamedObjectИнтерфейс, гарантирующий Name свойство. Реализуется Node, Entity, а также несколькими типами дескрипторов, специфичными для формата.

Геометрия и сетка

ExampleExample
MeshСущность полигональной сетки. Хранит контрольные точки (позиции вершин как Vector4), списки граней полигонов (списки индексов контрольных точек) и слои элементов вершин (нормали, UV, цвета вершин).
GeometryАбстрактная базовая часть для типов геометрии, похожей на сетку. Определяет массив контрольных точек и набор VertexElement слоёв. Mesh наследуется от Geometry.
VertexElementАбстрактная базовая часть для слоя данных, прикреплённого к геометрии (нормали, UV, цвета и т.д.). Содержит MappingMode, ReferenceMode, и список данных.
VertexElementNormalСохраняет один вектор нормали на вершину или на угол полигона, в зависимости от режима отображения.
VertexElementUVСохраняет пары текстурных координат (Vector2) на вершину или на угол полигона.
VertexElementVertexColorСохраняет данные цвета RGBA на вершину или на угол в виде Vector4.

Встроенные примитивы

ExampleExample
BoxПараметрический прямоугольный параллелепипед, выровненный по осям, с настраиваемой шириной, высотой и глубиной. Может быть прикреплён к a Node непосредственно или преобразовано в Mesh через ToMesh().
SphereПараметрическая сфера с настраиваемым радиусом. Поддерживает ToMesh() преобразование.
CylinderПараметрический цилиндр с настраиваемыми радиусом верхней части, радиусом нижней части и высотой. Поддерживает ToMesh() преобразование.

Трансформ и Spatial

ExampleExample
TransformЛокальное преобразование, привязанное к Node. Предоставляет Translation (FVector3), Rotation (Quaternion), Scale (FVector3), и Matrix (Matrix4) свойства.
GlobalTransformТолько для чтения представление матрицы преобразования узла в мировом пространстве после композиции всех трансформаций предков. Доступно через node.GlobalTransform. Предоставляет единственное Matrix свойство.
AssetInfoБлок метаданных, прикреплённый к Scene. Наследуется от A3DObject предоставляющий Name и Properties. В этом издании не определено дополнительных свойств.

Материалы и затенение

ExampleExample
MaterialАбстрактный базовый класс для всех типов материалов. Предоставляет имя и коллекцию свойств.
LambertMaterialКлассический материал, отражающий только диффузно, с Ambient, Diffuse, Emissive, Reflective, Transparency, и Texture свойства. Пространство имён: Aspose.ThreeD.Shading.
PhongMaterialРасширяет Lambert с Specular, Shininess, и SpecularPower свойства. Пространство имён: Aspose.ThreeD.Shading.
PbrMaterialМатериал физически основанного рендеринга с BaseColor, Metallic, Roughness, Occlusion, и свойства слотов текстур. Namespace: Aspose.ThreeD.Shading.

Example

ExampleExample
CameraСущность камеры. Наследует от Frustum. Прикреплено к Node для определения трансформаций точки зрения. Свойства, специфичные для формата, не раскрыты в этом издании.

Математические утилиты

ExampleExample
Vector2Вектор одинарной точности с 2 компонентами (X, Y). Используется для UV‑текстурных координат.
Vector3Вектор одинарной точности с 3 компонентами (X, Y, Z). Универсальный пространственный вектор.
Vector4Вектор из 4 компонентов одинарной точности (X, Y, Z, W). Используется для контрольных точек и данных о нормалях.
FVector3Вектор из 3 компонентов одинарной точности (float). Используется Transform.Translation и Transform.Scale.
FVector4Вектор из 4 компонентов одинарной точности (float).
QuaternionУнитарный кватернион для представления вращений (W, X, Y, Z). Используется Transform.Rotation.
Matrix44x4 transformation matrix. Used for world/local transform computations and by GlobalTransform.Matrix.
BoundingBoxОсиально-выравненный ограничивающий прямоугольник, определённый Minimum и Maximum FVector3 углами.

Example

ExampleExample
AnimationClipИменованный контейнер для диапазона анимации. A Scene может содержать несколько клипов. Заглушка декларации — данные ключевых кадров и воспроизведение пока не реализованы.

Ввод/вывод форматов

ExampleExample
Scene.Open(path)Открывает файл, определяет формат по расширению и заполняет сцену.
Scene.Open(path, options)Открывает файл с учётом формата LoadOptions.
Scene.Open(stream)Открывает из потока, автоматически определяя формат по содержимому.
Scene.Open(stream, options)Открывает из потока, зависящего от формата. LoadOptions.
Scene.Save(path)Сохраняет сцену в файл; формат определяется по расширению.
Scene.Save(path, options)Сохраняет с учётом специфики формата. SaveOptions.
Scene.Save(stream, options)Сохраняет в поток с учётом специфики формата. SaveOptions.
FileFormatРеестр поддерживаемых форматов файлов. Содержит записи, такие как FileFormat.WavefrontOBJ, FileFormat.GLTF2, FileFormat.FBX7400ASCII.
IOServiceВнутренняя абстракция ввода/вывода. Предоставляет DetectFormat() для обнаружения формата на основе потока.
LoadOptionsБазовый класс для параметров загрузки, специфичных для формата.
SaveOptionsБазовый класс для параметров сохранения, специфичных для формата.

Формат OBJ

ExampleExample
ObjLoadOptionsПараметры загрузки файлов Wavefront OBJ.
ObjSaveOptionsПараметры сохранения вывода Wavefront OBJ.

Формат STL

ExampleExample
StlLoadOptionsПараметры загрузки файлов STL.
StlSaveOptionsПараметры сохранения для вывода STL.

Формат glTF

ExampleExample
GltfLoadOptionsПараметры загрузки для файлов glTF 2.0 и GLB.
GltfSaveOptionsПараметры сохранения для вывода glTF 2.0 и GLB. Свойства, специфичные для формата, в этом издании не доступны; используйте .glb расширение для бинарного вывода.

Формат FBX

ExampleExample
FbxLoadOptionsПараметры загрузки для файлов FBX.
FbxSaveOptionsПараметры сохранения для вывода FBX. Используйте IsAscii для переключения режима ASCII/бинарного.

3MF Format

ExampleExample
TmfLoadOptionsЗагрузить параметры для файлов 3MF.
TmfSaveOptionsСохранить параметры для вывода 3MF.

Example

ExampleExample
FileContentTypeДескриптор типа содержимого: ASCII, Binary. Доступно как свойство у FileFormat.
AxisИдентифицирует координатную ось: XAxis, YAxis, ZAxis.
CoordinateSystemУказывает конвенцию правосторонности: RightHand или LeftHand.

Система свойств

ExampleExample
PropertyОдин именованный типизированный свойство на A3DObject.
PropertyCollectionИтерируемая коллекция Property объекты, прикреплённые к A3DObject.

См. также

 Русский