U-shaped object
by 蔡 育曄
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
<script src="https://threejs.org/examples/js/controls/OrbitControls.js"></script>
CSS
body {
overflow: hidden
}
JavaScript
var renderer, camera, controls, scene;
init();
animate();
function buildAou() {
var aou = new THREE.Mesh();
var meshNormalMat = new THREE.MeshNormalMaterial();
var column1 = new THREE.Mesh(new THREE.BoxGeometry(10, 30, 10), meshNormalMat);
var column2 = new THREE.Mesh(new THREE.BoxGeometry(10, 30, 10), meshNormalMat);
var flat = new THREE.Mesh(new THREE.BoxGeometry(20, 10, 10), meshNormalMat);
column1.position.set(5, 15, -5);
flat.position.set(20, 5, -5);
column2.position.set(35, 15, -5);
aou.add(column1);
aou.add(flat);
aou.add(column2);
return aou;
}
function init() {
renderer = new THREE.WebGLRenderer({
antialias: true
});
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.setClearColor(0x888888);
document.body.appendChild(renderer.domElement);
camera = new THREE.PerspectiveCamera(50, window.innerWidth / window.innerHeight, 1, 1000);
camera.position.y = 40;
camera.position.z = 50; // important
controls = new THREE.OrbitControls(camera, renderer.domElement);
scene = new THREE.Scene();
var gridXZ = new THREE.GridHelper(100, 10, 'red', 'white');
scene.add(gridXZ);
var aou = buildAou();
//scene.add(addAou());
var aou2 = aou.clone();
aou2.rotation.y = Math.PI/6;
//aou2.position.set (10,0,20);
scene.add (aou2);
}
function animate() {
controls.update();
renderer.render (scene, camera);
requestAnimationFrame (animate);
}