exponenta event banner

vrimport

Импорт файла 3D в виртуальный мир или узел

Описание

node = vrimport(source) создает пустой виртуальный мир VRML и импортирует source 3D файл в него. Формат файла 3D определяется автоматически. Можно импортировать следующие форматы файлов:

  • FBX (формат Autodesk ® FilmBoX)

  • DAE (обмен цифровыми активами Collada)

  • SDF (формат описания моделирования)

  • STL (STereoLithography)

  • URDF (унифицированный файл описания робота)

Совет

Для импорта XML-файлов физического моделирования используйте stl2vrml функция вместо vrimport.

Функция возвращает дескриптор вновь созданному узлу.

node = vrimport(parent,source) указывает существующий виртуальный мир или узел для импорта исходного файла 3D.

node = vrimport(___,format) явно указывает формат файла источника 3D (например, 'urdf'). Если формат исходного файла не соответствует формату, указанному в format , функция возвращает ошибку.

пример

[node,virtualWorld] = vrimport(___) возвращает дескриптор нового узла и дескриптор виртуального мира, который содержит этот узел.

Примеры

свернуть все

В этом примере выполняется импорт файла STL. rover_1.stlмодель простого колесного робота. В примере также показано, как добавить визуальный образ и узлы материала к импортированной модели в виртуальном мире.

Создание виртуального мира с импортированной моделью.

[n,w] = vrimport(which('Rover_1.stl'));

Просмотр виртуального мира с импортированной фигурой.

view(w)

Масштабируйте импортированную модель от мм до дм, чтобы увидеть ее на виде.

n.scale = [0.01 0.01 0.01]

Поверните марсоход вокруг оси X.

w.Rover_Transform.rotation = [1 0 0 -pi/2]

Изучите структуру виртуального мира.

get(w,'Nodes')

Импортированные фигуры STL не имеют визуальных свойств. Добавить Appearance и Materials узел фигуры. Appearance узел создан в appearance области Shape. Material узел создается в material области Appearance узел.

app = vrnode(w.Rover_Shape,'appearance','Rover_App','Appearance');
mat = vrnode(w.Rover_App,'material','Rover_Mat','Material');

Задайте для диффузного цвета оттенок синего цвета.

w.Rover_Mat.diffuseColor = [0 0.5 1]

Спасите виртуальный мир.

save(w,'Rover_1.wrl')

В этом примере выполняется импорт .dae форматировать файл в виртуальный мир.

Импорт fox.dae в узел в виртуальном мире.

[n,w] = vrimport(which('fox.dae'))
n = 

	vrnode object: 1-by-1

	COLLADA_fox_Transform_0001 (Transform) []


w = 

	vrworld object: 1-by-1

	 (No Virtual Reality 3D File Associated)

Просмотр импортированного визуального представления.

view(w)

Спасите виртуальный мир.

save(w,'fox.wrl')

Входные аргументы

свернуть все

3D путь к исходному файлу, указанный как символьный вектор. Файл 3D может иметь формат дисковой полки, SDF, STL или URDF.

Формат файла исходного 3D, заданный как символьный вектор. Этот аргумент используется для явного указания требуемого формата для исходного файла 3D.

Виртуальный мир или узел для импорта 3D исходный файл, указанный как дескриптор виртуального мира или дескриптор узла.

  • Если родительский объект является виртуальным миром, импортированный узел размещается в ROOT узел родительского элемента.

  • Если родительский узел является узлом в виртуальном мире, импортированный узел помещается в children поле узла.

Выходные аргументы

свернуть все

Новый узел, возвращенный как vrnode объект.

Виртуальный мир, содержащий новый узел, возвращенный как vrworld объект.

Представлен в R2016b