【发布时间】:2021-11-03 13:37:53
【问题描述】:
我用 ThreeJS 创建了一个简单的模型查看器。 我从 .mtl 和 .obj(带纹理)文件加载。 除了纹理,一切都很好。 如果我使用环境光,纹理会显得褪色。 如果我禁用环境光,则根本不会显示纹理。 我在带有 WebView 的 Android 应用程序中运行它。
camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 1000);
camera.position.z = 3;
scene = new THREE.Scene();
ambient = new THREE.AmbientLight(0x404040);
scene.add(ambient);
renderer = new THREE.WebGLRenderer();
renderer.setPixelRatio(window.devicePixelRatio);
renderer.setSize(window.innerWidth, window.innerHeight);
container.appendChild(renderer.domElement);
controls = new THREE.OrbitControls(camera, renderer.domElement);
controls.enableDamping = true;
controls.dampingFactor = 0.25;
controls.enableZoom = true;
window.addEventListener('resize', onWindowResize, false);
var mtlLoader = new THREE.MTLLoader();
mtlLoader.load('../foods_models/7/mtl.mtl', function (materials) {
materials.preload();
if (materials.materials.default != undefined) {
materials.materials.default.map.magFilter = THREE.NearestFilter;
materials.materials.default.map.minFilter = THREE.LinearFilter;
}
var objLoader = new THREE.OBJLoader();
objLoader.setMaterials(materials);
objLoader.load('../foods_models/7/obj.obj', function (object) {
scene.add(object);
zoomCameraToSelection(camera, controls, object);
});
});
【问题讨论】:
标签: javascript android textures