簡體   English   中英

如何在Three.js中為.obj模型添加顏色?

[英]How can I add colour to a .obj model in Three.js?

我正在用Three.js創建一個WebGL場景,我遇到了下一個問題:我正在嘗試使用Three.js加載.obj模型,並且我想為該.obj模型添加顏色(例如藍色)。 ,而不是mtl紋理。 我嘗試這樣做:

// instantiate a loader
var loader = new THREE.OBJLoader();

// load a resource
loader.load(
    // resource URL
    'model_path.obj',
    // Function when resource is loaded
    function ( object ) {
        scene.add( object );
    }
);

但是下一個錯誤是:

WebGL: INVALID_VALUE: bufferData: no data
Uncaught TypeError: Cannot read property 'length' of undefined
[.CommandBufferContext]GL ERROR :GL_INVALID_VALUE : glVertexAttribPointer: size GL_INVALID_VALUE

如何加載藍色的obj模型以更正錯誤?

非常感謝!

嘿,錯誤似乎文件中沒有頂點。 OBJ文件是具有以下內容的簡單原始文件

v ::::頂點

vt ::::紋理坐標

vn ::::正常

usemtl :::定義紋理,ka(環境),ks(鏡面)和kd(擴散)

嘗試將您的obj導入到攪拌器中,然后像這樣用三角形的面導出: 在此處輸入圖片說明

實際上,如果您不這樣做,索引將以face4格式顯示給您,例如:

0/1/2/3 3/2/4/0 ....等等,在三角剖分之后它們看起來像:

0/1/2 3/2/0 ...

因此,當您更正* .obj時,可以將文件加載到三個解析器中,並將材質添加到子級中。

暫無
暫無

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

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