繁体   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