我正在使用Three.JS并导入了一个从clara.io导出为JSON的对象。我的问题是该对象在画布中不可见,我得到的是一个黑色正方形,其大小与我在变量中设置的相同(400和300像素)。
这是我的代码:
var WIDTH = 400,
HEIGHT = 300;
// set some camera attributes
var VIEW_ANGLE = 45,
ASPECT = WIDTH / HEIGHT,
NEAR = 1,
FAR = 100000;
var $container = $('#wrapper');
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
var camera =
new THREE.PerspectiveCamera(
VIEW_ANGLE,
ASPECT,
NEAR,
FAR);
scene = new THREE.Scene();
scene.fog = new THREE.FogExp2(0xcccccc, 0.002);
camera.position.z = 300;
scene.add(camera);
camera.z = 100;
renderer.setSize(WIDTH, HEIGHT);
$container.append(renderer.domElement);
var ambientLight = new THREE.AmbientLight(0x111111);
scene.add(ambientLight);
var loader = new THREE.ObjectLoader();
loader.load("js/suzanne-blender.json", function (obj) {
scene.add(obj)
});
renderer.render(scene, camera);
我希望看到的是带有材料的模型,因为我是从clari.io导出的。感谢。
答案 0 :(得分:1)
我刚刚尝试将JSON加载到ThreeJS编辑器中:http://threejs.org/editor/(只需拖放它。)然后我添加了一盏灯并将灯光拖到中心位置。我可以在编辑器中看到Suzanne模型很好。这意味着问题必须出在您用于可视化模型的代码中。也许你只需要在一侧添加一个点光源来正确照亮物体?
致以最诚挚的问候,
本休斯顿