Threejs学习
循环生成三角形
import * as THREE from "three";
import { OrbitControls } from "three/examples/jsm/controls/orbitcontrols";
let scene =new THREE.Scene();
let camera = new THREE.PerspectiveCamera(
75,
window.innerWidth / window.innerHeight,
1,
1000
);
camera.position.set(0,0,10);
scene.add(camera);
for(let i=0;i<100;i++){
let boxsize = new THREE.BufferGeometry();
let pointArr = new Float32Array(9);
for(let n=0;n<9;n++){
pointArr[n]=Math.random() * 10 - 5;
}
let color=new THREE.Color(Math.random(),Math.random(),Math.random());
boxsize.setAttribute("position",new THREE.BufferAttribute(pointArr,3));
let boxColor = new THREE.MeshBasicMaterial({
color:color,
transparent:true,
opacity:0.5
});
let box = new THREE.Mesh(boxsize,boxColor);
scene.add(box);
}
let renderer=new THREE.WebGL1Renderer();
renderer.setSize(window.innerWidth,window.innerHeight);
document.body.appendChild(renderer.domElement);
let orbitcontrols = new OrbitControls(camera,renderer.domElement);
orbitcontrols.enableDamping = true;
let axes=new THREE.AxesHelper(5);
scene.add(axes);
function animate(){
renderer.render(scene,camera);
requestAnimationFrame(animate);
}
animate();
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e4412da93126c75e425a5a64ecee9686.png#pic_center)