gpt4 book ai didi

javascript - 如何使用three.js创建一个球体?

转载 作者:行者123 更新时间:2023-12-05 00:37:50 25 4
gpt4 key购买 nike

我正在使用three.js 制作一个球体,但输出只是一个黑屏,如图所示。
SphereBlankScreen
我使用的代码是:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>My first three.js app</title>
<style>
body { margin: 0; }
</style>
</head>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r79/three.min.js"></script>
<script>
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );

const renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );

const geometry = new THREE.SphereGeometry( 15, 32, 16 );
const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
const sphere = new THREE.Mesh( geometry, material );
scene.add( sphere );

camera.position.z = 5;

function animate() {
requestAnimationFrame( animate );

sphere.rotation.x += 0.01;
sphere.rotation.y += 0.01;

renderer.render( scene, camera );
};

animate();
</script>
</body>
</html>

我无法解释为什么代码无法渲染球体。什么地方出了错?

最佳答案

你的相机在球体内。将其移离原点更远一点,如下面的示例所示:

const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
camera.position.z = 50;

const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);

const geometry = new THREE.SphereGeometry(15, 32, 16);
const material = new THREE.MeshBasicMaterial({
color: 0xffff00
});
const sphere = new THREE.Mesh(geometry, material);
scene.add(sphere);

function animate() {
requestAnimationFrame(animate);

sphere.rotation.x += 0.01;
sphere.rotation.y += 0.01;

renderer.render(scene, camera);
};

animate();
body {
margin: 0;
}
<script src="https://cdn.jsdelivr.net/npm/three@0.143/build/three.min.js"></script>

关于javascript - 如何使用three.js创建一个球体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73265217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com