JSFiddle - React, Tailwind, and code Playground
by giperon
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
JavaScript
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(50, 500 / 400, 0.1, 1000);
const axesHelper = new THREE.AxesHelper(5);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(500, 400);
document.body.appendChild(renderer.domElement);
var geometry = new THREE.SphereGeometry(3, 50, 50, 0, Math.PI * 2, 0, Math.PI * 2);
var material = new THREE.MeshNormalMaterial();
var cube = new THREE.Mesh(geometry, material);
scene.add(cube);
scene.add(axesHelper)
camera.position.z = 10;
const rotationQuaternion = new THREE.Quaternion();
const rotationVector = new THREE.Vector3(0.5, 0, 0);
const rotationSpeed = 0.07;
const rotation = rotationQuaternion.setFromAxisAngle(
rotationVector,
rotationSpeed
);
var render = function() {
camera.position.applyQuaternion(rotation);
camera.up.applyQuaternion(rotation);
camera.lookAt(cube.position)
renderer.render(scene, camera);
requestAnimationFrame(render);
};
render();