所以我试图让一个JSONLoader从threejs.org
开始工作Three.js肯定是有效的,因为我创建一个多维数据集没有问题。但是当我尝试通过JSONLoader加载一个js文件时,没有任何反应。
<html>
<head>
<title>My first Three.js app</title>
<style>
body { margin: 0; }
canvas { width: 100%; height: 100% }
</style>
</head>
<body>
<script src="three.js"></script>
<script>
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 75, window.innerWidth/window.innerHeight, 0.1, 1000 );
var renderer = new THREE.WebGLRenderer( { alpha: true } );
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
// instantiate a loader
var loader = new THREE.JSONLoader();
// load a resource
loader.load(
// resource URL
'logo.js',
// Function when resource is loaded
function ( geometry, materials ) {
var material = new THREE.MultiMaterial( materials );
var object = new THREE.Mesh( geometry, material );
scene.add( object );
}
);
camera.position.z = 5;
var render = function () {
renderer.setClearColor( 0x000000, 0 );
requestAnimationFrame( render );
renderer.render(scene, camera);
};
render();
</script>
</body>
</html>
如标题中所述,代码是从三个自己的网站上复制粘贴的,应该可以正常工作。
有人能帮我弄清楚出了什么问题吗?
这里是logo.js https://jsfiddle.net/380z6096/
脚本的小提琴使用3ds Max JSExporter
从3ds max导出对象我正在使用xampp和chrome。
答案 0 :(得分:0)
您的相机位于您的几何体内。
您可以像这样确定几何体的尺寸
geometry.computeBoundingSphere();
console.log( geometry.boundingSphere );
或
geometry.computeBoundingBox();
console.log( geometry.boundingBox );
缩放几何体
object.scale.multiplyScalar( 0.01 );
或者移回相机。
three.js r.75