I ve seen different options to rotate objects but I don
t умеет применять их. Я очень новичок в javascript. Я создал куб и сферу и сумел заставить сферу вращаться вокруг своей оси, но мне нужно, чтобы она вращалась вокруг куба. Любая помощь приветствуется. Это мой код:Как поворачивать сферу вокруг куба в Three.js
<html>
<head>
<title>My first Three.js app</title>
<style>
body { margin: 0; }
canvas { width: 100%; height: 100% }
</style>
</head>
<body>
<script src="js/three.js"></script>
<script>
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(100, window.innerWidth/window.innerHeight, 0.1, 1000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
camera.position.z = 25;
var loader = new THREE.TextureLoader();
var texture = loader.load('crate.jpg');
var geometry = new THREE.BoxGeometry(7, 7, 7);
var material = new THREE.MeshBasicMaterial({map: texture});
var cube = new THREE.Mesh(geometry, material);
cube.rotation.x += 0.6;
cube.rotation.y += 0.6;
scene.add(cube);
var loader = new THREE.TextureLoader();
var texture = loader.load('earth.jpg');
var geometry = new THREE.SphereGeometry(1, 50, 50);
var material = new THREE.MeshBasicMaterial({map: texture});
var sphere = new THREE.Mesh(geometry, material);
scene.add(sphere);
var render = function() {
requestAnimationFrame(render);
sphere.position.set(6, 0, 15);
sphere.rotation.y += 0.01;
renderer.render(scene, camera);
};
render();
</script>
</body>
</html>
Я скопировал код и он, кажется, хорошо и просто, но это Безразлично 'работы. Ошибка, которую я получаю, это «sphereContainer undefined» , хотя он определен. – AstroMiss
Я просто вижу, что я забыл «новое» при определении сферыContainer. Поэтому я отредактировал его на 'new THREE.Object3D()'. Надеюсь, теперь это сработает. Ваше решение кажется намного более сложным для каждого кадра. – Brakebein