homework3
by Millieyan
HTML
<div id="info">
Body Helper
<br>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/84/three.min.js"></script>
<script src="https://threejs.org/examples/js/controls/OrbitControls.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/dat-gui/0.5/dat.gui.min.js"></script>
CSS
#info {
position: absolute;
top: 0px;
width: 100%;
padding: 10px;
text-align: center;
color: #ffff00
}
body {
overflow: hidden;
}
JavaScript
var scene, renderer, camera;
var body, lowerArm, upperArm;
var gcontrols = {
sZ: 0.01, // s for shoulder
sX: 0.02,
sY: 0.01,
eX: 0.03, // e for elbow
sZb: 0.01, // s for shoulder
sXb: 0.02,
sYb: 0.01,
eXb: 0.03,
posY: 0.01,
};
///////////////////////
init();
animate();
function buildBody () {
var body = new THREE.Object3D();
let boxGeometry;
boxGeometry = new THREE.BoxGeometry(50, 100, 30);
let torso = new THREE.Mesh(boxGeometry, new THREE.MeshBasicMaterial({color:0x000000}));
torso.position.set(0, 50, 0);
body.add(torso);
let arm;
upperArm = new THREE.Object3D();
boxGeometry = new THREE.BoxGeometry(10, 40, 10);
arm = new THREE.Mesh(boxGeometry, new THREE.MeshBasicMaterial({color:0x000000}));
upperArm.add(arm);
arm.position.set(-5, -20, 0);
body.add(upperArm);
upperArm.position.set(-25, 100, 0);
lowerArm = new THREE.Object3D();
boxGeometry = new THREE.BoxGeometry(10, 60, 10);
arm = new THREE.Mesh(boxGeometry, new THREE.MeshBasicMaterial({color:0x000000}));
lowerArm.add(arm);
arm.position.set(-5, -30, 0);
lowerArm.position.set(0, -40, 0);
upperArm.add(lowerArm);
upperArmb= new THREE.Object3D();
boxGeometry = new THREE.BoxGeometry(10, 40, 10);
armb = new THREE.Mesh(boxGeometry, new THREE.MeshBasicMaterial({color:0x000000}));
upperArmb.add(armb);
armb.position.set(5, -20, 0);
body.add(upperArmb);
upperArmb.position.set(25, 100, 0);
lowerArmb = new THREE.Object3D();
boxGeometry = new THREE.BoxGeometry(10, 60, 10);
armb= new THREE.Mesh(boxGeometry, new THREE.MeshBasicMaterial({color:0x000000}));
lowerArmb.add(armb);
armb.position.set(5, -30, 0);
lowerArmb.position.set(0, -40, 0);
upperArmb.add(lowerArmb);
let leg;
upperleg = new THREE.Object3D();
boxGeometry = new THREE.BoxGeometry(10, 70, 10);
leg = new THREE.Mesh(boxGeometry, new THREE.MeshBasicMaterial({color:0x000000}));
upperleg.add(leg);
leg.position.set(5, -120, 0);
body.add(upperleg);
...