我對Three.JS非常陌生,我只是試圖在場景中創建一個三角形,但由於某種原因它沒有被渲染。我不確定我做錯了什麼。這裏是的jsfiddle鏈接:三個JS場景不渲染三角形
http://jsfiddle.net/mi496949/qvvzckh2/
/*global THREE, requestAnimationFrame*/
var scene, camera, renderer, scene, controls, canvasWidth, canvasHeight;
canvasWidth = window.innerWidth;
canvasHeight = window.innerHeight;
function onWindowResize(event) {
'use strict';
camera.aspect = canvasWidth/canvasHeight;
camera.updateProjectionMatrix();
renderer.setSize(canvasWidth, canvasHeight);
}
function randomColor() {
'use strict';
var color = 'rgb(' + Math.floor(Math.random() * 255) + ',' +
Math.floor(Math.random() * 255) + ',' +
Math.floor(Math.random() * 255) + ')';
return (new THREE.Color(color));
}
function init() {
'use strict';
var container = document.createElement('div');
document.body.appendChild(container);
scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera(45, canvasWidth/canvasHeight, 1, 1000);
camera.position.set(0, 0, 0);
camera.lookAt(scene.position);
scene.add(camera);
renderer = new THREE.WebGLRenderer();
renderer.setClearColor(0xccccff);
renderer.setPixelRatio(window.devicePixelRatio);
renderer.setSize(canvasWidth, canvasHeight);
container.appendChild(renderer.domElement);
window.addEventListener('resize', onWindowResize, false);
}
function animate() {
'use strict';
renderer.render(scene, camera);
}
function createTriangle() {
'use strict';
var centerPoint, point1, point2, triangleGeometry, triangle, angle, length1, length2;
angle = (2 * Math.PI)/100;
length1 = 450;
length2 = Math.tan(angle/2) * length1;
triangleGeometry = new THREE.Geometry();
triangleGeometry.vertices.push(new THREE.Vector3(0, 0, 0));
triangleGeometry.vertices.push(new THREE.Vector3(-length2, length1, 0));
triangleGeometry.vertices.push(new THREE.Vector3(length2, length1, 0));
triangleGeometry.faces.push(new THREE.Face3(0, 1, 2));
triangle = new THREE.Mesh(triangleGeometry, new THREE.MeshNormalMaterial());
scene.add(triangle);
}
init();
createTriangle();
animate();
我事先道歉,如果它原來是一些愚蠢的和簡單的,我錯過了。預先感謝您的任何幫助。
謝謝!這是非常有用和有見地的。 –