只是如何使用的概念THREE.Box3()
:
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 1, 1000);
camera.position.set(5, 8, 13);
var renderer = new THREE.WebGLRenderer({
antialias: true
});
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
var controls = new THREE.OrbitControls(camera, renderer.domElement);
scene.add(new THREE.GridHelper(10, 10, 0x404040, 0x202020));
//trapezoid
var tPoints = [
new THREE.Vector2(0, 1),
new THREE.Vector2(1, 0),
new THREE.Vector2(5, 0),
new THREE.Vector2(5, 1)
];
var tGeom = new THREE.ExtrudeGeometry(new THREE.Shape(tPoints), {
depth: 1,
bevelEnabled: false
});
tGeom.center();
var tMat = new THREE.MeshBasicMaterial({
color: "aqua",
wireframe: true
});
var trapezoid = new THREE.Mesh(tGeom, tMat);
trapezoid.position.set(0, 2.5, 0);
scene.add(trapezoid);
var box3 = new THREE.Box3();
var box3Helper = new THREE.Box3Helper(box3);
scene.add(box3Helper);
renderer.setAnimationLoop(() => {
trapezoid.rotation.z += 0.01;
box3.setFromObject(trapezoid);
renderer.render(scene, camera)
});
body {
overflow: hidden;
margin: 0;
}
<script src="https://threejs.org/build/three.min.js"></script>
<script src="https://threejs.org/examples/js/controls/OrbitControls.js"></script>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句