利用Skyline6.5的接口实现模型路径漫游

2024-03-02 04:10

本文主要是介绍利用Skyline6.5的接口实现模型路径漫游,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

楼主也是刚开始接触Skyline开发,文中若有错误还望指出,话不多说,upupup.
实现模型动态漫游,主体就是三个步骤考虑:
(a)模型加载
(b)规划路径
(c)将路径添加给模型对象
直接上全部代码:

function run_3d() {//绘制路径
//将路径以折线展示在skyline中
//            var cVerticesArray = [0.79051472222223, 0.52489722222222, 500,
//                        90.79051472221223, 0.52489722212222, 500,
//                       145.79051472220223, 0.52489722202222, 500,
//                        179.79051472220923, 0.52489722209222, 500, ];
//     
// 
//            pILineString = SGWorld.Creator.GeometryCreator.CreateLineStringGeometry(cVerticesArray);
//             color = SGWorld.Creator.CreateColor(255, 0, 0, 125);
//            var polyline = SGWorld.Creator.CreatePolyline(pILineString, color);//加载3d模型;CreateDynamicObject接口第三、四个参数绑定在一起;传的0表示我传的3d模型,第四个就是加载模型的具体路径了,var dynamicObject = SGWorld.Creator.CreateDynamicObject(0, 1, 0, "filepath", 1000, 0, 0, "动态对象");//规划模型具体路径;var wayPoint1 = SGWorld.Creator.CreateRouteWaypoint(0.79051472222223, 0.52489722222222, 1000000, 8000000);var wayPoint2 = SGWorld.Creator.CreateRouteWaypoint(90.79051472221223, 0.52489722212222, 1000000, 8000000);var wayPoint3 = SGWorld.Creator.CreateRouteWaypoint(145.79051472220223, 0.52489722202222, 1000000, 8000000);var wayPoint4 = SGWorld.Creator.CreateRouteWaypoint(179.79051472220923, 0.52489722209222, 1000000, 8000000);//将飞行路径传给动态模型dynamicObject.Waypoints.AddWaypoint(wayPoint1);dynamicObject.Waypoints.AddWaypoint(wayPoint2);dynamicObject.Waypoints.AddWaypoint(wayPoint3);dynamicObject.Waypoints.AddWaypoint(wayPoint4);//CircularRoute的true值表示执行完当前一次完整路由再继续执行,dynamicObject.CircularRoute = true;dynamicObject.RestartRoute(0);SGWorld.Navigate.FlyTo(dynamicObject);}

调用之后,我们可以看看效果!
在这里插入图片描述
加上定时器不断触发之后:

这篇关于利用Skyline6.5的接口实现模型路径漫游的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/764869

相关文章

Flutter实现文字镂空效果的详细步骤

《Flutter实现文字镂空效果的详细步骤》:本文主要介绍如何使用Flutter实现文字镂空效果,包括创建基础应用结构、实现自定义绘制器、构建UI界面以及实现颜色选择按钮等步骤,并详细解析了混合模... 目录引言实现原理开始实现步骤1:创建基础应用结构步骤2:创建主屏幕步骤3:实现自定义绘制器步骤4:构建U

SpringBoot中四种AOP实战应用场景及代码实现

《SpringBoot中四种AOP实战应用场景及代码实现》面向切面编程(AOP)是Spring框架的核心功能之一,它通过预编译和运行期动态代理实现程序功能的统一维护,在SpringBoot应用中,AO... 目录引言场景一:日志记录与性能监控业务需求实现方案使用示例扩展:MDC实现请求跟踪场景二:权限控制与

Android实现定时任务的几种方式汇总(附源码)

《Android实现定时任务的几种方式汇总(附源码)》在Android应用中,定时任务(ScheduledTask)的需求几乎无处不在:从定时刷新数据、定时备份、定时推送通知,到夜间静默下载、循环执行... 目录一、项目介绍1. 背景与意义二、相关基础知识与系统约束三、方案一:Handler.postDel

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

Java controller接口出入参时间序列化转换操作方法(两种)

《Javacontroller接口出入参时间序列化转换操作方法(两种)》:本文主要介绍Javacontroller接口出入参时间序列化转换操作方法,本文给大家列举两种简单方法,感兴趣的朋友一起看... 目录方式一、使用注解方式二、统一配置场景:在controller编写的接口,在前后端交互过程中一般都会涉及

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

Python中pywin32 常用窗口操作的实现

《Python中pywin32常用窗口操作的实现》本文主要介绍了Python中pywin32常用窗口操作的实现,pywin32主要的作用是供Python开发者快速调用WindowsAPI的一个... 目录获取窗口句柄获取最前端窗口句柄获取指定坐标处的窗口根据窗口的完整标题匹配获取句柄根据窗口的类别匹配获取句

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B

Python位移操作和位运算的实现示例

《Python位移操作和位运算的实现示例》本文主要介绍了Python位移操作和位运算的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 位移操作1.1 左移操作 (<<)1.2 右移操作 (>>)注意事项:2. 位运算2.1

如何在 Spring Boot 中实现 FreeMarker 模板

《如何在SpringBoot中实现FreeMarker模板》FreeMarker是一种功能强大、轻量级的模板引擎,用于在Java应用中生成动态文本输出(如HTML、XML、邮件内容等),本文... 目录什么是 FreeMarker 模板?在 Spring Boot 中实现 FreeMarker 模板1. 环