В vr_octavia примере показаны преимущества визуализации сложной динамической модели в среде виртуальной реальности. Он также показывает Simulink ® 3D Animation™ 3D автономную функциональность записи анимации.
Предварительно вычисленные данные моделирования, представляющие один круг транспортного средства на схеме проверки, преобразуются из структуры сигнала динамической модели в форму, которая может быть отправлена на сцену виртуальной реальности. Это преобразование включает разделение объединенных сигналов на сигналы, регулирующие свойства отдельных объектов VRML и преобразования систем координат. Данные затем отправляются на сцену виртуальной реальности с помощью блока VR Sink со скоростью дискретизации 25 Гц.
Динамическая модель обеспечивает не только сигналы, которые влияют на визуальные свойства объектов (положения и повороты), но и силы и другие подобные величины, которые также могут быть визуализированы. В этом примере силы колеса визуализируются с помощью тройок VRML, масштабируемых динамически в соответствии с текущими значениями силы. Триады сил могут быть отключены переключателем видимости сил.
При работе с моделями виртуальной реальности существует общее требование отслеживать определенные движущиеся объекты с помощью камеры. Обычно направление от камеры к объекту легко доступно (оба положения известны, поэтому направление от камеры к объекту определяется как различие между двумя положениями). Поскольку в VRML ориентация точки обзора определяется в форме 4-элементного [осью угла] поворота VRML, направление камеры должно быть преобразовано в этот формат перед отправкой в виртуальную сцену. Simulink 3D Animation предоставляет блок Viewpoint Direction to VRML Orientation, чтобы выполнить это преобразование. В этом примере переключитесь на «Simulink Controlled Viewpoint» в средстве просмотра, чтобы увидеть эффект отслеживания камеры.
Simulink 3D Animation допускает два метода записи файлов анимации - 2D анимацию (файлы AVI) и 3D анимацию (файлы VRML). Здесь мы опишем, как можно создать и использовать 3D файл анимации VRML. Во внутреннем меню viewer Recording выберите Capture and Recording Parameters... опция.
В диалоговом окне Параметров захвата и записи установите флажок Записи в VRML. Оставьте файл: editbox на своём значении по умолчанию. Выберите режим записи по расписанию и укажите период времени, в течение которого необходимо записать время автономной анимации. Здесь мы записываем анимацию в течение всего времени симуляции, заданного для этой модели, вы можете выбрать любой временной интервал между временем запуска модели Simulink и временем остановки. Для получения дополнительной информации о параметрах регистрации см. документацию по продукту.
Когда вы задаете эти параметры записи анимации, файл анимации создается автоматически, когда вы запускаете симуляцию. В отличие от создания 2D файлов анимации, внутренний рисунок средство просмотра может быть минимизирована во время симуляции, что значительно ускоряет симуляцию. В конце выполнения симуляции созданный файл анимации VRML octavia_scene_anim_1.x3d остается в рабочей директории для дальнейшего использования.
Если вы распространяете файлы анимации, убедитесь, что также распределили все встроенные файлы объекта и текстуры, на которые ссылаются в исходном файле привязки VRML.
В случае этого примера следующие файлы должны быть распределены вместе с полученной octavia_scene_anim_1.x3d файла анимации:
octavia_body.x3d octavia_road.x3d /texture/octavia_*.jpg
Поскольку файл анимации VRML создается по умолчанию в текущую рабочую директорию, а не в каталог Simulink 3D Animation, вам потребуется скопировать все эти файлы в текущую рабочую директорию, чтобы правильно просмотреть файл анимации вне сети.
Просмотр автономного файла анимации VRML:
Предположим, что вы хотите просмотреть файл octavia_scene_anim_1.x3d, который находится в вашей текущей рабочей директории. Играть и просматривать этот анимированный файл с комфортом можно с помощью инструмента VR Animation Player:
vrplay('octavia_scene_anim_1.x3d');
Можно просмотреть получившийся файл анимации VRML также с помощью Orbisnap, blaxxun Contact или любого другого общедоступного VRML97 средства просмотра, или с помощью Simulink 3D Animation Internal Viewer. При использовании внутреннего средства просмотра необходимо задать свойство TimeSource виртуального мира freerun, чтобы иметь возможность видеть анимацию. Выполните следующие команды в командном окне MATLAB ®:
w=vrview('octavia_scene_anim_1.x3d'); set(w, 'TimeSource', 'freerun');
Файл анимации VRML, основанный на этом примере, предварительно записывается в каталог/sl3ddemos под следующим именем:
octavia_scene_anim.x3d
Выражение признательности:
Skoda Octavia модели авторское право Skoda Auto, предоставлено Ismar VR, Чехия. Геометрия дороги и данные моделирования, сгенерированные с помощью veDYNA компанией TESIS DYNAware, Германия.