3D-UI mit React in Wonderland Engine
Mit der Wonderland Engine ist die Integration von React-basierten 3D-UI-Elementen zu einem einfachen Prozess geworden. Diese Anleitung führt Dich durch die Einrichtung und Nutzung der @wonderlandengine/react-ui Bibliothek, um interaktive und performante 3D-UIs zu erstellen.
Installation über NPM
Führe den folgenden Befehl aus, um die Bibliothek im Hauptverzeichnis des Projekts zu installieren:
npm i @wonderlandengine/react-ui Oder bearbeite die package.json und füge "@wonderlandengine/react-ui": "latest" im Abschnitt "dependencies" hinzu. Der Wonderland Editor installiert automatisch neue Abhängigkeiten.
TypeScript konfigurieren
Füge das Folgende in die tsconfig.json Deines Projekts ein:
{
"compilerOptions": {
"jsx": "react"
}
} Konfiguriere esbuild
- Öffne “Ansichten > Projekteinstellungen > esbuildFlagsEditor”.
- Füge
--bundlezu den Flags hinzu.
Pipelines und Materialien konfigurieren
Du musst drei Pipelines für das Rendern Deines UIs einrichten:
UI-Text-Pipeline
- Erstelle eine neue
Text-Pipeline, indem Du “Rechtsklick > Duplizieren” auf die bestehende Text-Pipeline ausführst. - Benenne sie um in
UI Text. - Konfiguriere sie mit folgenden Tiefeneinstellungen:
depthTestunddepthWriteaktivieren; depthFunction aufalwayssetzen.
UI-Color-Pipeline
- Erstelle eine neue
Flat-Pipeline, indem Du die bestehende duplizierst. - Benenne sie um in
UI Color. - Konfiguriere sie ebenfalls mit den folgenden Tiefeneinstellungen:
depthTestunddepthWriteaktivieren; depthFunction aufalwayssetzen.
UI-Color-Textured-Pipeline
- Dupliziere die
UI Color-Pipeline. - Benenne diese um in
UI Color Textured. - Aktiviere das
TEXTURED-Feature.
Materialien erstellen
- Erstelle 3 neue Materialien unter
Ressourcen > Materialien. - Benenne die Materialien um in
UI Text,UI ColorundUI Color Textured. - Weise den Materialien die zuvor erstellten Pipelines zu.
Erstelle ein React-UI
Füge eine Datei namens tutorial-ui.tsx zum Ordner js hinzu und trage den folgenden Code ein:
import {ReactUiBase} from '@wonderlandengine/react-ui';
import {Container, Text} from '@wonderlandengine/react-ui/components';
import React, {ReactNode} from 'react';
const App = (props: {comp: TutorialUI}) => {
const comp = props.comp;
return (
<Container>
<Text>Hello World</Text>
</Container>
);
}
export class TutorialUI extends ReactUiBase {
static TypeName = 'tutorial-ui';
static InheritProperties = true;
render(): ReactNode {
return <App comp={this} />;
}
} Füge das UI in die Szene ein
- Erstelle ein neues Objekt.
- Füge dem Objekt die
tutorial-uiKomponente hinzu. - Setze die Materialien auf die oben erstellten Materialien.
Starte den Browser mit dem grünen Pfeil über der Szenenansicht.
Fazit
Du hast erfolgreich das @wonderlandengine/react-ui Framework eingerichtet, um React-basierte 3D-UIs in der Wonderland Engine zu erstellen.