<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>three.js从入门到精通系列教程017 - three.js加载中文字体并绘制斜角立体汉字</title>
    <script src="ThreeJS/three.js"></script>
    <script src="ThreeJS/jquery.js"></script>
</head>

<body>
    <center id="myContainer"></center>
    <script type="text/javascript">
        //创建渲染器
        var myRenderer = new THREE.WebGLRenderer({ antialias: true });
        myRenderer.setSize(window.innerWidth, window.innerHeight);
        $("#myContainer").append(myRenderer.domElement);
        var myScene = new THREE.Scene();
        myScene.background = new THREE.Color('white');
        var myCamera = new THREE.OrthographicCamera(-2.5, 2.5, 1.875, -1.875, 1, 100);
        myCamera.position.set(3, 3, 20);
        myCamera.lookAt(new THREE.Vector3(2, 1, 0));
        myScene.add(myCamera);
        var myLight = new THREE.DirectionalLight('white');
        myLight.position.set(-5, 10, 5);
        myScene.add(myLight);
        //加载中文字体并绘制斜角汉字
        var myFontLoader = new THREE.FontLoader();
        myFontLoader.load('Data/MicrosoftYaHei_Regular.json', function (font) {
            var myTextGeometry = new THREE.TextGeometry('上善若水',
                {
                    font: font, size: 0.6, height: 1, curveSegments: 120,
                    bevelEnabled: true, bevelThickness: 1.5,
                    bevelSize: 0.05, bevelSegments: 3
                });
            //创建金属发亮材质
            var myMaterial = new THREE.MeshPhongMaterial({ color: 0x00ff00 });
            var myTextMesh = new THREE.Mesh(myTextGeometry, myMaterial);
            myTextMesh.position.y = 0.5;
            myScene.add(myTextMesh);
        });
        //渲染绘制的斜角汉字
        animate();
        function animate() {
            requestAnimationFrame(animate);
            myRenderer.render(myScene, myCamera);
        }
    </script>
</body>

</html>

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐