hw0921
by Millieyan
HTML
<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/stats.js/r16/Stats.min.js"></script>
<script src="https://rawgit.com/mrdoob/three.js/master/examples/js/loaders/MTLLoader.js"></script>
<script src="https://rawgit.com/mrdoob/three.js/master/examples/js/loaders/OBJLoader.js"></script>
JavaScript
var renderer, camera, controls, scene, angle;
var train, w, w1, w2, w3;
var gridxz, axes, geometry, material, block, loader;
init();
animate();
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.z = 50;
controls = new THREE.OrbitControls(camera, renderer.domElement);
scene = new THREE.Scene();
gridXZ = new THREE.GridHelper(100, 10, 'red', 'white');
//scene.add(gridXZ);
axes = new THREE.AxisHelper(10);
//scene.add (axes);
train = new THREE.Group();
geometry = new THREE.BoxGeometry(20, 8, 10)
material = new THREE.MeshNormalMaterial()
mesh = new THREE.Mesh(geometry, material)
head = new THREE.Mesh(new THREE.BoxGeometry(5, 10, 5), new THREE.MeshNormalMaterial());
head.position.y = 8;
head.position.x = 7.5;
circle = new THREE.Mesh(new THREE.TorusGeometry(3, 1, 30, 200), new THREE.MeshNormalMaterial());
circle.position.set(6, -2, 5);
circle2 = new THREE.Mesh(new THREE.TorusGeometry(3, 1, 30, 200), new THREE.MeshNormalMaterial());
circle2.position.set(6, -2, -5);
circle3 = new THREE.Mesh(new THREE.TorusGeometry(3, 1, 30, 200), new THREE.MeshNormalMaterial());
circle3.position.set(-8, -2, 5);
circle4 = new THREE.Mesh(new THREE.TorusGeometry(3, 1, 30, 200), new THREE.MeshNormalMaterial());
circle4.position.set(-8, -2, -5);
circle5 = new THREE.Mesh(new THREE.TorusGeometry(3, 1, 30, 200), new THREE.MeshNormalMaterial());
circle5.position.set(-1, -2, 5);
circle6 = new THREE.Mesh(new THREE.TorusGeometry(3, 1, 30, 200), new THREE.MeshNormalMaterial());
circle6.position.set(-1, -2, -5);
loader = new THREE.TextureLoader();
loader.crossOrigin = '';
var texture =...