Three.js——文本几何体

TextGeometry

TextGeometry是一个用于将文本生成为单一的几何体的类,其父类为ExtrudeGeometry。通过FontLoader类的load方法加载的字体和回调,根据传入的文本字符串和配置生成文本几何体。

注意点:创建文本几何体,需要读取字体文件,所以需要在服务器上运行文本几何体对应的文j件。

运行结果:
在这里插入图片描述
代码:

		//创建场景
        var scene = new THREE.Scene();
        // 创建相机
        var camera = new THREE.PerspectiveCamera(70, aspect, 1, 2000);
        camera.position.set(0, 0, 100);
        // 创建渲染器(WebGL渲染器)
        var renderer = new THREE.WebGLRenderer({antialias: true});
        renderer.setClearColor(0x000000, 1);
        renderer.setSize(ww, wh);
        document.body.appendChild(renderer.domElement);
		
		//创建点光源
        var light = new THREE.PointLight(0xffaaaa, 1, 1000);
        light.position.set(50, 50, 50);
        scene.add(light);
		//创建平行光
        var direLight = new THREE.DirectionalLight(0xffaaaa, 1000);
        direLight.position.set(0, 500, 0);
        direLight.castShadow = true;
        scene.add(direLight);

        // 创建文字
        var fontload = new THREE.FontLoader().load('./fonts/helvetiker_bold.typeface.js', function(text) {
            var textG = new THREE.TextGeometry('WJCHumble', {
                size: 20, //字号大小,一般为大写字母的高度
                height: 10, //文字的厚度
                weight: 'normal', //值为'normal'或'bold'   是否加粗
                font: text, //字体,默认是'helvetiker'  需对应引用的字体文件
                style: 'normal', //值为'normal'或'italics'  是否斜体
                bevelThickness: 1, //斜角与原文本轮廓之间的延申距离厚度
                bevelSize: 1, //斜角与原文本轮廓之间的延申距离 默认8
                curveSegments: 30,//弧线分段数,使得文字的曲线更加光滑  默认12
                bevelEnabled: true, //布尔值,是否使用倒角,意为在边缘处斜切
            });
            textG.center();
            var textM = new THREE.MeshPhongMaterial({
                color: 0xffaaaa,
                specular: 0xffaaaa,
                shininess: 30,
                shading: THREE.FlatShading
            });
            var text = new THREE.Mesh(textG, textM);
            text.castShadow = true;
            scene.add(text);
        });
    })

	//渲染页面
	renderer.render(scene, camera);
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值