Javascript 使用Three.js编辑三维文本属性以定位和对齐宽度立方体

Javascript 使用Three.js编辑三维文本属性以定位和对齐宽度立方体,javascript,text,three.js,Javascript,Text,Three.js,我使用Three.js创建了fiddle,其中显示了“线条”和“立方体”,以显示立方体的指南。这是同样的小提琴: 现在,我还想添加文本,以便显示每个指南的标题,如下图所示,哪一行是“宽度”、“高度”或“长度”: 当我更新Three.js文件并包含字体js文件时,文本工作正常 现在的问题是如何对齐文本,它具有向后弯曲的效果 // 3D TEXT var materialFront = new THREE.MeshBasicMaterial({ color: 0xff0000 })

我使用Three.js创建了fiddle,其中显示了“线条”和“立方体”,以显示立方体的指南。这是同样的小提琴:

现在,我还想添加文本,以便显示每个指南的标题,如下图所示,哪一行是“宽度”、“高度”或“长度”:

当我更新Three.js文件并包含字体js文件时,文本工作正常

现在的问题是如何对齐文本,它具有向后弯曲的效果

// 3D TEXT    
var materialFront = new THREE.MeshBasicMaterial({
    color: 0xff0000
});
var materialSide = new THREE.MeshBasicMaterial({
    color: 0x000088
});
var materialArray = [materialFront, materialSide];
var textGeom = new THREE.TextGeometry("Hello, World!", {
    size: 12,
    height: 4,
    curveSegments: 3,
    font: "arial",
    weight: "bold",
    style: "normal",
    bevelThickness: 1,
    bevelSize: 2,
    bevelEnabled: true,
    material: 0,
    extrudeMaterial: 1
});
// font: helvetiker, gentilis, droid sans, droid serif, optimer
// weight: normal, bold

var textMaterial = new THREE.MeshFaceMaterial(materialArray);
var textMesh = new THREE.Mesh(textGeom, textMaterial);

textGeom.computeBoundingBox();
var textWidth = textGeom.boundingBox.max.x - textGeom.boundingBox.min.x;

textMesh.position.set(-0.5 * textWidth, 50, 100);
textMesh.rotation.x = -Math.PI / 4;
cube.add(textMesh);
这是3D文本代码的小提琴:

如果您需要任何其他信息,请告诉我


请提出建议。

我希望您意识到,当库当前处于r68I时,您的fiddle正在使用three.js版本r57,但它仍然不工作:您是否查看了fiddle返回的错误<代码>取消对具有正常重量和正常样式的字体helvetiker的捕获丢失。您没有加载字体。在包含字体后,它现在可以工作了。但是现在文本位置不正确。。我不确定如何修复字体弯曲的样式和位置。或者有没有其他简单的方法在立方体附近添加文本?