Appearance
第八章 聚焦
目录
第一节 聚焦图层
聚焦图层是将摄像机的视角聚焦到某一个指定图层上面。我们使用的是focusById 方法,让摄像机聚焦到某一个已经添加的图层上面。
在下方的参数中,我们需要传入 id、overlayType、distance 摄像机距离,在上方代码中,我们通过 addArea 方法添加了一个区域图层。
首先需要使用 clearOverlayType 方法清空图层,防止多次添加,之后在追加添加图层的回调函数中,如果添加成功了,就聚焦到当前的添加的图层。执行之后,可以看到,场景中添加了一个区域图层,并且相机发生了位移。
接下来我们把相机调整一个角度,让相机的视角不在该图层的位置,我们在此执行代码的时候,同样先清除图层,再次添加,并且设定聚焦,点击执行,场景的聚焦效果与之前一次操作一致,就实现了聚焦图层的操作。这里我们需要注意 focusById 这个方法是聚焦到某一个图层,如果图层的内容很多,会取图层的中心点来聚焦。
第二节 聚焦图层子对象
图观统一开发 API 的图层,分为单对象图层和多对象图层,如果多对象图层里有很多的子对象,我们的聚焦图层子对象方法,可以聚焦到图层里某一个具体的对象。
聚焦图层子对象使用的接口方法是 focusByLayer,需要传入的参数有图层子对象的 id、idLayer 图层的 id、图层的类型 layerType,镜头距图层的距离 distance,我们使用 addLandmarkLayer 先添加了一个地标图层,上面为地标图层的数据,地标图层的 id 为 landmarkLayer,里面每一个 id 为“1”,“2”,“3”,“4”,“5”,“6”。
执行的效果就是先添加一个地标图层,然后聚焦到 id 为 3 的子对象,我们来看一下效果,执行之后我们就聚焦到 id 为 3 的子对象了,当然了场景中还有很多的其他的对象,这里我们就不一一介绍了,大家可以自己联系。
第三节 聚焦模型和建筑
之前我们学习了如何聚焦到一个图层上,接下来我们来学习如何聚焦到模型和建筑
当前的场景里,已经包含了模型和建筑,我们使用 focusModel 方法来进行聚焦模型,需要传入的参数有模型的 id、模型的类型 modelType,这里我们写 model 就可以,distance 是镜头距模型的距离。
聚焦建筑我们使用的是 focusBuilding 方法,我们需要传 buildingId 和 distance 镜头距离建筑物的距离,代码的范例是先聚焦到模型,之后计时器 5 秒钟之后会让摄像机聚焦到建筑,我们执行后,可以看到摄像机聚焦到对应的模型上,5 秒钟之后就聚焦到了建筑上。
以上就是聚焦模型和聚焦建筑的操作。