Я использую STLLoader.js для рисования компонентов. Каждый компонент отображается правильно с одним определенным цветом, но это не выглядит как компонент реального мира.Проблемы с файловыми файлами STL
Над изображения является реализация моего Three.js с помощью STLLoader.js (Binary файл STL используется), как я прочитал этот формат поддерживает цвета компонентов.
Ниже изображено одно из моих оконных программ, и там я использовал файл Step. Я хочу, чтобы компонент выглядел так же, как в нижнем изображении, поэтому он выглядит как компонент реального мира.
Есть ли способ, чтобы получить правильный цветной вывод в three.js? Я много искал, но не смог реализовать его. Пожалуйста, помогите мне пойти в прямом направлении.
var loader = new THREE.STLLoader();
loader.addEventListener('load', function (event) {
var material = new THREE.MeshPhongMaterial({ color: 0x75D3DC, ambient: 0x75D3DC, specular: 0x75D3DC, shininess: 200/*, vertexColors: THREE.VertexColors */});
var mesh = new THREE.Mesh(geometry, material);
mesh.position.x = x - boardMaxX + w/2 ;
mesh.position.y = - 5 ;
mesh.position.z = z - boardMaxY + h/2 ;
mesh.rotation.set((rotation * Math.PI/180.0), 0, 0);
mesh.scale.set(2, 2, 2);
mesh.castShadow = true;
mesh.receiveShadow = true;
board.add(mesh);
objects.push(mesh);
i = i + 5;
componenetDraw(componentArray[i] * scaleX, -7, componentArray[i + 1] * scaleY, componentArray[i + 2], componentArray[i + 4]);
});
loader.load(fileName);
}
Приведенный выше код используется для чтения STL-файла. Но у меня нет кода для чтения файла STEP.
Формат STL не поддерживает цвета. Это не имеет никакого отношения к загрузчику. – gaitat
@gaitat Есть ли другой способ сделать то же самое, используя другой формат файла? –
@Shiladittya Я не уверен, что понимаю вопрос. Является ли [это] (http://ar3f.in/goochShading.html) затенением, которое вы хотите достичь? – WestLangley