FG 3: Smart Immersive Environments
April. 2009
PolyVR ist ein Virtual-Reality-Autorensystem, das dem Benutzer ermöglicht, immersive und interaktive virtuelle Welten dynamisch zu erstellen. Dieses umfangreiche VR-Werkzeug wird in zahlreichen Projekten und Lehrveranstalgungen eingesetzt und dadurch ständig weiterentwickelt. Seit 2009 werden Ergebnisse aus Forschungs- und Industrieprojekten nachhaltig als Module integriert. Dadurch können Synergien aufgebaut werden und wesentlich komplexere Anwendungen implementiert werden. Dies ist die Grundlage, um an aktuellen Themen effizient forschen zu können.
Die Inhalte einer virtuellen Anwenung sind von der Hardware-Konfiguration abstrahiert, dies erlaubt es, Inhalte flexibel und dynamisch aufzusetzen, auch auf komplexen verteilten Visualisierungssystemen. Außerdem kann die Hardware-Konfiguration dynamisch während der Laufzeit angepasst werden. Somit können auch dynammische Umgebungen bedient werden, zum Beispiel mit mobilen Displays.
Anwendungen werden durch Python-Scripte für dynamische und interaktive Inhalte realisiert. Python-Bindings bieten Zugriff auf alle integrierten Funktionen von PolyVR. Dies ermöglicht eine schnelle und flexible Einbindung von externen Bibliotheken oder andere Ressourcen und ist eine sehr intuitive Sprache mit geringer Lernkurve.
Vorteile:
Schnelle Entwicklung von virtuellen Umgebungen durch umfangreiche Datenschnittstellen, Python Scripting, Shader-Editor, Interaktive Simulationen, benutzerfreundliche grafische Benutzeroberfläche und vieles mehr.
Dynamische und skalierbare Hardware-Konfiguration; Unterstützung einer Vielzahl von VR-Geräten (inkl. Tracking-Systeme, haptische, mobile Geräte, Leap Motion, MYO)
Verteilte Stereo-Visualisierung (vom Desktop bis zu komplexen Virtual Reality-Systemen wie CAVEs);
Basiert auf Open-Source-Bibliotheken wie OpenSG, Bullet und andere
Dienstleistungen:
IMI bietet folgende Dienstleistungen im Bezug auf Virtual Reality und PolyVR Software:
Beratung rund um das Thema Virtual Reality: Hardware, Software, Anwendungen und Schnittstellen
Installation
Hardware-Konfiguration
Customizing - spezifische Anpassungen zur Anwendung
Core-Entwicklung - Entwicklung neue Module
Schulung
Support
Haben Sie fragen? Hier geht es zu den Kontaktdaten!
Datenimport:
PolyVR bietet viele Datenschnittstellen für unterschiedlichste Formate für Numerik-, Netz-, Volumen- oder CAD-Daten. PolyVR verfügt über einen optimierten Importer für VRML-Dateien, die aus dem CAD-Tool SolidWorks exportiert wurden.
3D-Modelle |
glTF, COLLADA, 3DS, VRML 2.0/97, PLY, STL, OBJ, IFC, STEP |
Animations | over glTF |
3D-Scans/Punktwolken |
E57, XYZ |
Texturen/Bilder |
JPG, PNG, TIFF |
Vektorgrafik/2D-Layouts |
SVG, DWG, DXF |
Sound |
MP3, WAVE |
Sonstige |
OWL, XML, HTML, IES |
Unterstützung von VR-Hardware:
PolyVR unterstützt eine breite Palette an Hardware Systemen, sowohl immersive visualisierungssysteme als auch exotischere Interaktionsgeräte. Die gängigen VR-Ein- und Ausgabegeräte wie Trackingsysteme und Computer-Cluster für verteilte Visualisierung können dynamisch und schnell konfiguriert werden. Headtracking ermöglicht die ständige Anpassung der Nutzerperspektive und hat einen noch wesentlich größeren Einfluss auf die Tiefenwahrnehmung als die stereoskopischen Darstellungen. Die 3D-Anwendungen sind von den Hardware-Systemen entkoppelt, dies erlaubt einen flexiblen Einsatz der Applikation auf allen unterstützenden Hardware-Systemen. Die dadurch erreichte Skalierbarkeit von Lösungen erlaubt somit den Einsatz nicht nur in hoch immersiven VR-Umgebungen wie CAVEs oder Holospaces, sondern ebenso auf KMU-gerechten VR-Umgebungen, z. B. unter Einsatz von 3D-Fernsehern oder VR-Brille (HMDs). PolyVR unterstützt haptische Geräte (Fa. Haption), sowie neuartige Interaktionsgeräte wie die Leap Motion oder das MYO Armband. Eine mit dem Scripting Modul verknüpfte REST-Schnittstelle ermöglicht eine sehr leichte Anbindung von mobilen Endgeräten an die Applikationslogik.
Abbildung: Hardware konfiguration einer CAVE; Visualisierung und Simulation virtueller Fabrik |
Entwicklungsumgebung:
PolyVR als Entwicklungsumgebung bietet dem Nutzer eine einfache Benutzeroberfläche, auch für nicht VR-Experten. Interaktive 3D-Inhalte können an der laufenden Anwendung verwaltet, verändert und erweitert werden. Dies wird auch durch den Einsatz inder Lehre bestärkt und weiterentwickelt. Die in "PolyVR" integrierten umfangreichen Möglichkeiten Skripte zu erstellen, sind für Entwickler ein bequemes Werkzeug zur Implementierung komplexer Anwendungslogik. Das Phython Scripting ermöglicht die implementierung von Logik, Interaktion und Animaitonen in der VR Szene. Alle Features von PolyVR sind von Skripten zugreifbar wie Szenengraphenoperationen, das Importieren oder das Erstellen von Inhalte, Physik, Beleuchtung, Kameras und andere.
Interaktive Simulation:
PolyVR bietet einige Module um dynamisches bzw. simulatives Verhalten in die virtuelle Szene einzubringen. Zum einen gibt es eine klassische Physik-Engine (mit Bullet), die 3D-Kollisionserkennung, Simulation von Physik starrer Körper und Simulation von nicht-elastischer Physik mit Deformationen unterstützt. Damit kann realistisches Verhalten von dynamischen Objekten in der virtuellen Umgebungen abgebildet werden. Weitere Module sind zum Beispiel die Mechanik Simulation mit der Zahräder, Achsen und Ketten simuliert werden können.
Weitere Beispiele für Module:
Eine schnelle und einfache Erstellung von grafische Oberflächen und Interaktion im VR bietet die Möglichkeit Webseiten in PolyVR zu hosten und diese als Texturen an dem 3D-Objekte zu rendern. Der Nutzer kann mit der Webseite interagieren, so wie im Browser gewohnt. Dies befähigt die VR-Entwickler mithilfe von HTML, CSS, WebGL schnell Menüs für VR zu realisieren.
Ein QR-Code Generator ist integriert und erlaubt die QR Code-Texturen überal in der virtuellen Welt zu plazieren. Dies ermöglicht eine sehr bequeme Lösung zur Encoden von URLs für die Nutzer, um sich einfach mit der Anwendung zu verbinden. Dies kann nützlich sein, wenn Smart Geräte für Steuerung der virtuelle Umgebung verwendet werden.
Projekte und Kommunikation können verschlüsselt werden.
Module für Punktwolken, Panoramabildern und vieles mehr.
Modul für Geo Daten, tesseliertes Terrain mit Höhendaten, Generierung von Straßennetzten und Assets für virtuelle Welten.
Source-Code:
PolyVR ist open-source unter GPLv3 Lizenz und kann vom GitHub heruntergeladen werden.
Dokumentation:
Im GitHub Wiki findet man Information über PolyVR Features, Installationshinweise und Dokumentation. Nach der Installation von PolyVR hat man Zugriff auf zahlreichen kleine Beispielsanwenungen (siehe Examples), die den Einsatz der meisten Features des Tools erklären.
Betriebsystem:
PolyVR ist unter dem Linux Betriebsystem Ubuntu 14.04 und 16.04 getestet. Es wird an einem Windows-Portierung gearbeitet. Für mehr Informationen bitte nehmen Sie Kontakt mit uns auf.
Anwender:
Anwendung in der Lehre:
Anwendung in Projekte am IMI:
Abbildung: Ergebnisse des Projektes "SimViDekont", in der Mitte Visualisierung der FEM-Simulation. |
Videos von zahlreichen Projekten können Sie in unserem IMI_KIT YouTube Channel sehen.
Publikationen: