[英]Three.js – Applying texture to Collada mesh yields unexpected result
在Three.js ColladaLoader示例之后 ,我將Cinema4D蘇打罐模型( 由4個網格組成 )導出到了.dae文件中。 我想向其中一個網格物體(罐體)添加紋理。
在Cinema4D中,我已經基於網格(球形)的UV貼圖制作了紋理 。 但是,當我嘗試將紋理應用於網格時,它只會顯示純白色填充。 我已經在Codepen中添加了整個代碼。 以下相關代碼,為簡潔起見進行了編輯:
loader = new THREE.ColladaLoader();
loader.load('can.dae', function (collada) {
can = collada.scene;
can.traverse(function (node) {
var textureLoader
if (node.name == 'wrapper') {
textureLoader = new THREE.TextureLoader();
textureLoader.load('wrapper.png', function (texture) {
node.material = new THREE.MeshBasicMaterial({
map: texture
});
node.material.needsUpdate = true;
});
}
});
scene.add(can);
});
結果說明。 如您所見,罐的包裝不是提供的紅色wrapper.png ,而是純白色填充。 我嘗試過嘗試映射和包裝模式,但無濟於事。 任何幫助非常感謝!
僅供參考:我已經排除了CORS問題。
我在您的加載器中添加了一個多維數據集,並給它提供了該材料,它就可以正常工作..因此,這意味着您的罐頭網格沒有為其分配適當的UV坐標。.也許它是在創作軟件中使用自動圓柱映射的,不出口紫外線? 您在編寫什么軟件?
scene.add(new THREE.Mesh(new THREE.BoxGeometry(1,1,1),node.material));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.