Threejs——3D文字

Threejs——3D文字

引言

在threejs项目中总有一些需要显示文字的地方,有些地方用2D就可以,但是有些使用3D效果能更好点,这时候就需要使用threejs的3D文字了。

官方提供的字体文件都是英文的,想要显示中文需要自己来生成中文字体。

步骤

生成字体

字体路径:从自己的电脑中就可以找到字体文件(C:\Windows\Fonts),这里面有各式各样的中文字体,根据自己的需求选择对应的字体即可。

网址:Facetype.js (gero3.github.io)

在这个网站可以生成FontLoader加载字体的json文件,好像字体格式有限制,.ttc的没有生成成功,.ttf的可以。

引用文字

官方网址:FontLoader – three.js docs (threejs.org)

示例源码

add3DFont("中文测试");
/**
     * 添加3D文字
     * @param {string} message 文字内容
     */
function add3DFont(message) {
    new FontLoader().load('/fonts/SimHei_Regular.json', function (font) {
        let textGeo = new TextGeometry(message, {
            font: font,
            size: 5,
            height: 0.1,
        });
        let materials = [
            new THREE.MeshPhongMaterial({ color: 0xff0000, flatShading: true }), // front
            new THREE.MeshPhongMaterial({ color: 0xffff00 }) // side
        ];
        let textMesh = new THREE.Mesh(textGeo, materials);

        scene.add(textMesh);
    });
}
}

效果

在这里插入图片描述

尾语:

本人是一个初学threejs的,写的不对的地方欢迎各位大佬批评指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淡定九号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值