加載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,沒問題!