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);
 ...