基于babylon的轻量化模型引擎BCBIM学习(2)

325 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第10天,点击查看活动详情

前言

之前讲了如何用 bcbimJs 初始化场景,设置摄像头位置和朝向,以及上传模型的接口如何使用和一些调用示例,这次我们进入正题,学习一些模型相关的接口,全是干货。

模型接口

加载模型

api.creatModel(id);

接口描述

在模型场景加载完成后,我们需要把模型加载显示到场景中,在这个时候就需要调用这个接口来将模型加载出来。

场景初始化接口可见上篇文章。

注意: 型加载后并不会自己销毁,需要调用模型销毁接口,文章后续会讲到;如果不销毁模型,模型一直存在将占用大量浏览器资源,导致浏览器崩溃。

传入参数

  • fileId:调用上传模型接口后返回的模型id,这是必填项
  • callback:function 模型加载完成回调

调用实例

api.creatModel('0d420e15d9ba4caeb4d70c15edd13c4d',(meshList)=>{
	//模型全部加载完成回调
})

加载唯一模型 (只加载当前模型,销毁之前加载的模型)

api.createAUniqueModel(id);

接口描述

在模型场景加载完成后,我们需要把某个模型显示在场景中,就需要调用这个接口方法。 (需在场景加载完成后调用此方法!);此方法会销毁之前加载的模型。

传入参数

  • fileId:模型id(必填),与上个接口中的相同,id为上传模型后返回的id
  • callback:function 模型加载完成回调

调用实例

api.createAUniqueModel('0d420e15d9ba4caeb4d70c15edd13c4d',(meshList)=>{
	//模型全部加载完成回调
})

销毁模型

api.modelDestroy(id);

接口描述:

在场景初始化完成,模型加载显示后,需要销毁模型时(比如,需要加载其他模型)就可以调用此方法。

注意: 此方法每次只能销毁一个模型,每次只能传一个模型的id,希望后续可以支持多个模型销毁,或有销毁全部模型的接口

传入参数:

  • fileId:模型id(必填),同上,不再赘述

调用实例

api.modelDestroy('0d420e15d9ba4caeb4d70c15edd13c4d')

空间隐藏显示

api.showRoom(fileId,show);

接口描述:

模型加载完成后需要对某个部分进行隐藏或者显示时,需要调用这个接口。比如一栋楼的模型,我想看见楼内的样子,可以将楼顶隐藏起来,已达到方便观察的目的;或者我想看一楼内部的样子,可以将一楼以上的部分通过这个接口隐藏起来,这就是这个接口 的基础用法

传入参数:

  • fileId:模型id(必填
  • show: 是否显示空间(ture或false)

调用实例

api.showRoom('0d420e15d9ba4caeb4d70c15edd13c4d',true)

今天就先到这里,讲了模型的加载和销毁,还有空间隐藏显示的接口,下期再介绍文字模型相关的东西吧。