【问题标题】:Three.js sphere三.js 球体
【发布时间】:2025-12-21 04:50:10
【问题描述】:

在下面的代码行中

mesh = new THREE.Mesh(new THREE.SphereGeometry(500,60,40),
           new THREE.MeshBasicMaterial({map:texture,overdraw:true}));

值 60 和 40 是什么?它们对球体有什么影响?

mesh.scale.x = -1;

上面的语句是做什么的??

我浏览了很多文章,但没有一篇解释上述内容,甚至 three.js 文档都给出了使用语法而不是描述。

【问题讨论】:

    标签: javascript three.js


    【解决方案1】:

    看看Three.js的文档:

    http://threejs.org/docs/#Reference/Extras.Geometries/SphereGeometry

    所以6040 是球体在水平和垂直方向上划分的段数。

    mesh.scale.x = -1; 将“由内向外”反转网格。 通常,同一轴的scale 值将顶点在相应轴上的位置乘以该轴的比例因子。因此,x 轴上的缩放将乘以顶点位置的 x 分量。 尽量避免负比例因子,它可能会导致非常不良的影响。还建议始终在所有三个轴上均匀缩放网格,例如:

    var factor = 2.0;
    mesh.scale = new THREE.Vector3(factor, factor, factor);
    

    【讨论】:

    • 谢谢。是否可以在球体上使用多个纹理?或者用不同的图像纹理球体的“n”个片段?
    • 请您解决这个问题*.com/questions/20350251/…