VR Commerce / Immersive Shopping

Obwohl MyOOS Unterstützung jeglicher Art gebrauchen kann, ist es in erster Linie ein Softwareprojekt. Daher braucht MyOOS hauptsächlich Programmcode.
Wenn Du daran interessiert bist, für MyOOS zu programmieren, fange hier an: Platz für Fragen, Anleitungen, Motivation ...
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: VR Commerce / Immersive Shopping

Beitrag von r23 »

Hallo,

ich möchte in der nächsten Phase relativ schnell und einfach eine VR Umgebung mit Blender erstellen. Wir müssen den Raum so oder so x-fach neu modellieren, forschen und experimentieren.

Ich werde in ein Verzeichnis die Blender Dateien legen und jeder kann diese später an seine Anforderungen anpassen.

Die Gestaltung von VR Räumen stellt eine neue Herausforderung dar. Vor diesem Hintergrund habe ich mich nach VR Räumen umgesehen und bin bei Mozilla Hub fündig geworden.

Die Autorin zeigt in Ihrem Tutorial die Erstellung von Cloud Nine.

Sie schreibt:
Um ganz ehrlich zu sein, kann es einige Zeit dauern, sich an die Werkzeuge zu gewöhnen. Es könnte Momente geben, in denen du dich frustriert fühlst, aber gib nicht auf, sondern zieh weiter durch! Ich kann ehrlich sagen, dass ich mich jetzt viel selbstbewusster fühle als damals, als ich anfing, und du wirst es auch schaffen!
Hier das lesenswerte Tutorial
https://hubs.mozilla.com/labs/building- ... into-hubs/


Viele Grüße

Ralf
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: VR Commerce / Immersive Shopping

Beitrag von r23 »

Hallo,

wenn man das vr_shopping Projekt selber installieren und ausführen möchten muss man im VS Code Terminal mit cd dist in das dist Verzeichnis springen

MyOOS\vr_shopping\dist> openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem

und dann ein Zertifikat erstellen.

cert.pem und key.pm müssen in dem Verzeichnis ~/vr_shopping/dist>

liegen
Zuletzt geändert von r23 am 02.08.2023, 04:50, insgesamt 1-mal geändert.
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: VR Commerce / Immersive Shopping

Beitrag von r23 »

WARNING in configuration
The 'mode' option has not been set, webpack will fallback to 'production' for this value.
Set 'mode' option to 'development' or 'production' to enable defaults for each environment.
You can also set it to 'none' to disable any default behavior. Learn more: https://webpack.js.org/configuration/mode/


Der Hinweis, den Sie erhalten haben, bedeutet, dass Sie die `mode` Option in Ihrer webpack Konfiguration nicht gesetzt haben. Diese Option erlaubt es Ihnen, webpack für verschiedene Umgebungen zu optimieren, wie z.B. Entwicklung oder Produktion. Wenn Sie die Option nicht setzen, wird webpack standardmäßig den Wert `production` verwenden, was zu einer kleineren und schnelleren Ausgabe führen kann, aber auch einige nützliche Funktionen für die Entwicklung deaktivieren kann¹.

Um den Hinweis zu vermeiden, können Sie die `mode` Option in Ihrer webpack.config.js Datei setzen, z.B.:

```js
module.exports = {
mode: 'development',
};
```

oder Sie können sie als ein CLI Argument übergeben, z.B.:

```sh
webpack --mode=development
```

Die möglichen Werte für die `mode` Option sind `none`, `development` oder `production`. Jeder Wert hat unterschiedliche Auswirkungen auf die Optimierung und das Verhalten von webpack. Sie können mehr über die `mode` Option auf der [offiziellen Dokumentation](^1^) oder auf einigen anderen [nützlichen Quellen](^2^) lesen.

Ich hoffe, das hilft Ihnen weiter. Wenn Sie weitere Fragen haben, können Sie mich gerne fragen. 😊

Quelle: Unterhaltung mit Bing, 2.8.2023
(1) Mode | webpack. https://webpack.js.org/configuration/mode/.
(2) Mode | webpack. https://webpack.js.org/configuration/mode/.
(3) javascript - How do I set webpack mode - Stack Overflow. https://stackoverflow.com/questions/716 ... bpack-mode.
(4) 6 ways to configure Webpack - DEV Community. https://dev.to/typescripttv/6-ways-to-c ... bpack-5a33.
(5) Control the Output of webpack with the mode Setting. https://egghead.io/lessons/webpack-cont ... de-setting.
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: VR Commerce / Immersive Shopping

Beitrag von r23 »

Hallo,

ich erstelle zurzeit einen DEMO - Raum, damit wir das Zusammenspiel zwischen Blender und Notes.js Entwicklungsumgebung besser verstehen.

Der Hintergrund wird schon einmal geladen.

https://blog.r23.de/ab/

nur das 3d Modell nicht:

8<- antwort von Bing

Es gibt mehrere mögliche Gründe, warum ein 3D-Modell in A-Frame nicht angezeigt wird. Hier sind einige häufige Ursachen und Lösungen, die Sie überprüfen können:

- Stellen Sie sicher, dass Sie einen lokalen oder gehosteten Webserver mit CORS und korrekten MIME-Typen verwenden. Versuchen Sie nicht, die Dateien direkt vom Dateisystem aus zu laden¹.

- Wenn Sie das Modell von einer anderen Domain laden, benötigen Sie Cross-Origin Resource Sharing (CORS) Header auf dem Modell. Für einige Optionen werden alle Ressourcen, die auf GitHub Pages gehostet werden, mit CORS-Headern bereitgestellt. Wir empfehlen GitHub Pages als eine einfache Plattform für die Bereitstellung¹.

- Überprüfen Sie die Skalierung des Modells. Das Modell könnte sehr groß im Vergleich zur Kamera sein, so dass der Benutzer im Modell ist und es nicht sehen kann. Versuchen Sie, es zu verkleinern, z.B. `scale=".001 .001 .001"` und sehen Sie, wo es ist. Der A-Frame Inspector, der mit 0.3.0 ausgeliefert wird, wird Ihnen dabei sehr helfen. Wenn er verfügbar ist, drücken Sie Strg + Umschalt + i, um ihn zu öffnen¹.

- Wenn Texturen fehlen, überprüfen Sie Ihre Pfade. Sie können normalerweise feststellen, ob Sie 404 auf Bildern erhalten. Wenn Sie ein Modell mit einer separaten Materialdatei wie MTL verwenden, verweisen sie oft auf Bildtexturen über relative Pfade. Stellen Sie sicher, dass die Bilder an der richtigen erwarteten Stelle in Bezug auf die MTL-Datei sind, indem Sie die MTL-Datei nach Bildpfaden durchsuchen. Und stellen Sie auch sicher, dass sie den richtigen Namen haben¹.

- Wenn das Modell als schwarz gerendert wird, konvertieren Sie die Texturen in Bilder. Warum wird mein OBJ / MTL Modellmaterial als schwarz angezeigt?²

- Wenn das Modell nicht geladen wird oder Fehlermeldungen anzeigt, überprüfen Sie das Format und die Kompatibilität des Modells. A-Frame unterstützt GLTF als bevorzugtes Format für 3D-Modelle³. Andere Formate wie OBJ oder COLLADA können Probleme mit der Animation oder der Leistung haben⁴. Stellen Sie sicher, dass Ihr Modell korrekt exportiert und validiert wurde⁵.

Ich hoffe, dass diese Tipps Ihnen helfen können, das Problem zu beheben. Wenn Sie weitere Fragen haben, können Sie sich gerne an mich wenden. 😊

Quelle: Unterhaltung mit Bing, 2.8.2023
(1) Why is my model not loading with A-Frame? - Stack Overflow. https://stackoverflow.com/questions/387 ... th-a-frame.
(2) A-Frame 3D Model and Texture Loading Issues - Stack Overflow. https://stackoverflow.com/questions/574 ... ing-issues.
(3) javascript - a-frame wont load own 3d model - Stack Overflow. https://stackoverflow.com/questions/538 ... n-3d-model.
(4) undefined. https://aframe.io/releases/0.6.0/aframe.min.
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: VR Commerce / Immersive Shopping

Beitrag von r23 »

Um OrbitControls in Ihrem Code zu verwenden, müssen Sie zuerst das Modul `three-orbitcontrols` installieren oder das Skript `OrbitControls.js` von einem CDN laden. Dann können Sie eine Instanz von OrbitControls erstellen, die Ihre Kamera und Ihr Renderer-Element als Parameter nimmt. Sie können auch verschiedene Eigenschaften und Ereignisse von OrbitControls anpassen, um das gewünschte Verhalten zu erzielen. Hier sind einige Beispiele für die Verwendung von OrbitControls in Ihrem Code:

import {OrbitControls} from 'three/examples/jsm/controls/OrbitControls';


- Um eine Instanz von OrbitControls zu erstellen, können Sie den folgenden Code verwenden²:

Code: Alles auswählen

const controls = new OrbitControls(camera, renderer.domElement);
- Um die Kamera auf einen bestimmten Punkt auszurichten, können Sie die `target`-Eigenschaft von OrbitControls verwenden²:

Code: Alles auswählen

// camera.lookAt (0.5, 0.5, 0.5); // alternative Methode
controls.target.set (.5, .5, .5); // setzt den Zielpunkt auf (0.5, 0.5, 0.5)
controls.update (); // aktualisiert die Kameraansicht
- Um auf Änderungen der Kameraansicht zu reagieren, können Sie die `change`-, `start`- und `end`-Ereignisse von OrbitControls verwenden²:

Code: Alles auswählen

controls.addEventListener ('change', () => console.log ("Controls Change")); // wird ausgelöst, wenn sich die Kameraansicht ändert
controls.addEventListener ('start', () => console.log ("Controls Start Event")); // wird ausgelöst, wenn der Benutzer mit der Maus oder dem Touchpad interagiert
controls.addEventListener ('end', () => console.log ("Controls End Event")); // wird ausgelöst, wenn der Benutzer die Interaktion beendet
- Um die Kamera automatisch um das Ziel rotieren zu lassen, können Sie die `autoRotate`- und `autoRotateSpeed`-Eigenschaften von OrbitControls verwenden²:

Code: Alles auswählen

controls.autoRotate = true; // aktiviert die automatische Rotation
controls.autoRotateSpeed = 10; // setzt die Geschwindigkeit der Rotation in Grad pro Sekunde
- Um die Dämpfung der Kamerabewegung zu aktivieren, können Sie die `enableDamping`- und `dampingFactor`-Eigenschaften von OrbitControls verwenden²:

Code: Alles auswählen

controls.enableDamping = true; // aktiviert die Dämpfung
controls.dampingFactor = .01; // setzt den Dämpfungsfaktor zwischen 0 und 1
- Um die Tastatursteuerung zu aktivieren, können Sie die `enableKeys`-, `listenToKeyEvents`- und `keys`-Eigenschaften von OrbitControls verwenden²:

Code: Alles auswählen

controls.enableKeys = true; // aktiviert die Tastatursteuerung
//older versions
// controls.listenToKeyEvents (document.body); // registriert einen EventListener für Tastatureingaben auf dem angegebenen Element
controls.keys = { // definiert die Tasten für jede Richtung
  LEFT: "ArrowLeft", //left arrow
  UP: "ArrowUp", // up arrow
  RIGHT: "ArrowRight", // right arrow
  BOTTOM: "ArrowDown" // down arrow
}

- Um die Maussteuerung anzupassen, können Sie die `mouseButtons`-Eigenschaft von OrbitControls verwenden²:

Code: Alles auswählen

controls.mouseButtons = { // definiert die Aktion für jede Maustaste
  LEFT: THREE.MOUSE.ROTATE, // linke Maustaste zum Rotieren der Kamera um das Ziel
  MIDDLE: THREE.MOUSE.DOLLY, // mittlere Maustaste zum Zoomen der Kamera
  RIGHT: THREE.MOUSE.PAN // rechte Maustaste zum Verschieben der Kamera parallel zur Bildschirmebene
}
- Um die Touch-Steuerung anzupassen, können Sie die `touches`-Eigenschaft von OrbitControls verwenden²:

Code: Alles auswählen

controls.touches = { // definiert die Aktion für jede Anzahl von Touchpunkten
  ONE: THREE.TOUCH.ROTATE, // ein Touchpunkt zum Rotieren der Kamera um das Ziel
  TWO: THREE.TOUCH.DOLLY_PAN // zwei Touchpunkte zum Zoomen und Verschieben der Kamera
}

- Um das Verschieben der Kamera in Bildschirmraumkoordinaten zu aktivieren, können Sie die `screenSpacePanning`-Eigenschaft von OrbitControls verwenden²:

Code: Alles auswählen

controls.screenSpacePanning = true; // aktiviert das Verschieben in Bildschirmraumkoordinaten
- Um die minimalen und maximalen Winkel für die horizontale und vertikale Rotation der Kamera zu begrenzen, können Sie die `minAzimuthAngle`, `maxAzimuthAngle`, `minPolarAngle` und `maxPolarAngle`-Eigenschaften von OrbitControls verwenden²:

Code: Alles auswählen

controls.minAzimuthAngle = 0; // setzt den minimalen horizontalen Winkel in Radiant
controls.maxAzimuthAngle = Math.PI / 2; // setzt den maximalen horizontalen Winkel in Radiant
controls.minPolarAngle = 0; // setzt den minimalen vertikalen Winkel in Radiant
controls.maxPolarAngle = Math.PI; // setzt den maximalen vertikalen Winkel in Radiant
- Um die minimale und maximale Entfernung der Kamera vom Ziel zu begrenzen, können Sie die `minDistance`- und `maxDistance`-Eigenschaften von OrbitControls verwenden²:

Code: Alles auswählen

controls.maxDistance = 4; // setzt die maximale Entfernung in Einheiten
controls.minDistance = 2; // setzt die minimale Entfernung in Einheiten
Ich hoffe, diese Beispiele sind nützlich für Sie. Wenn Sie mehr über OrbitControls erfahren möchten, können Sie sich die Web-Suchergebnisse ansehen¹²³ oder die offizielle Dokumentation lesen. Wenn Sie weitere Fragen haben, können Sie mich gerne fragen. 😊

Quelle: Unterhaltung mit Bing, 3.8.2023
(1) How to use OrbitControls in Three.js Editor project. https://stackoverflow.com/questions/597 ... or-project.
(2) OrbitControls - Three.js Tutorials - sbcode.net. https://sbcode.net/threejs/orbit-controls/.
(3) three-orbitcontrols examples - CodeSandbox. https://codesandbox.io/examples/package ... itcontrols.
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: VR Commerce / Immersive Shopping

Beitrag von r23 »

3D Modelle für unser Kaufhaus...

Ich werde in dieser Projektphase keine 3D-Modelle komprimieren. Wenn man sein VR Kaufhaus in der Dateigröße verkleinern möchte habe ich hier eine Anleitung:


Draco ist ein Kompressionsformat für 3D-Modelle, das die Dateigröße und die Ladezeit reduziert. Um eine Draco glTF in a-frame zu verwenden, müssen Sie folgende Schritte ausführen:

- Komprimieren Sie Ihr 3D-Modell mit einem Werkzeug, das Draco unterstützt. Es gibt mehrere Optionen, wie z.B. Blender, gltf-pipeline, gltf-transform oder gltfpack.

- Laden Sie Ihr komprimiertes 3D-Modell mit dem `gltf-model`-Komponente in a-frame. Zum Beispiel:

Code: Alles auswählen

<a-scene>
  <a-entity gltf-model="path/to/model.glb"></a-entity>
</a-scene>
- Laden Sie eine Decoder-Bibliothek, indem Sie Szeneneigenschaften konfigurieren, wie unten erklärt.

Szeneneigenschaften

Wenn Sie glTF-Modelle verwenden, die mit Draco, KTX2 oder Meshopt komprimiert sind, müssen Sie eine Decoder-Bibliothek laden, indem Sie die folgenden Szeneneigenschaften setzen:

Code: Alles auswählen

<a-scene
  renderer="colorManagement: true;"
  draco-loader="decoderPath: path/to/draco/;"
  ktx2-loader="decoderPath: path/to/ktx2/;"
  meshopt-decoder="decoderPath: path/to/meshopt/;"
>
</a-scene>

Sie können die Decoder-Bibliotheken von den folgenden Quellen beziehen:

- Draco https://github.com/google/draco/tree/master/javascript
- KTX2 https://github.com/KhronosGroup/Univers ... /master/js
- Meshopt https://github.com/zeux/meshoptimizer/tree/master/js

Vorbereitung für unser Handbuch...
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: VR Commerce / Immersive Shopping

Beitrag von r23 »

Hallo,

an unserem Release Tag habe ich das Projekt umbenannt

Metaverse Experience


React, Three.js und A-Frame: Entfesseln Sie die Macht webbasierter virtueller Erlebnisse im Metaverse

Einbindung von Echtzeitdaten mit WebSockets
mit npm install socket.io-client

Die Integration von Echtzeitdaten kann deine virtuellen Erlebnisse verbessern, indem sie dynamischer und ansprechender gestaltet werden. WebSockets bieten eine Möglichkeit, Echtzeitkommunikation zwischen deiner Anwendung und einem Server herzustellen.

Verbindung zur Blockchain für dezentralisierte Anwendungen

npm install web3

Die Integration der Blockchain-Technologie in deine virtuellen Erlebnisse kann dezentrale Anwendungen (dApps) mit einzigartigen Funktionen ermöglichen, z. B. dezentrales Finanzwesen (DeFi), Tokenisierung und digitales Eigentum. Um deine Anwendung mit der Ethereum-Blockchain zu verbinden, kannst Du die web3.js-Bibliothek verwenden:

npm install web3

Für mich ist es bei dem MyOOS Projekt wichtig, dass der Shopbetreiber ich teure Serverparks sich anschaffen muss. Die Anwendung sollte ohne NotesJS Umgebung funktionieren. Wer möchte, soll aber die Möglichkeit haben.

Vor diesem Hintergrund habe ich Webpack eingebaut....

Beste Grüße

Ralf
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: VR Commerce / Immersive Shopping

Beitrag von r23 »

Hallo,

ich freue mich, dass du einen VR-Raum für A-Frame erstellst. 😊

Um die Kamera in A-Frame mit Three.js einzustellen, musst du einige Dinge beachten:

- Die Kamera in Blender hat eine Brennweite in Millimetern, die den Zoomfaktor bestimmt. Die Kamera in A-Frame hat ein Sichtfeld (FOV) in Grad, das den Winkel bestimmt, unter dem die Szene sichtbar ist.

- Um die Brennweite in Blender in das FOV in A-Frame umzurechnen, kannst du diese Formel verwenden:
$$FOV = 2 \\times arctan(\\frac{36}{2 \\times Brennweite})$$

- Die 36 in der Formel bezieht sich auf die Breite eines Vollformatsensors in Millimetern. Wenn du einen anderen Sensortyp verwendest, musst du diesen Wert entsprechend anpassen.

- Das FOV in A-Frame ist standardmäßig auf 80 Grad eingestellt. Um es zu ändern, kannst du das Attribut `fov` im `<a-camera>` Tag verwenden. Zum Beispiel: `<a-camera fov="60"></a-camera>`

- Das FOV in A-Frame kann auch von der VR-Brille beeinflusst werden, die du verwendest. Die VR-Brille hat ein eigenes FOV, das je nach Modell und Einstellung variieren kann. Um das FOV der VR-Brille zu berücksichtigen, kannst du das Attribut `camera="userHeight: 0"` im `<a-scene>` Tag verwenden. Zum Beispiel: `<a-scene camera="userHeight: 0"></a-scene>`

Ich hoffe, diese Informationen helfen dir weiter. Wenn du mehr über die Kameraeinstellungen in A-Frame erfahren möchtest, kannst du diese Quellen konsultieren:

- A-Frame Dokumentation für <a-camera>]
https://aframe.io/docs/1.4.0/primitives/a-camera.html

- Simplified Guide to Field of View (FOV Calculation)
https://shotkit.com/field-of-view/

- Angle of View Vs. Field of View. Is There Even a Difference?!
https://shuttermuse.com/angle-of-view-v ... w-fov-aov/


Viel Spaß beim Erstellen deines VR-Raums! 😊

(1) <a-camera> – A-Frame. https://aframe.io/docs/1.4.0/primitives/a-camera.html.
(2) Simplified Guide to Field of View (FOV Calculation) - Shotkit. https://shotkit.com/field-of-view/.
(3) Angle of View Vs. Field of View. Is There Even a Difference?!. https://shuttermuse.com/angle-of-view-v ... w-fov-aov/.
(4) Cameras — Blender Manual. https://docs.blender.org/manual/en/late ... meras.html.
(5) How can I make a camera the active one? - Blender Stack Exchange. https://blender.stackexchange.com/quest ... active-one.
(6) How to scale the cameras view bounds? - Blender Stack Exchange. https://blender.stackexchange.com/quest ... iew-bounds.
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: VR Commerce / Immersive Shopping

Beitrag von r23 »

In unserem MyOOS Projekt übernehmen wir den Wert von A-Frame

Wenn du ein FOV von 80 Grad in A-Frame hast, kannst du die Brennweite in Blender mit dieser Formel berechnen:

Brennweite=frac362timestan(fracFOV2)

Die 36 in der Formel bezieht sich auf die Breite eines Vollformatsensors in Millimetern. Wenn du einen anderen Sensortyp verwendest, musst du diesen Wert entsprechend anpassen. Für ein FOV von 80 Grad ergibt sich eine Brennweite von etwa 22,4 mm.
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: VR Commerce / Immersive Shopping

Beitrag von r23 »

Beleuchtung von der 3D-Szene

Um eine 3D-Szene für three.js und a-frame in Blender zu beleuchten, musst du einige Schritte beachten. Hier sind einige Ressourcen, die dir dabei helfen können:

- WebGL - three.js: Eine Einführung in die Erstellung von 3D-Welten https://hellocoding.de/blog/coding-lang ... bgl-basics ist ein Artikel, der dir die Grundlagen von three.js und WebGL erklärt. Du lernst, wie du eine Szene, eine Kamera, einen Renderer, Licht und Objekte erstellst. Außerdem erfährst du, wie du verschiedene Geometrien und Materialien verwenden kannst, um deine Objekte zu gestalten.

- Combining A-frame with Three.js https://stackoverflow.com/questions/381 ... h-three-js ist eine Frage auf Stack Overflow, die dir zeigt, wie du three.js Elemente in eine A-frame Szene einbinden kannst. Du musst dazu die Entity-Component System von A-frame nutzen, um deine eigenen Komponenten zu registrieren und three.js Objekte zu erstellen.

- Three.js Realistic Light and Shadow Tutorial https://redstapler.co/threejs-realistic ... -tutorial/ ist ein Tutorial, das dir beibringt, wie du realistische Licht- und Schatteneffekte in three.js erzeugen kannst. Du lernst, wie du verschiedene Lichtquellen wie AmbientLight, DirectionalLight und SpotLight verwenden kannst, um deine Szene auszuleuchten. Außerdem erfährst du, wie du Schatten aktivieren und anpassen kannst. ³

Ich hoffe, diese Ressourcen sind hilfreich für dich. Viel Spaß beim Erstellen deiner 3D-Szene! 😊

Quelle: Unterhaltung mit Bing, 9.8.2023
WebGL - three.js: Eine Einführung in die Erstellung von 3D-Welten. https://hellocoding.de/blog/coding-lang ... bgl-basics.
aframe - Combining A-frame with Three.js - Stack Overflow. https://stackoverflow.com/questions/381 ... h-three-js.
Three.js Realistic Light and Shadow Tutorial - Red Stapler. https://redstapler.co/threejs-realistic ... -tutorial/.
How to use lighting and WebGLRenderer in Three.js. https://blog.logrocket.com/how-to-use-l ... -three-js/.
https://aframe.io/docs/0.2.0/core/entity.html.
undefined. https://aframe.io/docs/0.2.0/core/component.html.
Three.js 3D. https://viscircle.de/einsteigerguide-ei ... -three-js/.
(11) undefined. http://threejs.org.
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: VR Commerce / Immersive Shopping

Beitrag von r23 »

Um die Beleuchtung in deiner 3D-Szene, die du mit Three.js und A-Frame erstellt hast, richtig darzustellen, musst du ein paar Dinge beachten.
Zunächst einmal musst du die Beleuchtungsoptionen verstehen, die in Three.js verfügbar sind. Laut einem Tutorial auf dem LogRocket-Blog
https://blog.logrocket.com/how-to-use-l ... -three-js/

bietet Three.js mehrere verschiedene Lichttypen, darunter
AmbientLight,
DirectionalLight,
HemisphereLight,
PointLight,
RectAreaLight
und SpotLight.

Jedes dieser Lichter hat unterschiedliche Eigenschaften und kann verwendet werden, um verschiedene Lichteffekte in Ihrer Szene zu erzeugen.


Zweitens musst du überlegen, wie du die Beleuchtung aus Blender in Three.js importierst. Laut einem Beitrag auf Stack Overflow
kann Three.js verschiedene Dreiecke eines Objekts falsch beleuchten, wenn eine Szene aus Blender mit Quads importiert wird. Um dieses Problem zu vermeiden, musst du möglicherweise deine Quads in Dreiecke umwandeln, bevor du deine Szene aus Blender exportierst.

Schließlich können Sie auch die Verwendung von gebackenen Texturen in Betracht ziehen, um die Beleuchtung in Ihrer Szene zu verbessern. Gebackene Texturen sind vorgerenderte Texturen, die in WebGL verwendet werden können, anstatt die von Three.js bereitgestellten Echtzeit-Beleuchtungstechniken zu nutzen. Ein Tutorial auf der Three.js Journey Website erklärt, wie man mit Blender gebackene Texturen erstellt und sie in Three.js importiert.
https://threejs-journey.com/lessons/cre ... er#process


Um die Beleuchtung in deiner 3D-Szene, die du mit Three.js und A-Frame in Blender erstellt hast, richtig darzustellen, musst du die in Three.js verfügbaren Beleuchtungsoptionen verstehen, überlegen, wie du die Beleuchtung aus Blender importieren kannst, und möglicherweise gebackene Texturen verwenden, um die Beleuchtung in deiner Szene zu verbessern.

Um gebackene Texturen in Blender 3.6.0 zu erstellen, kannst du diese allgemeinen Schritte befolgen:

Erstelle dein 3D-Modell: Erstelle dein 3D-Modell in Blender und füge alle Materialien oder Texturen hinzu, die du verwenden möchtest.
Entpacke dein Modell: Entpacke dein Modell, um eine UV-Map zu erstellen. Dies ermöglicht es dir, Texturen auf dein Modell anzuwenden.

Erstellen Sie ein neues Bild: Erstelle ein neues Bild in Blender, das zum Speichern der gebackenen Texturen verwendet werden soll.

Richte deine Szene ein: Richte deine Szene mit der Beleuchtung und den Kamerawinkeln ein, die du für die gebackenen Texturen verwenden willst.
Bake die Texturen: Gehen Sie in Blender auf die Registerkarte "Render" und wählen Sie "Bake". Wähle die Art des Bake, die du durchführen willst (z.B. "Diffuse" oder "Combined"), wähle das Bild, das du in Schritt 3 erstellt hast, als Ziel und klicke auf "Bake".

Speichern Sie die gebackenen Texturen: Sobald der Backvorgang abgeschlossen ist, speichern Sie die gebackenen Texturen in einer Datei.

YT Anleitungen
Citations:
[1] https://youtube.com/watch?v=wI9cJcsvLK0
[2] https://youtube.com/watch?v=Ow2cDaivDVo
[3] https://youtube.com/watch?v=fUZHyoeuwVI
[4] https://youtube.com/watch?v=AioskAgcU2U
[5] https://youtube.com/watch?v=eYvgFWEiNp8
[6] https://youtube.com/watch?v=Se8GdHptD4A
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: VR Commerce / Immersive Shopping

Beitrag von r23 »

Ich habe den Verkaufsraum in einer frühen Alphaphase nun erstellt.

https://blog.r23.de/ab/

wie erwartet müssen wir das 3d Modell weiter optimieren. Die Marmoroberfläche ist ein matschiges Grau geworden.

Der blaue Himmel funktioniert. Wenn man über das Geländer geht, bekommt man nicht unbedingt eine Höhenangst.

Ich möchte in dieser Phase die Navigation von der A-Frame-Erweiterung ausprobieren. Funktioniert Teleportierung.? Navigation mit WASD und Pfeilen.

Danach gehe ich her und baue einen richtigen VR raum... geht so ja gar nicht :(
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: VR Commerce / Immersive Shopping

Beitrag von r23 »

Der VR Raumentwurf, den ich morgen mit veröffentliche ist einfach viel zu peinlich.

Eben kam über twitter folgender Link rein:
https://publish.twitter.com/?query=http ... dget=Tweet

Das Studio hat eine Tutorial Reihe auf YT veröffentlicht.

Darunter auch Baking
https://www.youtube.com/watch?v=jurlwQFw9_k

Beste Grüße

Ralf
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: VR Commerce / Immersive Shopping

Beitrag von r23 »

Auch eben über Twitter erhalten


https://publish.twitter.com/?query=http ... dget=Tweet

Mit Natuerlich können Sie mit @threejs Interaktionen für immersive #WebXR-Erlebnisse integrieren und komponieren
und #R3F!

https://github.com/coconut-xr/natuerlich
r23
Beiträge: 2696
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Re: VR Commerce / Immersive Shopping

Beitrag von r23 »

In meinem Blog ein Artikel über

Was ist Metaverse Commerce & Sales?
https://blog.r23.de/virtual-reality/was ... rce-sales/

Zitat

Wie wird der Einsatz von Virtual Reality und Augmented Reality den Einkaufsprozess revolutionieren?


Virtual Reality und Augmented Reality haben das Potenzial, den Einkaufsprozess in vielerlei Hinsicht zu revolutionieren. Hier sind einige Beispiele, wie VR und AR das Einkaufserlebnis verbessern können:

VR und AR können es den Kunden ermöglichen, Produkte virtuell auszuprobieren, bevor sie sie kaufen. Zum Beispiel können Kunden Kleidung, Schuhe, Schmuck oder Brillen anprobieren, indem sie eine VR-Brille oder eine Smartphone-App verwenden, die ihr Gesicht oder ihren Körper erkennt und die Produkte darauf projiziert. Dies kann die Kundenzufriedenheit erhöhen und die Rücksendequote senken.
VR und AR können auch den Kunden helfen, sich besser vorzustellen, wie ein Produkt in ihrem Zuhause oder an einem anderen Ort aussehen würde. Zum Beispiel können Kunden Möbel, Dekorationen oder Kunstwerke virtuell in ihrem Wohnzimmer platzieren, indem sie eine AR-App verwenden, die die Umgebung scannt und die Produkte darauf anpasst. Dies kann die Kaufentscheidung erleichtern und die Kundenbindung stärken.
VR und AR können zudem den Kunden ein immersives und personalisiertes Einkaufserlebnis bieten, das über das traditionelle Online- oder Offline-Shopping hinausgeht. Zum Beispiel können Kunden virtuell in verschiedene Geschäfte oder Länder reisen, indem sie eine VR-Brille verwenden, die ihnen eine 360-Grad-Ansicht der Umgebung bietet. Sie können auch mit virtuellen Verkäufern oder anderen Kunden interagieren, die ihnen Empfehlungen oder Feedback geben können. Dies kann die Kundenmotivation steigern und die Markenloyalität fördern.

Wie Sie sehen können, gibt es viele Möglichkeiten, wie VR und AR den Einkaufsprozess revolutionieren können. Natürlich gibt es auch Herausforderungen und Risiken, die mit dem Einsatz dieser Technologien verbunden sind, wie zum Beispiel hohe Kosten, technische Probleme, Datenschutzbedenken oder ethische Fragen. Deshalb ist es wichtig, dass sowohl die Anbieter als auch die Kunden sich über die Vor- und Nachteile von VR und AR informieren und verantwortungsvoll damit umgehen.

Das MyOOS Projekt geht jetzt den nächsten Schritt.
In der Vergangenheit hat der Kunde den Shop verlassen und hat das Produkt im AR/VR angesehen.

Jetzt wird der Shop auf Wunsch zu einem VR Raum. Wir werden in den nächsten Wochen viele Herausforderungen lösen müssen.
Antworten