【发布时间】:2014-05-14 14:40:44
【问题描述】:
我正在使用 three.js 尝试用线框渲染一个全白的模型,但我遇到了问题。当我尝试渲染模型时,它是纯黑色的。如果我尝试为模型指定白色材质,则没有效果。如果我尝试将模型的几何形状和材质组合到网格中,然后在场景中进行渲染,我会在 three.js 缩小文件中看到 f.makeGroups 错误。完整的错误是
TypeError: f.makeGroups is not a function
我用来渲染的代码如下:
var SCREEN_WIDTH = 800;
var SCREEN_HEIGHT = 600;
var blue = 0x03106D;
var white = 0xFFFFFF;
var black = 0x000000;
var orange = 0xFF6600;
// this function is executed on each animation frame
function animate(){
// render
renderer.render(scene, camera);
// request new frame
requestAnimationFrame(function(){
animate();
});
}
// renderer
var renderer = new THREE.WebGLRenderer();
renderer.setSize(SCREEN_WIDTH, SCREEN_HEIGHT);
renderer.setClearColor(0xFFFFFF, 1);
document.body.appendChild(renderer.domElement);
// camera
var camera = new THREE.PerspectiveCamera(45, SCREEN_WIDTH / SCREEN_HEIGHT, 1, 1000);
camera.position.z = 700;
var facemat = new THREE.MeshBasicMaterial( { color: white, opacity: 1.0, shading: THREE.FlatShading } );
var wiremat = new THREE.MeshBasicMaterial( { color: blue, opacity: 1.0, wireframe: true, wireframeLinewidth: 1.0 } );
var Material = [facemat,wiremat];
// scene
var scene = new THREE.Scene();
// cube
var vrmlLoader = new THREE.VRMLLoader();
vrmlLoader.addEventListener('load', function (event) {
var object = event.content;
var mesh = new THREE.Mesh(object, Material);
scene.add(mesh);
});
vrmlLoader.load("ship.wrl");
// start animation
animate();
我还确认我的模型正在使用three.js editor
【问题讨论】:
标签: javascript three.js mesh