Javascript 如何在圆柱体几何图形的外表面上添加文字?
我尝试在圆柱体几何体上添加一些文本…我尝试映射纹理,但当我尝试添加文本时,它不起作用 我只想在圆柱体几何体的外侧映射文本(如纹理),这样,如果形状发生变化,文本将跟随形状并看起来像雕刻在表面上Javascript 如何在圆柱体几何图形的外表面上添加文字?,javascript,three.js,Javascript,Three.js,我尝试在圆柱体几何体上添加一些文本…我尝试映射纹理,但当我尝试添加文本时,它不起作用 我只想在圆柱体几何体的外侧映射文本(如纹理),这样,如果形状发生变化,文本将跟随形状并看起来像雕刻在表面上 var geometry = new THREE.CylinderGeometry(2.5, 2.5, 5, 10000, 1, true, 100); var materialOuter = new THREE.MeshLambertMaterial({ col
var geometry = new THREE.CylinderGeometry(2.5, 2.5, 5, 10000, 1, true, 100);
var materialOuter = new THREE.MeshLambertMaterial({
color: 0x581845
});
var materialOuter = new THREE.MeshBasicMaterial({
// map: new THREE.TextureLoader().load("https://threejs.org/examples/textures/758px-Canestra_di_frutta_(Caravaggio).jpg")
map: new THREE.FontLoader().load('/fonts/gentilis_regular.typeface.json', function (font) {
var textGeo = new THREE.TextGeometry("My Text", {
font: font,
size: 200,
height: 50,
curveSegments: 12,
bevelThickness: 2,
bevelSize: 5,
bevelEnabled: true
});
var textMaterial = new THREE.MeshBasicMaterial({ color: 0xff0000 });
var mesh = new THREE.Mesh(textGeo, textMaterial);
// mesh.position.set(x, y, z);
// scene.add(mesh);
})
});
var materialInner = new THREE.MeshBasicMaterial({
map: new THREE.TextureLoader().load("../images/1.jpg"),
side: THREE.BackSide
});
var materialInner = new THREE.MeshLambertMaterial({ color: 0xd2691e, side: THREE.BackSide });
var meshOuter = new THREE.Mesh(geometry, materialOuter);
var meshInner = new THREE.Mesh(geometry, materialInner);
meshOuter.add(meshInner);
var bottomCylinder = new THREE.Mesh(new THREE.CylinderGeometry(2.5, 2.5, 0.01, 10000, 1, false, 100), new THREE.MeshLambertMaterial({ color: 0xFFC300, wireframe: false, shading: THREE.FlatShading }));
bottomCylinder.position.y = -2.5;
scene.add(bottomCylinder);
scene.add(meshOuter);
var light = new THREE.AmbientLight(0xffffff);
light.position.z = 200;
scene.add(light);
这不是一个充分的答案,但至少我可以告诉你,用开箱即用的
three.js
是不可能做到这一点的。@Mugen87还有其他方法可以做到这一点吗?