当前位置: 首页 > news >正文

ThreeJS给模型添加介绍文字(贴在模型上 不会一直面向我们)

使用到 FontLoader跟 TextGeometry

引包

import {TextGeometry} from "three/examples/jsm/geometries/TextGeometry";
import {FontLoader} from "three/examples/jsm/loaders/FontLoader";

使用

// 创建字体加载器并加载字体
const fontLoader = new FontLoader();
//注意这里用到的json 现在文字字体然后在网上在线直接转成json
fontLoader.load('/static/ziti.json', function (font) {// 创建材质 就是控制字体颜色其实const textMaterial = new THREE.MeshBasicMaterial({color: '#00ff00'});// 创建文字几何体const textGeometry = new TextGeometry('贴图文字', {font: font,size: 80,height: 0.2,curveSegments: 12,bevelEnabled: true,bevelThickness: 0.1,bevelSize: 0.1,bevelOffset: 0,bevelSegments: 5});
})
const mesh123 = new THREE.Mesh(textGeometry, textMaterial);
mesh123.position.x = position.x
mesh123.position.y = position.y
mesh123.position.z = position.z
//mesh123.name = 'mesh123Text'
//mesh123.rotation.x = -Math.PI / 2
scene.add(mesh123);

辅助网格(方便定位文字在哪里)

 // 创建网格并添加到场景
// 4000 网格大小 20 网格数量   网格颜色
var gridHelper = new THREE.GridHelper(4000, 20, '#00ff00', '#0000ff'); 
gridHelper.position.set(0, 20, -.1) //设置位置
gridHelper.visible = true // 设置网格显示和隐藏
scene.add(gridHelper);
http://www.lryc.cn/news/375490.html

相关文章:

  • [Qt] Qt Creator 以及 Qt 在线安装教程
  • 【大分享05】动态容差归档,打通不动产登记管理“最后一公里”
  • 嵌入式模拟电路面试题大全及参考答案(持续更新)
  • 【C语言】解决C语言报错:Uninitialized Variable
  • RabbitMQ实践——交换器(Exchange)绑定交换器
  • 使用 Vue 官方脚手架初始化 Vue3 项目
  • C语言中的宏定义(#define)和函数调用的区别
  • 196. 删除重复的电子邮箱
  • Android 大话binder通信 (上)
  • DevOps学习回顾01-技能发展路线-岗位能力-体系认知
  • 【MySQL】复合查询和内外连接
  • 【星海随笔】云解决方案学习日志篇(二) kafka、Zookeeper、Fielbeat
  • 【测试专题】系统测试报告(原件Word)
  • C++中的模板方法模式
  • 【数据结构】第十七弹---C语言实现选择排序
  • 信号处理中的梯型权重操作(Tapering)
  • 深入解析分布式链路追踪:原理、技术及应用
  • 2024信息系统、信号处理与通信技术国际会议(ICISPCT2024)
  • 用这个神级提示词插件,能让你的AI绘画工具Stable diffusion提示词直接写中文!
  • Android里的设计模式
  • token无感刷新
  • Golang的协程调度器GMP
  • C++ 后端,Vue前端
  • 使用Navicat Premium向mysql插入2000000条数据
  • docker命令记录
  • Java学习七
  • 麒麟Kylin | 操作系统的安装与管理
  • 数据结构预备知识(Java):包装类泛型
  • 掌握Linux Vim:从基础到高级的全面指南
  • 打好“组合拳”,实现国有企业降本增效