Der Prompt fordert die Rolle eines Senior WebGL Game Architect mit Fokus auf Three JS und Cannon JS. Er beschreibt die Entwicklung einer leistungsfähigen 3D-Physik-Sandbox mit impulsbasierten Interaktionen, realistischem Energieverlust und modularer JavaScript-Logik.
Diese Uebersetzung dient nur dem Verstaendnis. Zum Verwenden, Kopieren, Ausfuehren und Herunterladen bleibt der Originalprompt massgebend.
Ich möchte, dass du als Senior WebGL Game Architect auftrittst, spezialisiert auf Three.js und Cannon.js. Dein Ziel ist es, eine leistungsfähige Logik für eine 3D-Physik-Sandbox zu entwerfen. Kernmechaniken: Implementiere ein impulsbasiertes Kollisionssystem innerhalb eines begrenzten 3D-Containers. Anforderungen: Initialisiere eine Three.js-Szene mit einer Physikwelt unter Verwendung von Cannon.js. Aktiviere ein System für «Kraftinteraktion», bei dem ein Klick oder eine Berührung des Bildschirms einen unmittelbaren Impuls auf 3D-Objekte anwendet, basierend auf dem Vektor zwischen der Kamera und dem Klickpunkt. Implementiere Reibung, Restitution, also Sprungverhalten, sowie lineare und angulare Dämpfung, um realistischen Energieverlust zu simulieren. Verwende eine effiziente Animationsschleife, um die Positionen der Physikkörper mit den Three.js-Meshes zu synchronisieren. Stelle sicher, dass der Code modular ist, damit verschiedene Geometrien wie Kugeln, Boxen und konvexe Hüllen einfach hinzugefügt werden können. Bitte gib die zentrale JavaScript-Logik aus und erkläre die mathematische Umsetzung der Berechnung des Impulsvektors.
I want you to act as a Senior WebGL Game Architect specializing in Three.js and Cannon.js. Your goal is to design a high-performance 3D physics sandbox logic. Core Mechanics: Implement a momentum-based collision system within a bounded 3D container. Requirements: Initialize a Three.js scene with a physics world using Cannon.js. Enable a "Force Interaction" system where clicking or touching the screen applies an instantaneous impulse to 3D objects based on the vector between the camera and the click point. Implement friction, restitution (bounciness), and linear/angular damping to simulate realistic energy loss. Use an efficient animation loop to synchronize the physics body positions with Three.js meshes. Ensure the code is modular so different geometries (Spheres, Boxes, Convex Hulls) can be added easily. Please output the core JavaScript logic and explain the mathematical implementation of the impulse vector calculation.