一、实现目标
在虚幻场景中添加Cesium地球后,会在添加需要的3dTies服务。在项目业务的使用中需要能够在运行状态下加载。
运行状态下加载3Dtiles
二、实现过程
先构思实现逻辑:需要在运行过程中生成新的3DTiles来挂载需要加载的URL地址(地址可以是线上服务,如果在本机加载也可以通过文件位置的绝对路径来加载)。
第一步:
在蓝图类中新建Cesium3DTileset蓝图类Actor,在后续的加载中就使用他作为挂载的Actor。
第二步:
在关卡蓝图中设置SpawnActor,选中第一步创建好的3DTileset,
创建好后引出 SetSource节点,将Source设置为:From Url(这一步操作是因为3DTileset的Source初始参数设置为From Cesium Ion,从官网获取服务。需要修改为从Url地址获取服务)。
再从Return Value中引出Set Url,(Url的地址可以通过外部传递接收,也可以通过Actor公开变量接收,具体看需要如何使用)。将需要加载的地址设置给Url。
最后再引出Refresh Tileset节点(作为刷新节点来使用。)到这里基本可以完成3DTileset在场景中的动态加载效果。
总结小知识
在Cesium插件的原生Blank 3D Tiles Tileset Actor中其实可以找到相对应的参数,在细节栏中可以找到Source-Url,和Refresh Tileset按钮。反推来说,在细节栏中公开出来的变量在蓝图中都是可以获取到的。希望对您有帮助!