我目前正在一个项目上,我可以看到一切都按预期加载,并且我不断阅读Three.js文档,以查看发生了什么问题,但是我没有尝试过。
通过检查控制台,我可以看到Collada文件已很好加载,并且进度显示为“ 100%Loaded”。
我可以看到画布本身已加载,并且画布的颜色也已加载。
我还可以看到通过添加console.log()可以使canvas动画正常工作
请查看下面的代码,希望你们能对我的黑暗情况有所了解。
jQuery(window).load(function($){
var w = jQuery('.topSection .design').width();
var h = jQuery('.topSection .design').height();
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(45, w/h, 1, 1000);
var renderer = new THREE.WebGLRenderer();
var loader = new THREE.ColladaLoader();
var box;
function init() {
loader.load('definition3D.dae', function (result) {
scene.add(result.scene);
camera.lookAt(scene.position);
}, function (xhr) {
console.log( Math.ceil(xhr.loaded / xhr.total * 100) + '% loaded' );
}
);
renderer.setClearColor(0xdddddd);
renderer.setSize(w, h);
jQuery('.topSection .design').append(renderer.domElement);
console.log(loader);
}
var animate = function () {
requestAnimationFrame(animate);
renderer.render(scene, camera);
};
init();
animate();
});
先感谢您
如果未指定相机位置,并且模型的中心在0,0,0中,则两个元素都位于同一位置,而collada材质没有双面,则您可能看不到任何东西。
首先尝试将相机移离模型远一点,然后可以使用助手BoundingBoxHelper查看网格(或比例尺)的实际位置。
var bbox = new THREE.BoundingBoxHelper( result.scene, 0xff0000);
bbox.update();
scene.add( bbox );
因此,您可以查看模型的中心是否错误或尺寸是否很小。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句