Wir haben heute erfolgreich ein Navmesh für unser VR-Commerce Projekt erstellt. Wir freuen uns immer, wenn wir neue Meilensteine erreichen. Diesen Erfolg möchten wir mit Ihnen teilen.
Sie haben es eilig? Dann speichern Sie diesen Blogartikel von R23 als PDF
Brauchen Sie den Inhalt dieses Artikels “Navmesh für unser VR-Commerce Projekt geglückt” schnell und bequem? Dann speichern Sie ihn doch einfach als PDF!
Seiteninhalt
Was ist ein Navmesh?
Ein Navmesh ist eine abstrakte Datenstruktur, die in Anwendungen mit künstlicher Intelligenz verwendet wird, um Agenten bei der Wegfindung durch komplizierte Räume zu unterstützen. Dieser Ansatz ist seit mindestens Mitte der 1980er Jahre in der Robotik bekannt, wo er als Wiesenkarte bezeichnet wurde, und wurde im Jahr 2000 in der Videospiel-KI populär.
Verwandeln Sie Ihren Commerce mit 3D-Visualisierung von R23
Ein Maskottchen / Charakter transportiert die Botschaft Ihrer Dienstleistungen und Produkte nach außen. Darüber hinaus kann ein Maskottchen / Charakter für einen Wiedererkennungswert sorgen.
Wir bieten Ihnen Maskottchen / Charakter Design für Ihre Marke, in 3D oder als Zeichnung. Ihre einzigartige Sympathiefigur.
Ein Navmesh besteht aus einer Sammlung von zweidimensionalen konvexen Polygonen (einem Polygonnetz), die definieren, welche Bereiche einer Umgebung von Agenten durchquerbar sind. Mit anderen Worten, ein Charakter in einem Spiel könnte sich frei innerhalb dieser Bereiche bewegen, ohne von Bäumen, Lava oder anderen Hindernissen behindert zu werden, die Teil der Umgebung sind. Angrenzende Polygone sind in einem Graphen miteinander verbunden. Die Wegfindung innerhalb eines dieser Polygone kann trivial in einer geraden Linie erfolgen, weil das Polygon konvex und durchquerbar ist. Die Wegfindung zwischen Polygonen im Netz kann mit einer der vielen Graphensuchalgorithmen erfolgen.
Agenten auf einem Navmesh können so kollisionsdetektionsprüfungen mit Hindernissen vermeiden, die Teil der Umgebung sind. Die Darstellung von durchquerbaren Bereichen in einer 2D-ähnlichen Form vereinfacht Berechnungen, die sonst in der “wahren” 3D-Umgebung durchgeführt werden müssten, und erlaubt im Gegensatz zu einem 2D-Gitter durchquerbare Bereiche, die sich oben und unten auf verschiedenen Höhen überlappen
Die Polygone verschiedener Größen und Formen in Navigationsnetzen können beliebige Umgebungen mit größerer Genauigkeit darstellen als regelmäßige Gitter.
Navigationsnetze können manuell, automatisch oder durch eine Kombination aus beidem erstellt werden. In Videospielen könnte ein Leveldesigner die Polygone des Navmeshes manuell in einem Level-Editor definieren. Dieser Ansatz kann sehr arbeitsintensiv sein. Alternativ könnte eine Anwendung erstellt werden, die die Levelgeometrie als Eingabe nimmt und automatisch ein Navmesh ausgibt. Es wird häufig angenommen, dass die Umgebung, die durch ein Navmesh dargestellt wird, statisch ist – sie ändert sich nicht im Laufe der Zeit – und somit kann das Navmesh offline erstellt und unveränderlich sein. Es gab jedoch einige Untersuchungen über Online-Aktualisierungen von Navmeshes für dynamische Umgebungen.
Was ist ein Navmesh bei unserem Open-Source-Projekt?
Im Kontext von unserem Open-Source-Projekt bezieht sich ein Navmesh auf ein Navigationsnetz, das zur Wegfindung und Bewegungssteuerung in einer virtuellen Umgebung verwendet wird. Es ist ein 3D-Modell, das begehbare Bereiche und Hindernisse definiert und es KI-Agenten oder spielergesteuerten Entitäten ermöglicht, auf kontrollierte Weise in der Umgebung zu navigieren und mit ihr zu interagieren.
Das Navmesh wird in der Regel durch die Definition der Grenzen des spielbaren Bereichs und die Markierung von Hindernissen oder nicht begehbaren Bereichen erstellt. Diese Informationen werden dann von den Pfadfindungsalgorithmen verwendet, um die effizientesten Pfade für Entitäten zu berechnen, die sich von einem Punkt zu einem anderen bewegen und dabei Hindernissen ausweichen.
Welche Vorteile bietet die Verwendung eines Navmeshs in A-Frame
Die Verwendung eines Navmeshs in A-Frame bietet mehrere Vorteile:
- Pfadfindung: Ein Navmesh ermöglicht eine effiziente Pfadfindung für Entitäten innerhalb der virtuellen Umgebung. KI-Agenten oder vom Spieler gesteuerte Entitäten können sich von einem Punkt zum anderen bewegen und dabei Hindernissen ausweichen. Dies ist besonders nützlich für die Erstellung von NPCs oder interaktiven Charakteren, die sich in der Szene bewegen müssen.
- Kollisionsvermeidung: Mit einem Navmesh können Entitäten intelligent Kollisionen mit Hindernissen oder anderen Entitäten in der Umgebung vermeiden. Dies ermöglicht realistischere und natürlichere Bewegungsverhalten und verbessert die Immersion und das Nutzungserlebnis insgesamt.
- Optimierung: Durch die Definition begehbarer Bereiche und Hindernisse optimiert ein Navmesh die Berechnungen für die Bewegung innerhalb der virtuellen Umgebung. Es reduziert die Rechenkomplexität von Pfadfindungsalgorithmen, indem der Suchraum auf die definierten begehbaren Bereiche begrenzt wird. Dadurch verbessert sich die Leistung.
- Anpassungsfähigkeit: Ein Navmesh ermöglicht eine fein abgestimmte Steuerung der Bewegungs- und Interaktionsverhalten von Entitäten. Sie können spezifische Bereiche definieren, in denen Entitäten gehen können, oder Bereiche, die nicht betreten werden dürfen. Diese Anpassungsfähigkeit ermöglicht die Schaffung einzigartiger Gameplay-Mechaniken oder interaktiver Erfahrungen innerhalb der virtuellen Umgebung.
- Flexibilität: Ein Navmesh kann während der Laufzeit dynamisch aktualisiert oder modifiziert werden, um Änderungen in der Umgebung zu berücksichtigen. Dies kann nützlich sein, wenn sich die Umgebung ändert oder Hindernisse hinzugefügt oder entfernt werden.
Insgesamt verbessert die Verwendung eines Navmeshs in A-Frame die Realitätstreue, Interaktivität und das Nutzungserlebnis innerhalb der virtuellen Umgebung, indem effiziente Pfadfindung, Kollisionsvermeidung und Anpassungsfähigkeit ermöglicht werden.
Was sind die Vorteile von Navmeshes gegenüber anderen Technologien?
Navmeshes sind eine Technologie, die in Anwendungen mit künstlicher Intelligenz verwendet wird, um Agenten bei der Wegfindung durch komplizierte Räume zu unterstützen. Sie haben einige Vorteile gegenüber anderen Technologien, wie z.B.:
- Sie erlauben eine genauere und flexiblere Darstellung von durchquerbaren Bereichen in einer Umgebung, indem sie konvexe Polygone verschiedener Größen und Formen verwenden, anstatt regelmäßige Gitter oder andere geometrische Formen.
- Sie reduzieren die Komplexität und Rechenzeit der Wegfindung, indem sie die Kollisionserkennung mit Hindernissen vermeiden, die Teil der Umgebung sind, und die Berechnungen in einer 2D-ähnlichen Form durchführen, anstatt in der 3D-Umgebung.
- Sie ermöglichen die Überlappung von durchquerbaren Bereichen auf verschiedenen Höhen, was für Anwendungen nützlich sein kann, die mehrere Ebenen oder vertikale Bewegungen erfordern.
- Sie können manuell, automatisch oder durch eine Kombination aus beidem erstellt werden, je nach den Anforderungen und dem verfügbaren Wissen über die Umgebung.
Navmeshes sind jedoch nicht ohne Nachteile. Einige Herausforderungen, die mit dieser Technologie verbunden sind, sind:
- Sie erfordern eine hohe Qualität der Levelgeometrie, um ein korrektes und konsistentes Navmesh zu erzeugen. Fehler oder Inkonsistenzen in der Geometrie können zu Lücken oder Überlappungen im Navmesh führen, die die Wegfindung beeinträchtigen können.
- Sie sind oft statisch und unveränderlich, was bedeutet, dass sie nicht gut auf dynamische Veränderungen in der Umgebung reagieren können. Wenn sich Hindernisse bewegen oder hinzugefügt werden, kann das Navmesh veraltet oder ungenau werden¹. Es gibt einige Forschungen über Online-Aktualisierungen von Navmeshes für dynamische Umgebungen, aber diese sind noch nicht weit verbreitet.
- Sie können zu einem hohen Speicherverbrauch führen, wenn die Umgebung sehr groß oder komplex ist. Die Anzahl der Polygone im Navmesh kann schnell wachsen, wenn mehr Details oder Genauigkeit erforderlich sind³. Dies kann zu einer längeren Ladezeit oder einer geringeren Leistung führen.
Gestaltungstipps für das Navmesh
Ein Navmesh ist eine 3D-Struktur, die begehbare Bereiche und Hindernisse in einer virtuellen Umgebung definiert. Es ermöglicht KI-Agenten oder Kunden, sich innerhalb der Umgebung zu bewegen, indem es effiziente Pfadfindung und Kollisionsvermeidung ermöglicht. Hier sind einige Empfehlungen und Regeln für die Gestaltung eines Navmeshs in A-Frame:
- Einfache Geometrie: Ein Navmesh sollte aus einfachen geometrischen Formen wie Rechtecken oder Dreiecken bestehen, um die Berechnungen zu vereinfachen und die Leistung zu verbessern.
- Begehbare Bereiche definieren: Definieren Sie die begehbaren Bereiche in der Umgebung, indem Sie das Navmesh so gestalten, dass es nur die Flächen umfasst, auf denen sich die KI-Agenten oder Spieler-Charaktere bewegen können.
- Hindernisse definieren: Definieren Sie Hindernisse in der Umgebung, indem Sie das Navmesh so gestalten, dass es die Flächen umfasst, auf denen sich Hindernisse befinden. Dadurch können KI-Agenten oder Kunden Hindernissen ausweichen und realistische Bewegungsverhalten zeigen.
- Glatte Oberflächen: Stellen Sie sicher, dass die Oberflächen des Navmeshs glatt sind, um eine effiziente Pfadfindung zu ermöglichen. Vermeiden Sie scharfe Kanten oder Ecken, die zu unerwartetem Verhalten führen können.
- Regelmäßige Aktualisierung: Aktualisieren Sie das Navmesh regelmäßig, um Änderungen in der Umgebung zu berücksichtigen. Wenn sich beispielsweise Hindernisse bewegen oder hinzugefügt werden, muss das Navmesh aktualisiert werden, um die Bewegung der KI-Agenten oder Kunden zu berücksichtigen.
- Verwendung von Navmesh-Plugins: Verwenden Sie Navmesh-Plugins wie das A-Frame Inspector Plugin Recast oder das Simple Navmesh Constraint Component, um die Erstellung und Verwaltung von Navmeshs in A-Frame zu vereinfachen.
Diese Empfehlungen und Regeln können dazu beitragen, ein effektives Navmesh in A-Frame zu gestalten, das eine effiziente Pfadfindung und Kollisionsvermeidung ermöglicht.
Gibt es spezielle Anforderungen an das 3D-Modell, um ein Navmesh in A-Frame zu erstellen
Um ein Navmesh in A-Frame zu erstellen, gibt es keine speziellen Anforderungen an das 3D-Modell selbst. Das Navmesh wird normalerweise separat erstellt und dann in die A-Frame-Szene integriert. Hier sind die allgemeinen Schritte, um ein Navmesh in A-Frame zu erstellen:
- Erstellen Sie das 3D-Modell: Verwenden Sie eine 3D-Modellierungssoftware wie Blender, Maya oder andere, um das gewünschte 3D-Modell zu erstellen oder zu importieren.
- Erstellen Sie das Navmesh: Verwenden Sie ein Navmesh-Tool oder Plugin, um das Navmesh zu erstellen. Einige Plugins wie das A-Frame Inspector Plugin Recast bieten Funktionen zum Erstellen von Navmeshes in A-Frame.
- Exportieren Sie das Navmesh: Exportieren Sie das erstellte Navmesh in das gewünschte Dateiformat, das von A-Frame unterstützt wird, wie z.B. .glTF.
- Importieren Sie das Navmesh in A-Frame: Fügen Sie das Navmesh in Ihre A-Frame-Szene ein, indem Sie es als separate Entität oder Komponente hinzufügen. Verwenden Sie die entsprechenden A-Frame-Komponenten oder Plugins, um das Navmesh zu laden und zu rendern.
- Konfigurieren Sie die Kollisionserkennung: Verwenden Sie die Kollisionserkennungsfunktionen von A-Frame, um sicherzustellen, dass die KI-Agenten oder Spieler-Charaktere mit dem Navmesh interagieren und Kollisionen mit Hindernissen vermeiden können.
Es ist wichtig zu beachten, dass die Erstellung eines Navmeshs für ein komplexes 3D-Modell eine komplexe Aufgabe sein kann und möglicherweise zusätzliche Schritte oder Anpassungen erfordert. Es kann hilfreich sein, spezifische Anleitungen oder Tutorials zu konsultieren, die sich auf die Verwendung von Navmeshes in A-Frame beziehen, um detailliertere Informationen und Anleitungen zu erhalten.
Das könnte Sie auch interessieren
Heute ist ein aufregendes Zeitalter der Technologie angebrochen. Die Welt des Metaverse (MV) bietet viel mehr als nur virtuelle Welten oder 3D-Erfahrungen für Spieler. MV ist auch eine Plattform, die die Verbraucher und Unternehmen in dieser neuen digitalen Wirtschaft vereint. In unserem Blogbeitrag werden wir uns hauptsächlich mit dem Thema Metaverse Commerce & Sales beschäftigen – also den unterschiedlichen Möglichkeiten, wie Unternehmen Einkaufs- und Verkaufsstrategien nutzen können, um ihr Geschäftsmodell optimal zu gestalten. Was ist Metaverse Commerce & Sales?
In einer immer digitaleren Welt ist es wichtig, auf dem neuesten Stand zu bleiben und was gibt es Neueres als die virtuelle Realität? Mit VR-Commerce können Unternehmen ihren Kunden ein einzigartiges und immersives Einkaufserlebnis bieten. Gehen Sie jetzt den nächsten Schritt und erweitern Sie Ihren Kundenstamm durch VR-Commerce! Machen Sie jetzt den nächsten Schritt: Mit VR-Commerce mehr Kunden erreichen
In der heutigen digitalen Welt ist es wichtiger denn je, Kunden zu begeistern und Umsätze zu steigern. Mit VR Commerce haben Unternehmen die Möglichkeit, ihre Kunden in eine immersive und interaktive Welt einzuladen und ein unvergessliches Einkaufserlebnis zu bieten. Erfahren Sie, wie Sie VR Commerce erfolgreich nutzen können, um Ihre Kunden zu begeistern und Ihre Umsätze zu steigern. Mit VR Commerce zum Erfolg: Wie Sie Ihre Kunden begeistern und Ihre Umsätze steigern können.
Schreiben Sie einen Kommentar