转自:https://sanwen8.cn/p/1e6GQeK.html

今天给各位介绍的仿真平台是VR-Forces。VR-Forces是新加坡公司MAK的产品,前身是美国公司。在仿真平台领域里面,VR-Forces算得上是小兄弟了,年轻有好处也有坏处,下面听我慢慢道来。

1VR-Forces概述

VR-Forces是一套先进的分布式计算机兵力生成软件和工具包,从名字就可以看出VR-Forces是用来做兵力推演的,最初的VR-Forces仅仅是为了配合VR-Link而开发的一个简单的FOM对象管理工具而已,是为了更好的管理兵力推演中的大量HLA实体的。而VR-Link可以简单地认为是RTI的一个封装,比直接使用RTI简单。

接下来有必要说一下背景了。MAK公司是做RTI起家的,他家的RTI绝对是COTS RTI中最强悍和稳定的RTI,也是仿真交互组织力推的RTI之一。因此VR-Forces从产生开始就遵循了RTI和HLA的特点并根植于RTI,如松散式集成,基于RTI的服务,利用FOM管理对象等。

从上面的图里面可以看出,VR-Forces提供了的分布式战场态势仿真功能和二维战场地图显示图形用户界面(4.x版本支持三维),底层通信支持HLA、DIS和TENA网络构架,通过VR-Forces工具包可以扩展该软件的仿真功能和定制用户界面。其中对TENA的支持是禁运的,不过俺们团队搞到了,嘿嘿......

2VR-Forces技术架构分析

VR-Forces的技术架构如下图所示:

啊?又是这么简单?没搞错吧?是的,就是这样清爽!作为小弟的VR-Forces还是比较简单的,但它确实是遵循了MVC的新的建模思想,将界面、控制(引擎)和模型分开了。

从上图中可以看出,VR-Forces有两个执行文件组成,一个负责界面,一个负责引擎,分别通过各自的API与VR-Link相连。目前VR-Forces提供如下的API:

1)仿真API:用来定制或者扩展后台运行的仿真引擎;

2)界面API:用来定制或者扩展前台的图形用户界面,这是基于QT的,可以改造后部分支持中文。

3)远程控制API:从其他应用向VR-Forces后台引擎发送指令;

4)插件API:用来在现有的VR-Forces界面上开发新的补充功能,这种插件和PS的插件很相似,不能修改主界面和功能。

实体对象是VR-Forces中的核心对象,实体对象具有功能行为,可以执行任务。通过实体对象模型可以描述仿真实体的属性和行为。实体对象的属性对应仿真中实体的状态,实体对象的行为通过任务建模来实现。

VR-Forces对实体对象的描述借鉴了Agent的很多思想,一个实体对象的结构由四部分组成,如下图所示。

1) 传感器。负责模拟外部环境,涵盖了对复杂作战环境的探测、分类、识别和确认的全过程。

2) 控制器。控制器负责根据传感器的输入条件产生相应的动作或者任务,任务的传输是通过HLA的消息机制实现的。

3) 作动器。作动器表示了实体对象的物理模型,也就是模型自身的运动学或者动力学过程。作动器将控制器的指令输入后调用自身的计算模型完成作战使命。

4)实体状态。描述实体随着仿真推进而变化的本身的状态参数,通过与前面三个组件的交互使得实体状态得以不断更新。

3VR-Forces技术优缺点分析

VR-Forces作为仿真平台界的后来者,从根本上采用了面向对象的建模方法和软件工程的实现方法。这个年轻的平台优缺点同样突出:

1)VR-Forces从内核里面就支持HLA,因此是HLA开发的强有力工具,但是对单机的支持就弱了,且不说RTIEXEC配置的复杂性,就是在单机也启动VR-LINK就够烦的了。

2)MVC架构加上大量设计模式的使用使得VR-Forces成为目前架构最先进的仿真框架之一。可惜的是MAK公司的战略注重在对外国用户的技术服务上,对国内应用现状了解太少,试问在国内的军方和工业部门的工科设计员中会熟练使用工厂类的人有几个?据小编了解,在国外MAK以技术服务为主,即为用户开发定制产品居多,但这一套拿到国内来就水土不服了。

3)二次定制和开发工作量巨大。VR-Forces内置的模型、实体对象均是美俄装备,而且按照DIS的命名规范组织,拿到国内来几乎没有用处,基本上全部需要定制开发。怪异的是MAK竟然连一个基本的类向导工具都没提供,只能按照例子自己修改,加上除了C++外还要学**MAK自己的脚本语言(STAGE也有),开发难度可想而知。

4)这点是我最不能忍受的——MAK产品更改的随意性!一个VR-Forces发展到4.X版本变化之大令人惊叹!在VR-Forces的升级中基本不考虑老用户的感受,API向下不兼容是常事,而且动不动架构也变化,连可视化内核也经历了从VP到OSG的巨变,可以说基本上没有延续性。这个问题对于一个年轻的平台来说尤为重要,哪个开发者愿意每次升级就要重新学**一边API的?

转载于:https://www.cnblogs.com/lyggqm/p/6478517.html

[转] VR-FORCES 介绍相关推荐

  1. DICOM3.0中的VR相关介绍

    最近在跟一个关于医疗的项目,所以了解了一下DICOM3.0协议. DICOM(Digital Imaging and Communications in Medicine)即医学数字成像和通信,是医学 ...

  2. h5 vr效果_Web端VR初介绍

    2016年最令科技界激动的话题,莫过于VR会如何改变世界.一些电影已开始涉足VR,让用户不仅能看到3D影像,更能以"移形换影"之术身临其境,带来前所未有的沉浸式观影体验:此外,游戏 ...

  3. 实录|三星Gear VR核心技术介绍

    在3月31日举办的Cocos 2016春季开发者大会上,三星电子中国研究院首席研究员熊君君博士带来了<三星Gear VR核心技术的介绍>的精彩分享,下面是演讲实录. 熊君君 熊君君:各位嘉 ...

  4. 用Vuforia(高通)开发VR/AR介绍

    Vuforia开发介绍 引言:Vuforia是与高通公司的合作的产品,致力于虚拟现实的技术,其技术最大的优点是在于Mixed Reality.(VR/AR相结合)我目前认为这是比较好的交互方式(当然依 ...

  5. 一些有意思的VR设备介绍

    1.计算机(Computers) 不久以前,一个VR系统需要百万美元的超级计算机:而如今顶级的VR系统正在使用桌面便携式计算机簇,极大的降低了价格和维护成本. 2.跟踪器(Tracking) 数据手套 ...

  6. Google VR SDKs 介绍

    1.Google VR SDK for Android android 上的SDK.包括基于java的SDK和基于JNI的NDK. 2.Google VR SDK for Unity Unity上的S ...

  7. Vr算php吗,vr原理介绍

    VR是Virtual Reality的缩写,中文的意思就是虚拟现实,早期译为"灵境技术". 虚拟现实是多媒体技术的终极应用形式,它是计算机软硬件技术.传感技术.机器人技术.人工智能 ...

  8. ⚡️VR ✙ 深入浅出⚡️ | VR 简单介绍说明

  9. Google VR全景图片与视频功能开发详解

    1. VR开发概述 时下关于"谷歌.Android与VR"的各种言论纷飞.VR群里有人在争论Android VR是不是一体机,是不是类似Android Wear.为VR打造的全新平 ...

  10. 玩VR眼镜对眼睛有影响和危害吗?2018VR眼镜排行榜,什么VR眼镜好推荐,哪个VR眼镜好?

    随着VR概念的火爆,VR设备也为更多人所熟知.我们要想体验虚拟现实这一神奇的技术,目前主要是通过VR显示设备.不管是手机VR,游戏VR,都需要佩戴相应的VR眼镜.现在市面上的VR眼镜多种多样,质量价格 ...

最新文章

  1. Js时间格式[转载]
  2. 网络编程学习笔记(IPv4套接口选项)
  3. goland 远程调试go_手把手教你学Go语言,基础环境配置和Hello World
  4. 如何攻击Java Web应用【转载】
  5. Bellman-Ford 算法 和 动态规划
  6. 【动态规划】【图论】[NOIP模拟赛]独立集
  7. HTTP Server Error 500 内部服务器错误
  8. android异步加载视频缩略图,swift-如何将视频URL的缩略图异步加载到tableview列表中...
  9. redis rdb aof区别_干货|Redis的RDB和AOF
  10. imageNamed和dataWithContentsOfFile的区别(1)
  11. Kotlin — 竞技程序设计(类似天梯训练)
  12. [渝粤教育] 中国地质大学 大学英语(3) 复习题
  13. 依据BaiduHack多线程爬取攻击点url和网站url,保存至txt
  14. 动易cms聚合空间最近访客访问地址错误解决方法
  15. Wireshark软件的使用教程
  16. uygurqa输入法android,uygurqa输入法app
  17. 国产数据库的里程碑式新突破:贵阳银行核心系统4.2亿订单采购易鲸捷
  18. 灵境(元宇宙) 赋能传统产业创新的理论方法与架构模式
  19. 如何为NFT熊市做准备
  20. IPAD上访问WINDOWS环境远程桌面---三款软件比较

热门文章

  1. JavaScript 原型精髓 #一篇就够系列
  2. SimpleDateFormat-多线程问题
  3. [MetalKit]37-Using-ARKit-with-Metal使用ARKit与Metal
  4. 第 49 章 Lighttpd
  5. 手工配置Service的过程中。
  6. python 模拟登录博客园并且自动发布一篇文章
  7. Unity 制作虚拟手柄例子
  8. MySQL复制篇之---半同步复制
  9. 三阶段提交协议(有限状态自动机)
  10. shell字符串的截取的问题