Skip to content

Model 模型

模型加载

通过Container构建一个容器实例,之后通过Model加载一个指定类型的三维模型至容器中即可实现最基本的三维模型查看效果

为了尽量减少光照问题影响观感,因此园区自带了光照系统,不过部分模型格式需要手动打光,因此具体打光需知请看各模型类型的说明。若要使用这类格式的模型,请在构建园区时,显示的关闭自带光照系统
目前框架内置的模型类型(兼容性较好的格式):FBX、GLTF、GLB
如果你希望使用本框架,但又需要加载其它格式的模型,那么请使用three.js提供的加载其它格式模型的方式

FBX

容器默认光照失效,需要手动打光照效果(推荐半球光+平行光)

GLTF

支持默认光照效果,推荐使用hdr增加环境效果(右侧为添加了HDR环境效果)

GLB

支持默认光照效果,推荐使用hdr增加环境效果
如果你希望用该格式,请在项目中public目录下放入three.js提供的draco解析文件(如果是udm项目,请放在根目录中)

其它格式

这里只是演示three.js支持的其它格式与本框架接入的方式,该案例中通过在构建Model构建时,给url直接传入加载好的模型来进行构建,你也可以直接将加载好的模型添加至容器(如果你不需要Model提供的一些方法)

按轨迹移动

Model自带按照指定轨迹移动,通常用于工业中的巡检、模型历史轨迹等功能

模型克隆

扩展原克隆功能

Options

该对象是对原RTHREE.Object3D的扩展,因此,它具有原RTHREE.Object3D对象的所有属性和方法

ICreateParameter

属性名说明类型默认值
name模型名称string-
url模型地址或者模型对象string|RTHREE.Object3D-
modelType模型类型ModelType-
decoderPath解码器地址(非必传,默认将从根目录搜索对应的解码器)string'/draco/'
loadProgress加载中回调函数(progress: number) => void-
complete构建完成回调函数,函数会返回加载完毕后的模型对象以及动画剪切序列集合(如果该模型有动画才会返回)(model: Model, animations?: AnimationClip[]) => void-
indexdb是否走缓存器(需要初始化ModelIndexdb后,该属性才会生效)boolean-
ModelType

FBX:FBX模型

GLTF:GLTF模型

GLB:GLB模型

OTHER:其它模型

Methods

clearRemoveFromParent()

更为赶紧的移除方法(释放几何模型以及材质的移出)

clone(recursive?: boolean)

克隆

recursive:是否克隆子孙集

createTrackAnimation(curveParameter: ICurveParameter)

构建移动轨迹动画

ICurveParameter

属性名说明类型默认值
points路径坐标集RTHREE.Vector3[]-
duration动画时长单位snumber-
completeCallback动画播放完毕回调函数() => void-
loop是否循环boolean-
initPlay是否构建完毕后就立即播放动画boolean-

createTrackLine(color: RTHREE.ColorRepresentation = 0x00FA7F, isDash: boolean = false)

构建移动轨迹线(需要先构建轨迹动画)

color:颜色

isDash:是否为虚线

stopTrack()

暂停轨迹移动(需要先构建轨迹动画)

continueTrack()

继续轨迹移动(需要先构建轨迹动画)

restartTrack()

重新轨迹移动(需要先构建轨迹动画)

setTrackProgress()

设置轨迹到指定进度(需要先构建轨迹动画)