【问题标题】:three.js applying texture to stl meshthree.js 将纹理应用于 stl 网格
【发布时间】:2013-04-10 11:54:58
【问题描述】:

我正在加载从 Rhino 导出的 STL。一切正常,但是,当我尝试将简单纹理应用到网格时,根本不会渲染 STL 对象。

我错过了什么

代码如下:

var diamondTexture = THREE.ImageUtils.loadTexture('images/diamond.jpg');
...
var loader = new THREE.STLLoader();
loader.addEventListener( 'load', function ( event ) {

    var geometry = event.content;
    stones = new THREE.Mesh( geometry, new THREE.MeshPhongMaterial({color:0x99CC3B, ambient:0x99CC3B, map:diamondTexture}) );

    scene.add( stones );

} );
loader.load( 'models/jwl0020-stones.stl' );

【问题讨论】:

  • 问题是,据我所知,STL 不存储 UV。我们还没有紫外线发生器,因此您必须自己创建它们。

标签: javascript three.js


【解决方案1】:

你可以试试geometry.computeTangents()。一旦我添加了我的 stl 文件能够具有纹理...由于没有 UV,纹理不能正确“适合”模型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-15
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-12
    • 1970-01-01
    相关资源
    最近更新 更多