javascript - three.js 将纹理应用于 STL 网格

标签 javascript three.js

我正在加载从 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' );

最佳答案

您可以试试 geometry.computeTangents()。一旦我添加了我的 STL 文件能够有一个纹理,虽然......纹理不能正确地“适合”模型,因为没有 UVs。

关于javascript - three.js 将纹理应用于 STL 网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16064802/

相关文章:

javascript - 当旋转超过 90° 时, Three.js 中的四元数旋转会变得困惑

javascript - .points three.js 内的不透明度/大小

javascript - Three.js 旋转面向对象

javascript - DateRangePicker - 将范围选择与动态预设相结合

javascript - 如何在鼠标停止时显示气球工具提示

javascript - ddSlick 在选择中具有动态创建的选项字段

javascript - 动态$http GET方法分配多个变量不同的数据

javascript - Three.js 中使用 ShaderMaterial 更改顶点位置的阴影贴图问题

three.js - Three.js 中的粒子与粒子系统

javascript - 默认选择前置选项