CesiumForUnity详解二(加载自定义建筑模型,移动到指定位置)

这篇具有很好参考价值的文章主要介绍了CesiumForUnity详解二(加载自定义建筑模型,移动到指定位置)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

学习目标:

1.脚本介绍

2.导入官网模型数据

3.通过url获取自定义模型数据

一.脚本介绍

创建一个地球后,你在unity面板上会有两个父子级得对象,如图

CesiumForUnity详解二(加载自定义建筑模型,移动到指定位置),unity,游戏引擎

CesiumGeoreference:这个脚本主要是管理经纬度得地理坐标

提供核心方方法设置经纬度,修改坐标值可直接定位到指定地点:注意该经纬度坐标系不是我们国内的百度经纬度,要用GIS84经纬度坐标。

Cesium3DTileset

CesiumForUnity详解二(加载自定义建筑模型,移动到指定位置),unity,游戏引擎

Tileset Source 有两个枚举资源出处

From Cesium Ion 这个需要你在官网网上直接添加指定资源然后通过资源窗口直接加载就行了

CesiumForUnity详解二(加载自定义建筑模型,移动到指定位置),unity,游戏引擎

From URL 通过url加载可以丢在服务器上面或者本地电脑上把路径copy上就行了,目前好像就支持3D tiles 格式没有深入了解,大家可以自己去尝试。

设置模型并跳转场景

比如我要假如自己的模型到指定经纬度,通过按键去切换指定位置

1.创建分场景

CesiumForUnity详解二(加载自定义建筑模型,移动到指定位置),unity,游戏引擎

 

 比如创建多个分场景第一个场景我自定义初始位置originAuthority ,经纬度自己定义 

CesiumForUnity详解二(加载自定义建筑模型,移动到指定位置),unity,游戏引擎

 CesiumForUnity详解二(加载自定义建筑模型,移动到指定位置),unity,游戏引擎

在分场景的下面构建自定义模型,也可以在同一个位置构建模型

例如:

 CesiumForUnity详解二(加载自定义建筑模型,移动到指定位置),unity,游戏引擎

 也可以在同一位置分场景脚本只存储位置信息

CesiumForUnity详解二(加载自定义建筑模型,移动到指定位置),unity,游戏引擎

CesiumForUnity详解二(加载自定义建筑模型,移动到指定位置),unity,游戏引擎

 

配置动态相机要添加以下脚本,因为我的项目比较特殊所以就包可一层,你们可以直接给相机调整角度把以下脚本添加上去就行

 CesiumForUnity详解二(加载自定义建筑模型,移动到指定位置),unity,游戏引擎

其中参数如何,自己满满摸索

代码奉上功能如下:按键O 、P 、 I 代表三个分场景,假如当前处于O场景则不会产生变化 ,不处于则跳到指定经纬度

/// <summary>
    /// 分场景
    /// </summary>
    public List<CesiumSubScene> subScenes = new List<CesiumSubScene>();
    /// <summary>
    /// 摄像机移动控制
    /// </summary>
    public FlyController flyToController;

 //按键与我们不一致按插件写的

  static bool GetKeyODown()
    {
#if ENABLE_INPUT_SYSTEM
        return Keyboard.current.digit1Key.isPressed || Keyboard.current.oKey.isPressed;
#elif ENABLE_LEGACY_INPUT_MANAGER
        return Input.GetKeyDown(KeyCode.O) || Input.GetKeyDown(KeyCode.O))
#endif
    }
    static bool GetKeyPDown()
    {
#if ENABLE_INPUT_SYSTEM
        return Keyboard.current.digit1Key.isPressed || Keyboard.current.pKey.isPressed;
#elif ENABLE_LEGACY_INPUT_MANAGER
        return Input.GetKeyDown(KeyCode.P) || Input.GetKeyDown(KeyCode.P))
#endif
    }

    static bool GetKeyIDown()
    {
#if ENABLE_INPUT_SYSTEM
        return Keyboard.current.digit1Key.isPressed || Keyboard.current.iKey.isPressed;
#elif ENABLE_LEGACY_INPUT_MANAGER
        return Input.GetKeyDown(KeyCode.I) || Input.GetKeyDown(KeyCode.I))
#endif
    }

 void Update()
    {
        if (GetKeyODown())
        {
            CesiumSubScene subScene = subScenes[0];
            //coordinatesECEF 经纬度
            double3 coordinatesECEF = new double3(subScene.ecefX, subScene.ecefY, subScene.ecefZ);
            Vector2 yawAndPitch = Vector2.zero;
            //摄像机飞到指定经纬度
              flyToController.FlyToLocationEarthCenteredEarthFixed(coordinatesECEF, yawAndPitch.x, yawAndPitch.y, true);

        }
        if (GetKeyPDown())
        {
            CesiumSubScene subScene = subScenes[1];
            double3 coordinatesECEF = new double3(subScene.ecefX, subScene.ecefY, subScene.ecefZ);
            Vector2 yawAndPitch = Vector2.zero;
            flyToController.FlyToLocationEarthCenteredEarthFixed(coordinatesECEF, yawAndPitch.x, yawAndPitch.y, true);
        }

        if (GetKeyIDown())
        {
            CesiumSubScene subScene = subScenes[2];
            double3 coordinatesECEF = new double3(subScene.ecefX, subScene.ecefY, subScene.ecefZ);
            Vector2 yawAndPitch = Vector2.zero;
            flyToController.FlyToLocationEarthCenteredEarthFixed(coordinatesECEF, yawAndPitch.x, yawAndPitch.y, true);
        }
           
    }文章来源地址https://www.toymoban.com/news/detail-662494.html

到了这里,关于CesiumForUnity详解二(加载自定义建筑模型,移动到指定位置)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于BIM+AI的建筑能源优化模型【神经网络】

    推荐:用 NSDT设计器 快速搭建可编程3D场景。 AEC(建筑、工程、施工)行业的BIM 技术,允许在实际施工开始之前虚拟地建造建筑物; 这带来了许多有形和无形的好处:减少成本超支、更有效的协调、增强决策权等等。 对于一些公司来说,采用 BIM 是需要克服的一大障碍,许

    2024年02月14日
    浏览(36)
  • Cesium-建筑物模型shp数据转3dtile数据

            记录一下 cesium 加载3dtile格式的建筑物模型文件,数据由shp数据通过官方工具 CesiumLab 转换3dtile数据 ,文章末附链接  直接记录操作-         工具用的CesiumLab v3.0.7 1-shp数据文件       2-工具操作    数据有高度字段的可选⬇  pak为地形高程文件   3- 完成上述操作

    2024年02月07日
    浏览(48)
  • Stable Diffusion 【写实模型】:逼真|肖像|摄影|超现实|建筑|室内设计的写实大模型NightVision XL

    大家好,我是程序员晓晓。 今天和大家介绍一款从官网名字介绍就感觉非常NB的大模型NightVision XL。我们看一下C站官网首页该模型的名称介绍。 (1)NightVision XL是一个经过轻微训练的基础 SDXL 模型,然后通过社区 LORA 进一步完善,以达到现在的水平。NightVision XL 经过改进和偏

    2024年02月21日
    浏览(63)
  • Arcgis中POI找到建筑面内距离最近的标准地址通过模型构建器来实现

    之前写过一篇文章 Arcgis通过矢量建筑面找到POI对应的标准地址 这里面的大致思路跟本篇文章是类似的,不过上一篇文章有部分有瑕疵,就是在POI去找建筑面内的标准地址时,找到的虽然是建筑面内的,但是不一定是距离最近的,因为点与面的连接计算的距离是点与面的中心

    2024年02月13日
    浏览(38)
  • LEAP模型应用于工业、交通、建筑、电力、煤炭、炼油、经济、林业等各领域碳排放预测及建模分析

    查看原文 LEAP软件(使用说明+LEAP的模拟练习+碳排放相关模板)+IPCC收录的各种燃料CO2排放系数​ 目录 第一章 :LEAP建模理论基础 第二章:基于LEAP模型的能源需求预测模型构建 第三章:基于LEAP模型的能源供应预测模型构建 第四章:基于LEAP模型的温室气体及其他空气污染物

    2024年02月01日
    浏览(52)
  • CesiumForUnity详解一(导入Cesium SDK安装包)

    1.将 Cesium for Unity 包导入 Unity 2.创建关卡并从 Cesium 导入资源 3.设置项目的默认离子资产令牌 4.使用铯的动态相机导航场 建议安装的 Unity 2021.3.2f1 或更高版本 1.使用unity hub新建项目,注意Cesium for Unity 可与通用渲染管线 (URP) 和高清渲染管线 (HDRP) 配合使用。但是,它不支

    2023年04月09日
    浏览(29)
  • 利用pytorch自定义CNN网络(五):保存、加载自定义模型【转载】

    本文转载自: PyTorch | 保存和加载模型 本文主要介绍如何加载和保存 PyTorch 的模型。这里主要有三个核心函数: torch.save :把序列化的对象保存到硬盘。它利用了 Python 的 pickle 来实现序列化。模型、张量以及字典都可以用该函数进行保存; torch.load:采用 pickle 将反序列化的

    2024年02月13日
    浏览(37)
  • mapbox加载全球3D建筑

    本案例使用 Mapbox GL JavaScript 库进行加载全球3D建筑。 我们创建了一个 Mapbox GL JS 地图实例,设置了地图的容器、默认的地图风格、中心点坐标、地图级别、地图俯仰角、地球旋转角度以及启用抗锯齿功能。 查找图层中类型为 symbol 并且有 text-field 属性的图层。 将三维建筑数据

    2024年03月24日
    浏览(36)
  • TensorFlow 高级技巧:自定义模型保存、加载和分布式训练

    本篇文章将涵盖 TensorFlow 的高级应用,包括如何自定义模型的保存和加载过程,以及如何进行分布式训练。 在 TensorFlow 中,我们可以通过继承 tf.train.Checkpoint 来自定义模型的保存和加载过程。 以下是一个例子: TensorFlow 提供了 tf.distribute.Strategy API,让我们可以在不同的设备

    2024年02月15日
    浏览(35)
  • PyTorch高级教程:自定义模型、数据加载及设备间数据移动

    在深入理解了PyTorch的核心组件之后,我们将进一步学习一些高级主题,包括如何自定义模型、加载自定义数据集,以及如何在设备(例如CPU和GPU)之间移动数据。 虽然PyTorch提供了许多预构建的模型层,但在某些情况下,你可能需要自定义模型层。这可以通过继承 torch.nn.Mo

    2024年02月14日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包