Witam, ostatnio zacząłem naukę biblioteki Three.js. Oczywiście jak to na starcie bywa u mnie zaczynam z poradników. Zrobiłem kod tak jak Pan Roman z kanału Hello Roman. Efekt tego taki, że wyświetla mi czarną scenę, ale nie wyświetla obiektu. Czyżby coś było nie tak ze światłem? Albo jestem ślepy albo mam gdzieś literówkę i tego nie widzę.
Proszę o pomoc i pozdrawiam.
Kod:
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(24, window.innerWidth / window.innerHeight, 0.1, 1000);
const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
const colorRed = new THREE.Color('hsl(40, 100%, 64%)');
const colorPink = new THREE.Color('hsl(250, 100%, 64%)');
const geometry = new THREE.BoxGeometry({
width: 20,
height: 20,
depth: 50,
});
const material = new THREE.MeshPhongMaterial({
color: colorRed,
shininess: 80,
});
const cube = new THREE.Mesh(geometry, material);
const light = new THREE.PointLight(colorPink, 2);
light.position.z = 20;
light.position.y = -20;
light.position.x = -40;
scene.add(cube);
scene.add(light);
camera.position.z = 25;
renderer.render(scene, camera);
1. Konsola nie wyrzuca błędów.
2. Raczej to nie wina światła, ponieważ zmieniłem materiał MeshPhongMaterial na MeshBasicMaterial (który nie potrzebuje światła) i efekt jest ten sam.