2012-11-05 13 views
15

tôi viết một kịch bản bằng cách tham khảo this docthis doc mã của tôi làLàm thế nào làm cho văn bản 3d trong ba js

<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> 

tôi có thể làm khối và hình học khác bằng cách thay đổi mã hơi. Nhưng tôi không thể tạo văn bản 3d bằng tập lệnh này. vấn đề với mã này là gì? my error in console is hãy giúp tôi

+0

Bất kỳ lỗi nào trong bảng điều khiển? – mrdoob

+0

đây là lỗi LoạiError: this.faces [this.face] không được xác định [Break On This Error] \t trả lại this.faces [this.face] [this.weight] [this.style]; –

Trả lời

20

Bạn cần phải tải một tập tin phông chữ sử dụng một mô hình như vậy:

var loader = new THREE.FontLoader(); 

loader.load('fonts/helvetiker_regular.typeface.json', function (font) { 

    // your code here 

}); 

Xem, ví dụ, những three.js ví dụ:

http://mrdoob.github.com/three.js/examples/canvas_geometry_text.html http://mrdoob.github.com/three.js/examples/webgl_geometry_text.html

Ngoài ra, tôi khuyên bạn không nên gán cùng tên biến cho cả hình học và lưới của bạn.

three.js r.82

+1

Lưu ý tiêu chuẩn bây giờ là json: 'loader.load ('fonts/helvetiker_regular.typeface.json', ..' – bebbi

+1

@bebbi Cảm ơn bạn. – WestLangley

8

Tôi cũng đã viết this tutorial vào việc tạo ra một phông chữ 3d, kể từ khi tôi nhấn một vài gotchas mà tôi nghĩ là giá trị tài liệu.

Các vấn đề liên quan