【发布时间】:2021-11-20 19:39:54
【问题描述】:
我在 react(next js) 中使用 Three.js,我创建的网格被复制了多次
import * as THREE from 'three';
function Index() {
if (process.browser) {
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);
renderer.setPixelRatio(window.devicePixelRatio);
document.body.appendChild(renderer.domElement);
console.log(scene.children);
const geometry = new THREE.BoxGeometry();
const material = new THREE.MeshBasicMaterial({color: 0x00ff00});
const cube = new THREE.Mesh(geometry, material);
scene.add(cube);
console.log(scene.children);
camera.position.z = 12;
renderer.render(scene, camera);
return <div> </div>
}
return null;
}
export default Index;
像这样:
然后控制台选项卡有:
目标是在屏幕上显示 1 个立方体而不滚动(水平和垂直)。
我怀疑是 document.body.appendChild 的问题,我也没有找到替代方法。
【问题讨论】:
标签: javascript reactjs three.js next.js