Three.js r71 在尝试加载 json 对象时显示黑屏
Three.js r71 is showing black screen when trying to load json object
我将列举我到目前为止所做的事情:
我有一个文件 "pre.obj" 使用 convert_obj_three.py 脚本
转换为 "pre.js"
"pre.obj" 使用 "pre.mtl" 因为它有 material 个图像 "specular.jpg"
"pre.obj","pre.mtl"和"specular.jpg"可以分别看这里
xsportfit.com/threejs/pre.obj
xsportfit.com/threejs/pre.mtl
xsportfit.com/threejs/specular.jpg
我尝试使用 three.js 库以这种方式加载 "pre.js" 文件:
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 100);
camera.position.z = 3;
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
var jsonLoader = new THREE.JSONLoader();
var mesh;
jsonLoader.load('pre.js',function (geometry, materials) {
var material = new THREE.MeshFaceMaterial(materials);
mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);
}
);
var render = function () {
requestAnimationFrame(render);
renderer.render(scene, camera);
};
render();
就像你在这里看到的那样http://xsportfit.com/threejs/没有显示任何内容,我在控制台中收到这些警告:
THREE.WebGLRenderer:不支持 OES_texture_float_linear 扩展。
three.js:11611 THREE.Loader: 透明度已重命名为不透明度
任何帮助都会很棒,谢谢!
您的 materials
数组包含 MeshLambertMaterial
的实例。 MeshLambertMaterial
场景中需要灯光。
一个选择是这样做:
var light = new THREE.DirectionalLight( 0xffffff, 1 );
light.position.set( 10, 10, 10 );
scene.add( light );
three.js r.71
我将列举我到目前为止所做的事情:
我有一个文件 "pre.obj" 使用 convert_obj_three.py 脚本
转换为 "pre.js" "pre.obj" 使用 "pre.mtl" 因为它有 material 个图像 "specular.jpg""pre.obj","pre.mtl"和"specular.jpg"可以分别看这里
xsportfit.com/threejs/pre.obj
xsportfit.com/threejs/pre.mtl
xsportfit.com/threejs/specular.jpg
我尝试使用 three.js 库以这种方式加载 "pre.js" 文件:
var scene = new THREE.Scene(); var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 100); camera.position.z = 3; var renderer = new THREE.WebGLRenderer(); renderer.setSize(window.innerWidth, window.innerHeight); document.body.appendChild(renderer.domElement); var jsonLoader = new THREE.JSONLoader(); var mesh; jsonLoader.load('pre.js',function (geometry, materials) { var material = new THREE.MeshFaceMaterial(materials); mesh = new THREE.Mesh(geometry, material); scene.add(mesh); } ); var render = function () { requestAnimationFrame(render); renderer.render(scene, camera); }; render();
就像你在这里看到的那样http://xsportfit.com/threejs/没有显示任何内容,我在控制台中收到这些警告:
THREE.WebGLRenderer:不支持 OES_texture_float_linear 扩展。 three.js:11611 THREE.Loader: 透明度已重命名为不透明度
任何帮助都会很棒,谢谢!
您的 materials
数组包含 MeshLambertMaterial
的实例。 MeshLambertMaterial
场景中需要灯光。
一个选择是这样做:
var light = new THREE.DirectionalLight( 0xffffff, 1 );
light.position.set( 10, 10, 10 );
scene.add( light );
three.js r.71