【发布时间】:2016-05-18 00:30:08
【问题描述】:
我有 .obj 模型,而不是我在 c4d 中制作(找到)并以 1 米为单位的比例导出它。比我尝试使用 OBJLoader 在 Three.js 中加载它,没有错误,但模型没有显示。这有什么问题
<script src="http://threejs.org/build/three.js"></script>
<script src="http://threejs.org/examples/js/loaders/OBJLoader.js"></script>
<body style="margin:0;padding:0;">
</body>
<script>
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(45, innerWidth / innerHeight, 1, 2000);
var render = new THREE.WebGLRenderer();
camera.position.set(0, 0, 53);
render.setSize(innerWidth, innerHeight);
document.body.appendChild(canvas = render.domElement);
render.setClearColor(0x111111, 1);
function loadScene() {
var loader = new THREE.OBJLoader();
loader.load("./fox.obj", function(model) {
model.traverse(function(child) {
if (child instanceof THREE.Mesh) {
child.material.color = 0xffb830;
}
});
model.position.set(0, 0, -53);
scene.add(model);
window.model = model;
});
render.render(scene, camera);
}
window.onload = loadScene;
</script>
【问题讨论】:
-
不是答案:将 javascript 放在 head 或 body 中。
-
那根本不重要
-
您可以尝试使用boundingbox helper threejs.org/docs/#Reference/Extras.Helpers/BoundingBoxHelper 来检查加载模型的位置和大小是否正确。
-
这段代码没有渲染循环
标签: javascript three.js