Interessieren Sie sich für die Kontrolle von Animationen für 3D -Modelle? In jüngster Zeit gibt es eine zunehmende Anzahl von 3D-Modellgenerierungs-Tools, die KI verwenden, und unter ihnen Meshy AI als Werkzeug aufmerksam, mit dem Sie problemlos qualitativ hochwertige 3D-Modelle erstellen können.
Um die generierten 3D -Modelle in realen Anwendungen zu verwenden, müssen Sie jedoch bestimmte Bibliotheken und Tools beherrschen. In diesem Artikel werden wir erklären, wie React und drei.Js
📺 Mesh überprüfen : Sie können es auf der offiziellen Seite von diesem Link

Wir werden in Zukunft weiterhin Lektionen und Arbeiten von TypeScript X reagieren.
Wir werden eine Ankündigung auf YouTube machen. Abonnieren Sie also unseren YouTube -Kanal und warten Sie auf Benachrichtigungen!
📺 YouTube ansehen : Sie können es von diesem Link
Wenn Sie wissen möchten, was Reagieren von drei Fasern tun können, beziehen Sie sich bitte Folgendes!
Wir haben benutzerfreundliche Arbeiten zur Verfügung!
- Ich habe versucht, Bären mit React x drei.js zu Fuß zu machen!
- Ich habe versucht, einen alten Mann auf React x drei.js zu tanzen!
- Ich habe versucht, ein 3D -Modell mit React x drei.js anzuzeigen!
- Ich habe eine 3D -Taste erstellt, die in React x drei.js explodiert!
- Reagieren Sie drei Faser x Drei x Einführung in Typenkript! Poke Poke Style 3D -Hintergrund mit Standardobjekten!
3D -Modellanzeigedemo
Sie können die Demo des fertigen Produkts im Video unten sehen.
📺 Sehen Sie sich die Demo auf YouTube an : Sie können sie aus diesem Link

Darüber hinaus ist der Quellcode für dieses Projekt auf GitHub verfügbar.
Bitte laden Sie den Code herunter und probieren Sie ihn aus!
💾 GitHub Repository : Überprüfen Sie den Quellcode unter diesem Link
Wenn Sie sich fragen: "Ich habe es gesehen, wie mache ich es?" Mach dir keine Sorgen!
In diesem Artikel werden wir schrittweise erklären, wie dieses 3D-Modell angezeigt wird.
Notwendige Techniken und Schlüsselbibliothek
Dieses Projekt verwendet die folgenden Technologien und Bibliotheken: Hier ist eine kurze Erklärung für jede Rolle.
- Reagieren
- Bibliothek für Front-End-Entwicklung
- Effiziente UI-Konstruktion mit Komponentenbasis-Design
- Drei.js
- Eine Bibliothek zum Zeichnen von 3D -Grafiken im Web
- Es macht es einfach, komplexe WebGL -Operationen zu bewältigen
- Reagieren Sie drei Faser
- Wrapper -Bibliothek für den Umgang mit drei.js in React
- Sie können die leistungsstarken Merkmale von drei.js im React -Entwicklungsstil nutzen
- Reagiere dich drei
- Reagieren Sie die dreifaser -Erweiterungsbibliothek
- Reagieren Sie die dreifaser -Erweiterungsbibliothek
- Meshy
- Ein Dienst, mit dem Sie mit AI problemlos qualitativ hochwertige 3D-Modelle erstellen können
Umweltvorbereitung
Dieser Abschnitt enthält das erste Setup für Ihr Projekt. Erstellen Sie eine React -App mit dem Befehl npx, installieren Sie die erforderlichen Bibliotheken und organisieren Sie die Ordnerstruktur.
Erstellen einer React -App
Erstellen Sie zunächst eine React -App mit dem Befehl npx.
npx erstellen reag-app meshy-3d-model-Animation-Template TypeScript
Meshy-3D-Modell-Animathion
ist der Name des Projekts-Template
Verwenden Sie eine typeScript-fähige Vorlage, indem Sie TypeScript angeben
Installation der erforderlichen Bibliotheken
Reagieren Sie React Three Faser und andere Bibliotheken.
CD MESHY-3D-MODEL-ANIMATHION NPM TREI @react-three/faser @react-three/drei
- Drei : Drei.js Hauptkörper
- @React-Three/Faser : Eine Wrapper für die Verwendung von drei.js mit React
- @React-Three/DREI : Nützliche Helfer wie Kamera-Steuerelemente und Textzeichnung
Überprüfung der Ordnerstruktur und Löschen unnötiger Dateien
Organisieren und fügen Sie Ordner aus dem Anfangszustand wie folgt hinzu:
Grundsätzlich ist es der Standardwert, aber für Dateien, die Sie nicht kennen, lesen Sie bitte GitHub.
meshy-3d-model-animation/ ├── node_modules/ ├── öffentlich/ ├── Modelle// 3D-Modelle und verwandte Dateien Animation_Pod_Baby_Groove_withSkin.glb // GLB files with dance animation ├── Animation_Superlove_Pop_Dance_withSkin.glb // GLB files with dance animation ├── src/ ├── components/ // Store common components if necessary │ ├── pages/ // Components managed on a page-by-page basis │ ├── DreeddancingUncle/ // Page-mal-by-Page-Ordner │ │ └── └ └ └── Index.tsx // 3D-Animationsseiten │ │ └── │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │tsx //s ├── INDEX.CSS // Globale CSS ├── Paket.json // Projekteinstellungen ├── tconfig.json // Typecript -Einstellungen └── Readme.md // Projektübersicht
Die Dateien, die diesmal geändert werden sollen, sind wie folgt:
App.tsx
: App -EinstiegspunkteSeiten> index.ts
: Indexdatei, um die Seite nach zu exportieren.Seiten/Dreidlungsantrieb
: Diesmal der Ordner, der erstellt werden sollDreidelungsincle.tsx
: Komponente der Hauptseite.
Generieren Sie 3D -Modelle mit Meshy
Dieses Mal wird das 3D -Modell einen KI -Dienst für automatische Generationen namens Meshy verwenden.
Der Link ist unten, also beziehen Sie sich darauf.
200 Credits pro Monat sind kostenlos erhältlich.
📺 Mesh überprüfen : Sie können es auf der offiziellen Seite von diesem Link

Generieren Sie 3D -Modelle mit Textgenerierungsmodellen
Dieses Mal generieren wir ein Modell mit Text.
Bitte wählen Sie "neues Modell".

Ich wollte meinen Mann tanzen lassen, also beschloss ich, "den ganzen Körper eines echten Detektivs mittleren Alters mit ausgebreiteten Armen".
Danach müssen Sie Ihre Gelenke und andere Dinge einrichten. Daher ist es am besten, Ihre Arme so weit wie möglich von Ihrem Körper aus zu halten.

Diesmal werde ich versuchen, die obere links zu verwenden.
Wählen Sie Textur und Remesh aus und überprüfen Sie.

Dies erzeugt ein Modell, das dem von Ihnen ausgewählten Modell ähnelt.

Wählen Sie anschließend Animate> Rigging aus, um Animation hinzuzufügen.

Da wir menschlich sind, sollten wir dieses Mal Humanoide wählen.

Ich glaube nicht, dass es die Notwendigkeit gibt, den nächsten Bildschirm zu ändern, aber ich habe ein wenig mit meiner Größe herumgespielt.

Wenn Sie dies gut einstellen, wird die Animation schön sein.
Sobald Sie die Gelenke eingerichtet haben, überprüfen Sie sie.

Dies erzeugt ein animiertes 3D -Modell.
Standardmäßig gibt es eine Walking -Animation.

Hinzufügen von Animationen
Dieses Mal werden wir mehrere Tanzanimationen hinzufügen.

Fügen Sie mehrere Tänze Ihrer Wahl mit der Schaltfläche Hinzufügen hinzu.

Standardmäßig ist das Ausführen enthalten, aber Sie können sehen, dass es zusätzlich drei weitere Tänze gibt.

Laden Sie im GLB -Format herunter
Sobald Sie ein 3D -Modell erstellt und Animationen hinzugefügt haben, laden Sie es mit GLB herunter.
Überprüfen Sie zu diesem Zeitpunkt alle Animationen.

Dadurch wird für jede Animation eine GLB -Datei ausgegeben, wie unten gezeigt.
Die GLB -Datei verfügt über eine Reihe von 3D -Modellen und -animationen, sodass die Modelldatei nicht vorhanden ist.

Stellen Sie sicher, dass Sie GLB -Dateien unter öffentlich speichern.
Diesmal wird es unten gespeichert.
meshy-3d-model-animation/ ├── node_modules/ └── öffentlich/ └── Modelle// 3D-Modelle und verwandte Dateien Animation_Pod_Baby_Groove_withskin.glb // GLB -Dateien mit Tanzanimation └── Animation_Superlove_Pop_dance_withskin.glb // GLB -Dateien mit Tanzanimation
Detaillierte Erläuterung des Quellcodes für jeden Schritt
In den folgenden Abschnitten erläutern wir die fünf folgenden Teile ausführlich in der Reihenfolge.
- Grundlegende Module für React und drei.Js importieren.
- Importieren Sie
GLTFLOADER
undExrloader
- Verwenden Sie
Orbitcontrols
- Konstante Daten im Zusammenhang mit Modellen und Animationen .
- Definieren Sie Folgendes:
- Liste der Animationsdateien : Halten Sie die Namen und Pfade mehrerer Animationsdateien in einem Listenformat.
- Kamera Standard : Definiert die Kameraposition so, dass Sie das gesamte Modell sehen können.
- Lichteinstellungen : Stellen Sie die Intensität und Position von Umgebungslicht, Richtlicht und Punktlicht ein.
- HDRI -Hintergrundpfad : Geben Sie die HDRI -Bilddatei für den Hintergrund an.
- Laden Sie HDRI -Bilder mit
Exrloader
- Wenden Sie den geladenen HDRI wie folgt an:
Szene.Background
: Stellen Sie ein HDRI -Bild auf den Hintergrund der gesamten Szene.Szene. Umwelt
: HDRI wird für die Modellreflexion und Beleuchtung verwendet.
GLTFLOADER
Laden Sie das Modell mit- Laden Sie die erste Animation (
default_animation_file
- Skalieren, drehen und positionieren Sie das importierte Modell und platzieren Sie es in die Szene
- Laden Sie die erste Animation (
AnimationMixer
Verwaltung zum Verwalten von Animationen- Wenden Sie Animation auf importierte Modelle an
- Die derzeit abgespielte Animation React's State (
Usestate
) und mit Benutzeroperationen umschaltbar verwaltet werden.
- Verwenden Sie
UseFrame
- Konfigurieren der gesamten Anwendung mit React
- Zeichnen Sie die folgenden Elemente in Leinwand
- Hintergrundkomponente
- Modelle und Animationen (
Modellkomponenten
) - Lichter (Umgebungslicht, Richtlicht, Punktlicht)
- Hintergrundkomponente
- Platzieren Sie die Schaltfläche Animationsschalter
- Wenn Sie die Taste drücken, wechselt sie in die angegebene Animationsdatei.
Überprüfen Sie die gesamte Quelle
Im Folgenden finden Sie den vollständigen Quellcode, der das 3D -Modell im GLB -Format steuert, das mit Meshy AI erzeugt wird, das in diesem Artikel unter Verwendung von React und Three.js erstellt wird Der gesamte Code wird zusammengestellt, sodass es leicht ist, eine Vorstellung davon zu bekommen, wie er funktioniert.
Wenn Sie andere Quellen sehen möchten, lesen Sie bitte GitHub.
💾 GitHub Repository : Überprüfen Sie den Quellcode unter diesem Link
import './app.css'; importieren {threddancingUncle} aus './pages'; Funktion app () {return (<div className="App"><ThreeDDancingUncle /></div> ); } standardmäßige App exportieren;
Dreidlerkapsel von ". exportieren {threddancingUncle}
// ==== // Teil 1: Importieren Sie die erforderlichen Module // ==== reagieren, {usestate, useEffect} aus "react"; importieren {canvas, useFrame, useThree} aus "@react-three/faser"; Import {OrbitControls} aus "@react-three/drei"; importieren {gltfloader} aus "drei/Beispiele/jsm/lader/gltfloader"; Importieren {Exrloader} aus "drei/Beispiele/jsm/lader/exrloader"; Import * als drei von "drei"; // ==== // PART 2: Defining constants // ==== // List of animation files // Store the name and path of each animation const ANIMATION_FILES = [ { name: "Pod Baby Groove", path: "/models/uncle_glb/Animation_Pod_Baby_Groove_withSkin.glb" }, { name: "Gangnam Groove", path: "/models/uncle_glb/animation_gangnam_groove_withskin.glb"}, {Name: "Pop Dance", Pfad: "/models/uncle_glb/animation_superlove_pop_dance_withskin.glb"},]; // Pfad zur Modelldatei const default_animation_file = animation_files [0] .Path; // Pfad zum HDRI -Bild (für Hintergrund) const hdri_file = "/hdri/cobblestone_street_night_4k.exr"; // anfängliche Kameraposition (x, y, z) const initial_camera_position = new Three.Vector3 (10, 4, 10); // Modellskala -Vergrößerung const model_scale = 4; // anfängliche Modellrotationswinkel (über die y -Achse, in Radians) const model_rotation_y = -1; // Anfangsmodellposition (x, y, z) const model_position = new Three.Vector3 (0, -2, 0); // Light settings // Define the ambient, directional, and point light position and intensity const LIGHT_SETTINGS = { ambient: { intensity: 0.5 }, // Ambient light intensity directional: { position: new THREE.Vector3(10, 20, 10), intensity: 1.5 }, // // The position and intensity of the directional light point: { position: new THREE.Vector3(0, 10, 0), intensity: 1.5}, // die Position und Intensität des Punktlichts}; // ====== // Teil 3: Hintergrundeinstellungen // ====== // Setzen Sie den Szenenhintergrund mit HDRI -Bild const Hintergrund: react.fc = () => {const {gl, Szene} = useThee (); useeffect (() => {const hdrloader = new Exrloader (); const pmremGenerator = new Three.pmremGenerator (GL); PMREMerator.Fromequirectangular (Textur) .Textur; null zurückkehren; // kein Rendering -Ziel}; // ===== // Teil 4: Modelle und Animationen // ===== // Laden des Hauptmodells und Verwalten von Animation const Modell: react.fc <{CurrentAnimation: String}> = ({CurrentAnimation}) => {const {camera} = usaThree (); const [Modell, SetModel] = Usestate<THREE.Group | null> (NULL); const [Mixer, setMixer] = usustate<THREE.AnimationMixer | null> (NULL); // Lademodell useeffect (() => {const lader = new gltfloader (); loader.load (default_animation_file, (gltf) => {const {szene: loadedScene} = gltf; ladeedScene.scale.set (model_scale, modell_scale, modell-); // modell -lader. // Die anfängliche Rotation des Modells lade. 0) // die Mitte des Modells anzeigen}); // Animation useEffect () => {if (! Modell ||! Mixer) return; const lader = new Gltfloader (); loader.load (CurrentAnimation, (gltf) => {const Newanimation = Gltf.Animations [0]; if (newanimimation) {constAlal (constaler). Action.Reset (). Fadein (0,5) .play (); // Animations -Use -useFrame (_, delta) => {if (mixer) mixer.update (Delta);}); Rückgabemodell?<primitive object={model} /> : null; // Modell zeigen}; // ===== // Teil 5: Hauptkomponenten // ==== // Konfigurieren der gesamten Anwendung const threddancingUncle: react.fc = () => {const [CurrentAnimation, setCurrentanimation] = usestate (Animation_Files [0] .path); zurückkehren (<div style={{ width: "100vw", height: "100vh", position: "relative" }}> {/ * Animationsauswahltaste */} <div style={{ position: "absolute", top: "10px", left: "10px", zIndex: 10, // ボタンをCanvasの上に表示 }} > {Animation_files.map ((Anim, Index) => ( <button key={index} onClick={() =>setCurrentanimation (Anim.Path)} // Animationsstil umschalten Cursor: "Pointer",}}> {Anim.name}</button> )}</div><Canvas> {/ * Hintergrundkomponente */}<Background /> {/ * Modelle und Animationen */}<Model currentAnimation={currentAnimation} /> {/ * Lichteinstellungen */} <ambientLight intensity={LIGHT_SETTINGS.ambient.intensity} /><directionalLight position={LIGHT_SETTINGS.directional.position} intensity={LIGHT_SETTINGS.directional.intensity} /><pointLight position={LIGHT_SETTINGS.point.position} intensity={LIGHT_SETTINGS.point.intensity} /> {/ * Kameraoperation */}<OrbitControls /></Canvas></div> ); }; Ausfunktion von Standarddreizendanzehörungen;
Teil 1: Importieren erforderliche Module
Dadurch werden die Module vorbereitet, die zum Erstellen einer 3D -Szene mit React und Three.js erforderlich sind.
// ==== // Teil 1: Importieren Sie die erforderlichen Module // ==== reagieren, {usestate, useEffect} aus "react"; importieren {canvas, useFrame, useThree} aus "@react-three/faser"; Import {OrbitControls} aus "@react-three/drei"; importieren {gltfloader} aus "drei/Beispiele/jsm/lader/gltfloader"; Importieren {Exrloader} aus "drei/Beispiele/jsm/lader/exrloader"; Import * als drei von "drei";
- Reagieren
UsSestate
: Animationen wechseln und Status verwalten.UseEffect
: Läuft beim Initialisieren eines Modells oder Hintergrunds.
- Reagieren Sie drei Faser
Leinwand
: Ein Behälter zum Zeichnen von 3D -Szenen.UseFrame
: Führen Sie die Animations -Update -Verarbeitung für jeden Frame durch.Usethree
: Zugang zu Kameras, Szenen und Renderern in drei.Js.
- @React-Three/Drei
OrbitControls
: Eine bequeme Komponente, mit der der Benutzer die Kamera frei steuern (drehen, zoomen, verschieben).
- Drei.js
GLTFLOADER
: Lader für das Laden von 3D -Modellen im GLB -Format.Exrloader
: lädt HDRI -Bilder und verwendet sie als Hintergrund und Umgebungslicht.Drei.Vektor3
: Vektorbetrieb (z. B. Kamera oder Lichtposition).Drei.pmremGenerator
: Konvertiert HDRI als Umgebungskarte, um eine realistische Beleuchtung zu erreichen.
Teil 2: Konstante Definition
Als nächstes kommt die konstante Definition.
Das Definieren von Konstanten verwaltet zentral die in Ihrer Anwendung verwendeten Werte und verbessert die Wiederverwendbarkeit und Lesbarkeit. Da das Festlegen von Werten für 3D -Modelle und -szenen überall im Code verwendet werden, was die Konstanten leichter aufrechtzuerhalten.
// ==== // PART 2: Defining constants // ==== // List of animation files // Store the name and path of each animation const ANIMATION_FILES = [ { name: "Pod Baby Groove", path: "/models/uncle_glb/Animation_Pod_Baby_Groove_withSkin.glb" }, { name: "Gangnam Groove", path: "/models/uncle_glb/animation_gangnam_groove_withskin.glb"}, {Name: "Pop Dance", Pfad: "/models/uncle_glb/animation_superlove_pop_dance_withskin.glb"},]; // Pfad zur Modelldatei const default_animation_file = animation_files [0] .Path; // Pfad zum HDRI -Bild (für Hintergrund) const hdri_file = "/hdri/cobblestone_street_night_4k.exr"; // anfängliche Kameraposition (x, y, z) const initial_camera_position = new Three.Vector3 (10, 4, 10); // Modellskala -Vergrößerung const model_scale = 4; // anfängliche Rotationswinkel des Modells (über die y -Achse, in Radians) const model_rotation_y = -1; // modellische initiale Position (x, y, z) const model_position = new Three.Vector3 (0, -2, 0); // Lichteinstellungen // Definieren Sie die Position und Intensität von Umgebungs-, Richt- und Punktlicht const Light_Settings = {Ambient: {Intensität: 0,5}, // Umgebungslichtintensität Richtungssteuerung: {Position: Neue Drei drei.Vektor3 (10, 20, 10), Intensität: 1,5}, //. 1.5}, // die Position und Intensität des Punktlichts};
Abhängig vom 3D -Modell, das Sie generieren, können feine Anpassungen erforderlich sein. Verwenden Sie daher bitte Folgendes als Verweis, um mit den Zahlen herumzuspielen.
- Liste der Animationsdateien
- Definieren Sie die Animationsnamen und -pfade zu paarweise, um mehrere Animationen zu verwalten.
- HDRI -Bildweg für Hintergrund
- Geben Sie den Pfad zum HDRI -Bild an, der als Hintergrund der Szene oder der Umgebungskarte verwendet werden soll.
- MAAMA CAMERI ESTIME Einstellungen
- Definieren Sie die anfängliche Position und Ausrichtung der Kamera und passen Sie das gesamte Modell an, damit es angemessen aussieht.
- Modelleinstellungen
- Definiert die Skala (Größe), Rotationswinkel und Anfangsposition des Modells.
- Lichteinstellungen
- Definieren Sie die Position und Intensität von Umgebungs-, Richtungs- und Punktlichtern, um die gesamte Szene richtig zu beleuchten.
Teil 3: Hintergrundeinstellungen
Verwenden Sie HDRI -Bilder, um realistische, natürliche Hintergründe und Umgebungslicht auf Ihre Szene anzuwenden.
HDRI -Bilder können kostenlos von Poly Haven Sie sollten Ihren bevorzugten Hintergrund auswählen.
// ===== // Teil 3: Setzen Sie den Hintergrund // ==== // Setzen Sie den Szenenhintergrund mit HDRI -Bild const Hintergrund: react.fc = () => {const {gl, Szene} = useThree (); useeffect (() => {const hdrloader = new Exrloader (); const pmremGenerator = new Three.pmremGenerator (GL); PMREMerator.Fromequirectangular (Textur) .Textur; null zurückkehren; // kein Rendering -Ziel};
- Laden Sie HDRI -Bilder
- Laden Sie HDRI -Bilder mit
Exrloader
- Konvertieren Sie HDRI in Umgebungskarten mit
PMremGenerator
- Laden Sie HDRI -Bilder mit
- Hintergründe anwenden
- das geladene HDRI -Bild als Szenenhintergrund (
Szene.Background
) ein. - Umgebungskarte (
Szene. -Umwelt
) angewendet und zum Reflektieren und Beleuchtungsmodellen verwendet.
- das geladene HDRI -Bild als Szenenhintergrund (
- Speicherverwaltung
- Nachdem Sie HDRI -Bilder auf die Szene angewendet haben, haben Sie unnötige Ressourcen (Texturen und Generatoren) ordnungsgemäß frei.
Teil 4: Bodeneinstellung
Laden Sie 3D -Modelle in die Szene, sodass Sie mehrere Animationen steuern und umschalten können.
Die Animation wird für jeden Frame reibungslos aktualisiert und ermöglicht Echtzeitbewegungen.
// ===== // Teil 4: Modelle und Animation // ===== // Laden des Hauptmodells und Verwalten von Animation const Modell: react.fc <{CurrentAnimation: String}> = ({CurrentAnimation}) => {const {camera} = usaThree (); const [Modell, SetModel] = Usestate<THREE.Group | null> (NULL); const [Mixer, setMixer] = usustate<THREE.AnimationMixer | null> (NULL); // Lademodell useeffect (() => {const lader = new gltfloader (); loader.load (default_animation_file, (gltf) => {const {szene: loadedScene} = gltf; ladeedScene.scale.set (model_scale, model_scale, modell-); // modell -lader. // Die anfängliche Rotation des Modells lade. 0) // die Mitte des Modells anzeigen}); // Animation useEffect () => {if (! Modell ||! Mixer) return; const lader = new Gltfloader (); loader.load (CurrentAnimation, (gltf) => {const Newanimation = Gltf.Animations [0]; if (newanimimation) {constAlal (constaler). Action.Reset (). Fadein (0,5) .play (); // Animations -Use -useFrame (_, delta) => {if (mixer) mixer.update (Delta);}); Rückgabemodell?<primitive object={model} /> : null; // Modell anzeigen};
- Laden des Modells
- Laden Sie ein 3D -Modell im GLB -Format mit
GLTFLOADER
- Stellen Sie die Skala, Position und Rotation des Modells angemessen ein und fügen Sie es der Szene hinzu.
- Laden Sie ein 3D -Modell im GLB -Format mit
- Animationen verwalten
-
AnimationMixer
auf das Modell angewendet - Eine Animationsschaltfunktion wurde gemäß den Benutzeroperationen implementiert.
-
- Frame-by-Frame-Updates
- Verwenden Sie
UseFrame
- Fortschritte durch Animation basierend auf verstrichenen Zeit (Delta).
- Verwenden Sie
- Statusverwaltung
- Verwenden Sie Reacts
Usestate
- Reflektiert benutzerdefinierte Animationen in Echtzeit.
- Verwenden Sie Reacts
Teil 5: Hauptkomponente
Verwenden Sie React, um die gesamte Anwendung zu konfigurieren und jede Funktion (Hintergrund, Modell, Animation, Lichteinstellungen) zu integrieren.
Wir werden auch die benutzeroperable UIS (z. B. Animationsschaltschaltflächen) hier auflisten.
// ===== // Teil 5: Hauptkomponente // ===== // Konfigurieren der gesamten Anwendungskonstant Dreidelung: react.fc = () => {const [CurrentAnimation, setCurrentanimation] = usestate (Animation_Files [0] .path); zurückkehren (<div style={{ width: "100vw", height: "100vh", position: "relative" }}> {/ * Animationsauswahltaste */} <div style={{ position: "absolute", top: "10px", left: "10px", zIndex: 10, // ボタンをCanvasの上に表示 }} > {Animation_files.map ((Anim, Index) => ( <button key={index} onClick={() =>setCurrentanimation (Anim.Path)} // Animationsstil umschalten Cursor: "Pointer",}}> {Anim.name}</button> )}</div><Canvas> {/ * Hintergrundkomponente */}<Background /> {/ * Modelle und Animationen */}<Model currentAnimation={currentAnimation} /> {/ * Lichteinstellungen */} <ambientLight intensity={LIGHT_SETTINGS.ambient.intensity} /><directionalLight position={LIGHT_SETTINGS.directional.position} intensity={LIGHT_SETTINGS.directional.intensity} /><pointLight position={LIGHT_SETTINGS.point.position} intensity={LIGHT_SETTINGS.point.intensity} /> {/ * Kameraoperation */}<OrbitControls /></Canvas></div> ); }; Ausfunktion von Standarddreizendanzehörungen;
- Leinwand installieren
- Erstellen Sie ein Framework zum Zeichnen einer 3D -Szene mit
der Canvas
- Erstellen Sie ein Framework zum Zeichnen einer 3D -Szene mit
- Integration jeder Funktion
- Fügen Sie einen Hintergrund (
die Hintergrundkomponente
- Zeichnen Sie Modelle und Animationen (
Modellkomponenten
- Lichteinstellungen (Umgebungslicht, Richtlicht, Punktlicht) werden in der Szene platziert.
- Fügen Sie einen Hintergrund (
- UI -Platzierung
- Implementiert eine Schaltfläche, die benutzerdefinierte Animationen mithilfe von React's States Management (
Usestate
- Die Benutzeroberfläche
Leinwand
und macht sie zu einem Design, das einfach zu bedienen ist.
- Implementiert eine Schaltfläche, die benutzerdefinierte Animationen mithilfe von React's States Management (
- Benutzeraktion
- Sie können Animationen mit den Schaltflächen wechseln und die ausgewählte Animation in Echtzeit abspielen.
schließlich
Alle Schritte von "Control 3D -Modellen im GLB -Format, das mit Meshy AI unter Verwendung von React und drei.Js" erzeugt wurde, wurden abgeschlossen. Jetzt können Sie den Spaß beim Ausführen von 3D -Modellen erleben, die mit AI Tool (Meshy) mit React und Three.js generiert wurden!
Verwenden Sie Meshy, um verschiedene 3D -Modelle anzuzeigen!
📺 Sehen Sie sich die Demo auf YouTube an : Sie können sie aus diesem Link
Wenn Sie dieses Tutorial hilfreich fanden, abonnieren Sie bitte unseren YouTube -Kanal und geben Sie es eine hohe Bewertung!

Darüber hinaus ist der Quellcode für dieses Projekt auf GitHub verfügbar.
Bitte laden Sie den Code herunter und probieren Sie ihn aus!
💾 GitHub Repository : Überprüfen Sie den Quellcode unter diesem Link
Wenn Sie dies hilfreich fanden, abonnieren Sie bitte unseren Kanal!
Wir werden in Zukunft weiterhin Lektionen und Arbeiten von TypeScript X reagieren.
Wir werden eine Ankündigung auf YouTube machen. Abonnieren Sie also unseren YouTube -Kanal und warten Sie auf Benachrichtigungen!
📺 YouTube ansehen : Sie können es von diesem Link
Wenn Sie wissen möchten, was Reagieren von drei Fasern tun können, beziehen Sie sich bitte Folgendes!
Wir haben benutzerfreundliche Arbeiten zur Verfügung!
- Ich habe versucht, Bären mit React x drei.js zu Fuß zu machen!
- Ich habe versucht, einen alten Mann auf React x drei.js zu tanzen!
- Ich habe versucht, ein 3D -Modell mit React x drei.js anzuzeigen!
- Ich habe eine 3D -Taste erstellt, die in React x drei.js explodiert!
- Reagieren Sie drei Faser x Drei x Einführung in Typenkript! Poke Poke Style 3D -Hintergrund mit Standardobjekten!