Vor Kurzem habe ich gelernt, 1. Erstellen Sie das Framework und installieren Sie die erforderlichen Plug-Insnpx create-react-app parano // Erstelle ein React-Projekt npm install -S typescript // Installiere Typescript, dies ist ein typunterstütztes Plugin und hat wenig mit dem Panorama-Projekt zu tun npm install -S @types/three // Installiere das von Typescript unterstützte Three.js-Plugin 2. Pano-Komponente erstellenMit der Komponente Pano werden 720 Panoramen geladen. React von „react“ importieren import * as THREE from 'three' // Importiere das Three.js-Plugin importiere Banner from './img/playground.jpg' // Importiere das Panoramabild // Deklaration des Requisitentyps Schnittstelle Schnittstelle MyProps { } //Statustypdeklaration Schnittstelle Schnittstelle MyState { } Klasse Pano erweitert React.Component<MyProps, MyState> { Renderer: beliebig = new THREE.WebGLRenderer() // Einen Renderer erstellen Szene: beliebig = new THREE.Scene() // Eine Szene erstellen Kamera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000) // Eine Kamera erstellen Geometrie = new THREE.SphereBufferGeometry(100, 60, 40) // Einen sphärischen Container zum Einfügen von Panoramen erstellen Material: beliebig // Texturmaterial Netz: beliebig Konstruktor(Requisiten: beliebig) { super (Requisiten) dieser.Zustand = {} } componentDidMount() { diese.geometrie.skala(-1, 1, 1) let texture = neues THREE.TextureLoader().load(banner) dieses.material = neues THREE.MeshBasicMaterial({map: texture}) dieses.Netz = neues DREI.Netz(diese.Geometrie, dieses.Material) this.renderer.setSize(Fenster.innereBreite, Fenster.innereHöhe) Dokument.Body.AnhängenUntergeordnetesElement(dieses.Renderer.DomElement) diese.Szene.hinzufügen(dieses.Netz) diese.Kamera.position.z = 0 window.addEventListener('Größe ändern', this.onWindowResize, false) dies.animieren() } //Ändere die Anzeigegröße des Panoramas, wenn sich die Fenstergröße ändert onWindowResize = () => { this.camera.aspect = Fenster.innereBreite / Fenster.innereHöhe diese.Kamera.updateProjectionMatrix() this.renderer.setSize(Fenster.innereBreite, Fenster.innereHöhe) } // Bild für Bild rendern animate = () => { AnfrageAnimationFrame(diese.animate) diese.Netzrotation.y += 0,001 dieser.Renderer.render(diese.Szene, diese.Kamera) } rendern () { zurückkehren ( <div></div> ) } } Standard-Panorama exportieren 3. Fügen Sie die Pano-Komponente zur App-Komponente hinzuimportiere React von „react“; importiere './App.css'; importiere Pano aus „./pano“; Funktion App() { zurückkehren ( <div Klassenname="App"> <Pano /> </div> ); } Standard-App exportieren; Führen Sie an diesem Punkt Dies ist das Ende dieses Artikels über den detaillierten Prozess zum Erstellen eines VR-Panoramaprojekts mit React und Threejs. Weitere relevante Inhalte zum Erstellen von VR-Panoramaansichten mit React und Threejs finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Mysql-Abfrageanweisung mit mehreren Bedingungen und dem Schlüsselwort „And“
>>: Grundlegendes Nutzungs-Tutorial zur IPTABLES-Firewall unter LINUX
Lassen Sie uns zunächst verstehen, was MySQL ist....
Nach der Installation des neuesten Windows 10-Upd...
Anfänger können HTML lernen, indem sie einige HTM...
Inhaltsverzeichnis Vorwort 1. Ereignisse und Zwis...
Vorwort Unabhängig davon, ob es sich um eine eige...
Klassifizierung von CSS-Stilen 1. Interner Stil -...
Einführung in die Linux-Alarmfunktion Oben genann...
Inhaltsverzeichnis Jenkins-Installation Installie...
Erster Blick auf die Wirkung: Vorwort: Auf diese ...
1. Zwei Möglichkeiten zum Definieren von Reaktion...
In letzter Zeit besteht der Bedarf, automatisch n...
Lassen Sie mich zunächst erklären, warum der Text...
1. Funktion: xargs kann die durch Leerzeichen ode...
Nehmen Sie nun an, dass Sie dem Formular ein Elem...
Inhaltsverzeichnis 1. Die Beziehung zwischen Redu...