簡體   English   中英

Three.js –將紋理應用於Collada網格會產生意外結果

[英]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));

https://codepen.io/manthrax/pen/ePBZbZ?editors=1001

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM