AssimpLoader

Assimp 全称 Open Asset Import Library, 是一个从各种数据格式加载和处理几何场景的库. 它通过支持节点层次结构, 静态或蒙皮网格, 材质, 骨骼动画和潜在纹理数据, 在典型的游戏场景中进行定制. 该库不是为速度而设计的, 它主要用于从各种来源导入资产一次, 并将其存储在特定于引擎的格式中, 以便于每天轻松快速地加载. assimp还能够对导入的数据应用各种后处理步骤, 例如转换为索引网格, 计算法线或切线、比特数或从右手坐标系到左手坐标系的转换. 加载后可获得 animation 属性, 通过它来展示动画. 在帧循环函数中调用 animation.setTime( delta ).

下面这个模型及纹理的总大小为 1.83M

function AssimpLoader( ) { } var animation; var loader = new THREE.AssimpLoader(); loader.load('---.assimp', function( result ){ var object = result.object; scene.add( object ); animation = result.animation; }, function ( xhr ) { console.log( ( xhr.loaded / xhr.total * 100 ) + '% loaded' ); }, function ( error ) { console.log( 'An error happened: ' + error ); } ); animate(); function animate(){ renderer.render(scene, camera); requestAnimationFrame(animate); if ( animation ) animation.setTime( performance.now() / 1000 ); }

Attributes

manager : LoadingManager

Default value : THREE.DefaultLoadingManager
Description : 类型

Methods

load( url, onLoad, onProgress, onError ) : null
url String 加载路径
onLoad Function 加载完成函数
onProgress Function 加载进程函数
onError Function 加载错误函数

加载URL以及调用回调函数onLoad.

parse( text ) :
text String 待解析的 text 数据

解析 text 数据.

parse( FBXBuffer, path ) :
FBXBuffer 缓冲区
path String >路径

解析数据.

setResourcePath( resourcePath ) : this
resourcePath String 路径

设置资源路径, 设置后自动开启 new THREE.TextureLoader() 来加载路径文件夹内的图片.

setCrossOrigin( value ) : this
value String CORS

设置跨域CORS.