#javascript #three.js
Вопрос:
Я использую
let map = new THREE.TextureLoader().load( 'textures/uv_grid_opengl.jpg' );
map.wrapS = map.wrapT = THREE.RepeatWrapping;
map.anisotropy = 16;
let material = new THREE.MeshStandardMaterial( { map: map, color: 0xFF0000, side: THREE.DoubleSide } );
Но текстура не загружается, если она является геометрией внутри загрузчика
import { DRACOLoader } from './three/examples/jsm/loaders/DRACOLoader.js';
const dracoLoader = new DRACOLoader();
dracoLoader.setDecoderPath( 'three/examples/js/libs/draco/' );
dracoLoader.setDecoderConfig( { type: 'js' } );
dracoLoader.load(url, function ( geometry ) {
geometry.computeVertexNormals();
const mesh = new THREE.Mesh(geometry, material);
mesh.castShadow = true;
mesh.receiveShadow = true;
group.add(mesh)
dracoLoader.dispose();
} );
введите описание изображения здесь
Если я использую обычную геометрию, то все работает
geometry = new THREE.BoxGeometry(3,3,3);
model = new THREE.Mesh( geometry, material );
scene.add(model)
введите описание изображения здесь
Как я могу это исправить?
Комментарии:
1. Boxgeometry генерирует УФ-координаты. Вы уверены, что загружаемый объект имеет УФ-координаты?