Heim Web-Frontend View.js So erstellen Sie coole rotierende 3D-Grafiken mit Vue und Canvas

So erstellen Sie coole rotierende 3D-Grafiken mit Vue und Canvas

Jul 17, 2023 pm 03:42 PM
vue canvas d

So erstellen Sie coole rotierende 3D-Grafiken mit Vue und Canvas

Einführung:
Vue und Canvas sind zwei sehr leistungsstarke Front-End-Technologien. Sie eignen sich gut für das Rendern von Seiten bzw. das Zeichnen von Bildern. In diesem Artikel erfahren Sie, wie Sie Vue und Canvas kombinieren, um coole rotierende 3D-Grafikeffekte zu erstellen. Wir werden untersuchen, wie man mit Vue eine grundlegende Seitenstruktur erstellt und wie man mit Canvas die Zeichen- und Rotationseffekte von 3D-Grafiken erzielt. Wenn Sie diesen Artikel lesen, werden Sie verstehen, wie Sie mit Vue und Canvas atemberaubende dynamische 3D-Effekte erstellen.

Text:
1. Erstellen Sie ein Vue-Projekt und erstellen Sie eine grundlegende Seitenstruktur.
Zuerst müssen wir ein Vue-Projekt erstellen Projekt und wechseln Sie zum Projektverzeichnis:

npm install -g @vue/cli
Nach dem Login kopieren

Als nächstes müssen wir einige notwendige Abhängigkeitspakete installieren, einschließlich Three.js und Canvas-Bibliotheken:

vue create 3d-rotation-graphic
cd 3d-rotation-graphic
Nach dem Login kopieren

Erstellen Sie eine neue Vue-Komponente RotationGraphic.vue und definieren Sie sie die Grundlagen darin Seitenstruktur:

npm install three vue-canvas
Nach dem Login kopieren

Der obige Code definiert eine Vue-Komponente RotationGraphic mit einem Canvas-Element und ruft init</code im <code>mount-Leben auf Cycle Hook >Methoden zum Initialisieren und Rendern von Grafiken. Im nächsten Abschnitt fügen wir den Code zum Zeichnen des Diagramms und zum Aktualisieren des Bildschirms hinzu. RotationGraphic.vue,并在其中定义基本页面结构:

<template>
  <div>
    <canvas ref="canvas"></canvas>
  </div>
</template>

<script>
import Vue from 'vue';
import { CanvasRenderer } from 'vue-canvas';
import * as THREE from 'three';

Vue.use(CanvasRenderer);

export default {
  name: 'RotationGraphic',
  mounted() {
    this.init();
  },
  methods: {
    init() {
      const canvas = this.$refs.canvas;
      const renderer = new THREE.WebGLRenderer({ canvas });
      // 绘制代码将在下一节中添加
      this.animate();
    },
    animate() {
      // 更新画面的代码将在下一节中添加
    }
  }
};
</script>

<style scoped>
canvas {
  width: 100%;
  height: 100%;
}
</style>
Nach dem Login kopieren

以上代码定义了一个带有一个canvas元素的Vue组件RotationGraphic,并在mounted生命周期钩子中调用init方法来初始化和渲染图形。在下一节中,我们将添加绘制图形和更新画面的代码。

二、在Canvas中绘制3D图形
我们将使用Three.js库中的BoxGeometryMeshBasicMaterial来绘制一个简单的立方体。在init方法中添加以下代码来绘制图形:

const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);

const geometry = new THREE.BoxGeometry(1, 1, 1);
const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
const cube = new THREE.Mesh(geometry, material);
scene.add(cube);
camera.position.z = 5;

renderer.setSize(window.innerWidth, window.innerHeight);
Nach dem Login kopieren

以上代码创建了一个场景对象scene、一个摄像机对象camera和一个立方体对象cube,并将立方体添加到场景中。摄像机的位置被设置为(0, 0, 5),以便我们能够看到整个场景。最后,我们设置了渲染器的大小为窗口的宽度和高度。

三、实现画面的动态更新
为了实现图形的旋转效果,我们将在animate方法中更新立方体的旋转角度,并在每帧中重新渲染场景。使用下面的代码替换animate方法:

animate() {
  requestAnimationFrame(this.animate);
  cube.rotation.x += 0.01;
  cube.rotation.y += 0.01;
  renderer.render(scene, camera);
}
Nach dem Login kopieren

以上代码使用requestAnimationFrame方法在浏览器每一帧中调用animate方法。每一帧中,立方体的x和y方向的旋转角度都增加0.01弧度,并通过渲染器重新渲染场景。

四、在Vue应用中使用3D旋转图形组件
我们将使用RotationGraphic组件来演示3D旋转图形效果。在Vue项目的主组件中使用RotationGraphic组件,修改App.vue文件:

<template>
  <div id="app">
    <RotationGraphic/>
  </div>
</template>

<script>
import RotationGraphic from './components/RotationGraphic.vue';

export default {
  name: 'App',
  components: {
    RotationGraphic
  }
}
</script>

<style>
#app {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  background-color: #f5f5f5;
}
</style>
Nach dem Login kopieren

以上代码在页面中添加了一个id为app的元素,将RotationGraphic组件添加到其中。通过CSS样式我们将页面居中并设置背景颜色。

结论:
通过本文的学习,我们了解了如何结合Vue和Canvas来创建炫酷的3D旋转图形效果。我们在Vue项目中创建了一个名为RotationGraphic

2. Zeichnen Sie 3D-Grafiken in Canvas

Wir verwenden BoxGeometry und MeshBasicMaterial in der Three.js-Bibliothek, um einen einfachen Würfel zu zeichnen. Fügen Sie den folgenden Code in die Methode init ein, um Grafiken zu zeichnen:

rrreee🎜Der obige Code erstellt ein Szenenobjekt scene, ein Kameraobjekt camera und ein Cube-Objekt cube und fügen Sie den Cube zur Szene hinzu. Die Position der Kamera ist auf (0, 0, 5) eingestellt, sodass wir die gesamte Szene sehen können. Abschließend stellen wir die Größe des Renderers auf die Breite und Höhe des Fensters ein. 🎜🎜3. Dynamische Aktualisierung des Bildes realisieren🎜Um den Rotationseffekt der Grafiken zu erzielen, aktualisieren wir den Rotationswinkel des Würfels in der Methode anime und rendern die Szene jeweils neu rahmen. Ersetzen Sie die Methode animate durch den folgenden Code: 🎜rrreee🎜Der obige Code verwendet die Methode requestAnimationFrame, um die Methode animate in jedem Frame des aufzurufen Browser. Mit jedem Frame wird der Rotationswinkel des Würfels in x- und y-Richtung um 0,01 Bogenmaß erhöht und die Szene wird durch den Renderer neu gerendert. 🎜🎜4. Verwendung der 3D-Rotationsgrafikkomponente in Vue-Anwendungen🎜Wir werden die RotationGraphic-Komponente verwenden, um den 3D-Rotationsgrafikeffekt zu demonstrieren. Verwenden Sie die Komponente RotationGraphic in der Hauptkomponente des Vue-Projekts und ändern Sie die Datei App.vue: 🎜rrreee🎜Der obige Code fügt eine ID von app hinzu. Fügen Sie dem Element page.code> die Komponente <code>RotationGraphic hinzu. Durch CSS-Stile zentrieren wir die Seite und legen die Hintergrundfarbe fest. 🎜🎜Fazit: 🎜Durch das Studium dieses Artikels haben wir gelernt, wie man Vue und Canvas kombiniert, um coole rotierende 3D-Grafikeffekte zu erstellen. Wir haben im Vue-Projekt eine Komponente mit dem Namen RotationGraphic erstellt, mit Three.js einen Würfel gezeichnet und den Rotationseffekt durch Aktualisierung des Rotationswinkels und des Renderers erzielt. Ich hoffe, dass die Einführung in diesem Artikel Ihnen helfen kann, die Vue- und Canvas-Technologie besser zu verstehen und anzuwenden, um beeindruckendere Front-End-Effekte zu erstellen. 🎜🎜Codebeispiel: https://github.com/your-username/3d-rotation-graphic🎜

Das obige ist der detaillierte Inhalt vonSo erstellen Sie coole rotierende 3D-Grafiken mit Vue und Canvas. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie Bootstrap in Vue So verwenden Sie Bootstrap in Vue Apr 07, 2025 pm 11:33 PM

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

So fügen Sie Funktionen zu Schaltflächen für Vue hinzu So fügen Sie Funktionen zu Schaltflächen für Vue hinzu Apr 08, 2025 am 08:51 AM

Sie können der VUE -Taste eine Funktion hinzufügen, indem Sie die Taste in der HTML -Vorlage an eine Methode binden. Definieren Sie die Methode und schreiben Sie die Funktionslogik in der VUE -Instanz.

So verwenden Sie Watch in Vue So verwenden Sie Watch in Vue Apr 07, 2025 pm 11:36 PM

Mit der Watch -Option in Vue.js können Entwickler auf Änderungen in bestimmten Daten anhören. Wenn sich die Daten ändert, löst sich eine Rückruffunktion aus, um Aktualisierungsansichten oder andere Aufgaben auszuführen. Zu den Konfigurationsoptionen gehören unmittelbar, die festlegen, ob ein Rückruf sofort ausgeführt werden soll, und Deep, das feststellt, ob Änderungen an Objekten oder Arrays rekursiv anhören sollen.

Was bedeutet VUE Multi-Page-Entwicklung? Was bedeutet VUE Multi-Page-Entwicklung? Apr 07, 2025 pm 11:57 PM

VUE Multi-Page-Entwicklung ist eine Möglichkeit, Anwendungen mithilfe des Vue.js-Frameworks zu erstellen, in dem die Anwendung in separate Seiten unterteilt ist: Code-Wartung: Die Aufteilung der Anwendung in mehrere Seiten kann das Verwalten und Wartungsbereich erleichtern. Modularität: Jede Seite kann als separates Modul für eine einfache Wiederverwendung und den Austausch verwendet werden. Einfaches Routing: Die Navigation zwischen Seiten kann durch einfache Routing -Konfiguration verwaltet werden. SEO -Optimierung: Jede Seite hat eine eigene URL, die SEO hilft.

So verweisen Sie auf die JS -Datei mit Vue.js So verweisen Sie auf die JS -Datei mit Vue.js Apr 07, 2025 pm 11:27 PM

Es gibt drei Möglichkeiten, sich auf JS -Dateien in Vue.js zu beziehen: Geben Sie den Pfad direkt mit dem & lt; Skript & gt an. Etikett;; Dynamischer Import mit dem montierten () Lebenszyklushaken; und importieren über die Vuex State Management Library.

So kehren Sie von Vue zur vorherigen Seite zurück So kehren Sie von Vue zur vorherigen Seite zurück Apr 07, 2025 pm 11:30 PM

VUE.JS hat vier Methoden, um zur vorherigen Seite zurückzukehren: $ router.go (-1) $ router.back () verwendet & lt; Router-Link to = & quot;/& quot; Komponentenfenster.history.back () und die Methodenauswahl hängt von der Szene ab.

So verwenden Sie Vue Traversal So verwenden Sie Vue Traversal Apr 07, 2025 pm 11:48 PM

Es gibt drei gängige Methoden für Vue.js, um Arrays und Objekte zu durchqueren: Die V-für-Anweisung wird verwendet, um jedes Element zu durchqueren und Vorlagen zu rendern; Die V-Bind-Anweisung kann mit V-für dynamisch Attributwerte für jedes Element verwendet werden. und die .MAP -Methode kann Array -Elemente in Neuarrays umwandeln.

Wie man zum Div von Vue springt Wie man zum Div von Vue springt Apr 08, 2025 am 09:18 AM

Es gibt zwei Möglichkeiten, Divelemente in Vue zu springen: Verwenden Sie Vue Router und fügen Sie Router-Link-Komponente hinzu. Fügen Sie den @click Event -Listener hinzu und nennen Sie dies. $ Router.push () Methode zum Springen.

See all articles