加载fbx模型原理
3D模型
模型由面构成,面包括三角形、四边形与多边形,轻量级的优秀模型面数一般都是三角形,面又由多条边构成,边由多个顶点构成。
这里我做了一个简单模型
烘培导出fbx模式
ok,没问题!
threejs加载fbx原理
顶点数据
顶点位置 | 顶点颜色 | 顶点法向量数据 |
geometry.attributes
- position
- color
- normal
顶点法向量与光照阴影有关
漫反射光的颜色=几何体表面基色光线颜色光线入射角
光线方向是一个向量,顶点有一个法向量
这里是三维空间向量
VTK文件格式
Vtk模型是一种以文本方式表示的3D模型文件,其能够表示点面信息,
而且能够以人类易读易懂的方式以文本的形式存储下来。
ASCII表示该文件的格式,是ascii版本,该位置也可以写binary,那
么这个文件就是二进制格式的了。
VTK简介
代码重构
直接使用loadfbx.js
框架
核心部分
var loader = new THREE.FBXLoader(); loader.load( '../models/UI.fbx', function ( object ) {//加载路径fbx文件 object.traverse( function ( child ) { if ( child.isMesh ) { child.castShadow = true; child.receiveShadow = true; } } ); scene.add( object );//模型 } );
ok,没问题!