linaCharts开发笔记:Three.js导入obj和使用中文
来源:互联网 发布:中国移动流量监控软件 编辑:程序博客网 时间:2024/06/01 08:12
直接进入主题,首先是导入中文字体,Three.js自带只支持显示3D的英文,如果需要使用中文,需要自己导入。
一、选一个你喜欢的字体,也就是ttf文件,尽量选小一点的,不然转换成的js文件也会非常大。
二、下载facetype.js,地址:
https://github.com/gero3/facetype.js
然后运行index.html,界面如下:
直接将ttf文件转换为js文件,比如我生成的 FZYaoTi_Regular.js
三、直接使用代码如下:
var loader = new THREE.FontLoader(); loader.load( 'lib/font/FZYaoTi_Regular.js', function ( font ) { var text_style = { font: font, size: 4, height: 1, curveSegments: 12,//曲线上点的数量 bevelThickness: 0.1, //文本斜面深度 bevelSize: 0.1, //斜面离轮廓的距离 bevelEnabled: true //是否打开曲面 } var textGeo = new THREE.TextGeometry( "莉娜酱", text_style ); var textMaterial = new THREE.MeshPhongMaterial( {color: 0xB3B3B3} ); var mesh = new THREE.Mesh( textGeo, textMaterial ); //对于文字,先设置lookat和先设置position是不一样的 mesh.lookAt(new THREE.Vector3(100, 0, 150)); mesh.position.set( 20, -4, 30 ); scene.add( mesh ); });特别说明,一定要先设置文字的lookAt再设置position,如果反过来的话,文字出现和你想象不一样的结果(比如会自旋转一个角度)
然后,使用obj和mtl:
一、首先用3dmax生成模型的.obj和.mtl文件,我是放在model/下的,后面会设置路径
二、导入相关js
<script type="text/javascript" src="lib/MTLLoader.js"></script> <script type="text/javascript" src="lib/OBJLoader.js"></script>三、代码如下:
var mtlLoader = new THREE.MTLLoader(); mtlLoader.setPath( 'model/' ); mtlLoader.load( 'test8.mtl', function( materials ) { materials.preload(); var objLoader = new THREE.OBJLoader(); objLoader.setMaterials( materials ); objLoader.setPath( 'model/' ); objLoader.load( 'test8.obj', function ( object ) { object.position.set(0,0,0); object.scale.set(2,2,2); scene.add( object ); }); });需要注意,有时候导入的模型并不在中心,这时候需要在3dmax中将模型的位置调到0,0,0再导出
阅读全文
0 0
- linaCharts开发笔记:Three.js导入obj和使用中文
- linaCharts开发笔记:Three.js基础
- linaCharts开发笔记:three.js物体变换
- linaCharts开发笔记:js封装和canvas填坑
- linaCharts开发笔记:面拉伸成体
- three.js学习笔记 obj模型加载问题
- three.js学习笔记 obj模型加载问题 (转)
- 《three.js开发指南》 笔记
- three.js加载obj模型
- three.js 如何加载obj
- three.js加载obj模型
- three.js加载obj模型
- Three.js学习笔记——3dsmax 加载obj模型
- 结合Blender和Three.js使用WEBGL
- three.js学习笔记 dat.gui.js和stats.js
- Three.js 中文文档和在线演示实例
- three.js笔记
- VR开发 入门 使用Three.js 开发的WebVR demo
- JEECG 页面多个用户选择器只显示最后一个
- laravel的Auth认证,登录、注册后的页面回跳
- log4j.properties配置详解与实例-全部测试通过
- Android Studio 必备设置
- Xcode代码块注释
- linaCharts开发笔记:Three.js导入obj和使用中文
- Lighting System Design UVa 11400
- mybatis #{}与${}的区别
- 技术交流 QQ
- 聊聊Dubbox(二):简单入门
- iOS 开发中如何隐藏UINavigationBar
- 欢迎使用CSDN-markdown编辑器
- 同一页面的两个Iframe获取数据
- 解决服务器返回错误数据格式导致Json解析出错造成app崩溃