Как сделать трехмерный текст в трех js
Я пишу script, ссылаясь на этот документ и этот документ
мой код
<script src="https://raw.github.com/mrdoob/three.js/master/build/three.js"></script>
<script>
var text = "my text",
height = 20,
size = 70,
hover = 30,
curveSegments = 4,
bevelThickness = 2,
bevelSize = 1.5,
bevelSegments = 3,
bevelEnabled = true,
font = "optimer", // helvetiker, optimer, gentilis, droid sans, droid serif
weight = "bold", // normal bold
style = "normal"; // normal italic
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
var textGeo = new THREE.TextGeometry( text, {
size: size,
height: height,
curveSegments: curveSegments,
font: font,
weight: weight,
style: style,
bevelThickness: bevelThickness,
bevelSize: bevelSize,
bevelEnabled: bevelEnabled,
});
// var geometry = new THREE.CubeGeometry(10,10,1);
var material = new THREE.MeshBasicMaterial({color: 0x11ff00});
var textGeo = new THREE.Mesh(textGeo, material);
scene.add(textGeo);
camera.position.z = 10;
function render() {
requestAnimationFrame(render);
textGeo.rotation.x += 0.01;
textGeo.rotation.y += 0.01;
renderer.render(scene, camera);
}
render();
</script>
Я могу сделать куб и другую геометрию, слегка изменив код. Но я не могу сделать 3D-текст
используя этот script.
В чем проблема с этим кодом?
пожалуйста, помогите мне
Ответы
Ответ 1
Вам нужно загрузить файл шрифта с помощью шаблона, например:
var loader = new THREE.FontLoader();
loader.load( 'fonts/helvetiker_regular.typeface.json', function ( font ) {
// your code here
} );
См., например, эти примеры three.js:
http://mrdoob.github.com/three.js/examples/canvas_geometry_text.html
http://mrdoob.github.com/three.js/examples/webgl_geometry_text.html
Кроме того, я бы посоветовал не назначать одно и то же имя переменной как вашей геометрии, так и вашей сетке.
three.js r.82
Ответ 2
Я также написал этот учебник о создании 3D-шрифта, так как я нажал несколько исправлений, которые, как я думал, стоили документировать.