gpt4 book ai didi

javascript - 如何在 Three.js 中创建多个几何图形?

转载 作者:行者123 更新时间:2023-12-03 06:00:47 25 4
gpt4 key购买 nike

您好,我目前使用 Three.js,我想在轴的 4 个部分创建 4 个立方体。我能够创建一个正在旋转的立方体,但如何创建其他三个立方体?我已经尝试过clone()函数和position.set,但我似乎无法在不同的轴上创建另一个立方体。感谢您的帮助或指导这是我的 JavaScript

var camera;
var scene;
var renderer;
var mesh;

init();
animate();

function init() {

scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 1, 1000);

var light = new THREE.DirectionalLight( 0xffffff );
light.position.set( 0, 1, 1 ).normalize();
scene.add(light);

var geometry = new THREE.CubeGeometry( 10, 10, 10);
var material = new THREE.MeshPhongMaterial( { ambient: 0x050505, color: 0x0033ff, specular: 0x555555, shininess: 30 } );

mesh = new THREE.Mesh(geometry, material );
mesh.position.z = -50;
scene.add( mesh );

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

window.addEventListener( 'resize', onWindowResize, false );

render();
}

function animate() {
mesh.rotation.x += .04;
mesh.rotation.y += .02;

render();
requestAnimationFrame( animate );
}

function render() {
renderer.render( scene, camera );
}

function onWindowResize() {
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize( window.innerWidth, window.innerHeight );
render();
}

最佳答案

您是否已将克隆添加到场景中?

var newMesh = mesh.clone();
newMesh.position.x = 50;
scene.add(newMesh);

您可以看到一个正在运行的codepen here .

关于javascript - 如何在 Three.js 中创建多个几何图形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39756396/

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