编辑“多源信息融合三维可视化平台”

来自CGTWiki
跳转至:导航搜索

警告:您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您登录创建一个账户,您的编辑将归属于您的用户名,且将享受其他好处。

该编辑可以被撤销。请检查下面的对比以核实您想要撤销的内容,然后保存下面的更改以完成撤销。
最后版本 您的文字
第1行: 第1行:
[[文件:三维可视化平台.png|缩略图|多源信息融合三维可视化平台CS界面]]
 
[[文件:平台BS界面.png|缩略图|多源信息融合三维可视化平台BS界面]]
 
[[文件:平台视频.mp4|缩略图|300px|平台视频]]
 
[[文件:小场景视频.mp4|缩略图|小场景视频]]
 
[[文件:Yungu.mp4|缩略图|天安云谷项目视频]]
 
[[文件:阳原视频融合例子.mp4|300px|缩略图|智慧园区]]
 
[[文件:电厂视频.mp4|300px|缩略图|电厂视频]]
 
[[文件:三维插件加载.mp4|300px|缩略图|三维插件加载]]
 
  
==平台git==
+
[[文件:三维可视化平台.png|缩略图|多源信息融合三维可视化平台]]
<pre>
 
http://git.cgt3d.cn/platform/3dgisplatform.git
 
</pre>
 
==数据服务器==
 
用户名:Administrator
 
 
 
密码:1qaz@wsx**
 
 
 
数据key:
 
<pre>
 
gN8qSo67MEwf9KOPgg0ATBSb60ebGwUCWKdrPKNH/TAbusqx73iBu5T4kZ1DyLXPwIuVagXoC5d4
 
vLd6BFpwv6mR3t9Nz1LbMxMUgrH9BznhQCscGZb/F8Wlz8mqtSSUGH/HBcL9ADE+QDW3qPba997T
 
xB8ErlDKuJ6duqOH6iHul1YLrO8B2lgsysPJu1mG31mWIGR9rCL+omXcTM1hqhFW6EsVXjnOqWHE
 
nmrRXmLcxsup70ud/PbJ3ML9UxjHkRhlmNBruHEzVvR2eRaTvOjcXs0doDu6nV3TaYYl7ujhzEIa
 
XTYCXtOmX8UVhWo7ml6o+PZKIH297o5XlxrP1Q==
 
</pre>
 
 
 
校内服务器测试
 
<pre>
 
http://mapin.cgt3d.cn:8089/WeServer/wmts/1.0.0/acimage/default/wgs84/3/1/6.jpg
 
 
 
http:///mapin.cgt3d.cn:8089/WeServer/tms/1.0.0/acimage
 
 
 
http://mapin.cgt3d.cn:8089/WeServer/tms/1.0.0/acdem
 
 
 
http://mapin.cgt3d.cn:8089/WeServer/wmts?Service=WMTS&Request=GetCapabilities
 
</pre>
 
 
 
SMB共享硬盘映射
 
 
 
\\smb.'''cgt3d.cn'''\smb
 
 
 
\\2001-da8-215-c38e-21df-d2bd-d2b1-2711.ipv6-literal.net\smb
 
 
 
 
 
 
 
[http://bbs.3s001.com/thread-325839-1-1.html 水经注中间件]
 
[[文件:中间件的命名用方法.7z|缩略图|中间件的命名用方法]]
 
 
 
==摄像头信息==
 
 
 
<pre>
 
rtsp://admin:abc12345@10.108.63.61:554/h264/ch1/main/av_stream
 
rtsp://admin:abc12345@10.108.62.64:554/h264/ch1/main/av_stream
 
rtsp://admin:abc12345@10.203.17.198:554/h264/ch1/main/av_stream
 
硬盘录像机IP:10.108.62.68;密码:a6688006
 
</pre>
 
 
 
==通用演示版本==
 
[ftp://cgt3d.cn/%C6%BD%CC%A8%CF%E0%B9%D8/%C6%BD%CC%A8%B0%B2%D7%B0%B0%FC/%CE%DE%D1%A7%D0%A3%B1%EA%CA%B6%B0%E6%B1%BE/3DPlatForm.exe 通用版本20201104]
 
===现存问题===
 
#模型图层应当默认加载
 
#模型图层下的模型单击跳转到相应模型,双层或右键显示其属性
 
#unity3d 非最终版本
 
 
 
===已解决的问题===
 
 
 
==功能目标框图==
 
[[文件:功能目标框图.png|800px|功能目标框图]]
 
 
 
==资料==
 
===[[CLI封装]]===
 
[[文件:Visual C++/CLI从入门到精通.pdf|缩略图|Visual C++/CLI从入门到精通]]
 
 
 
[[文件:精通.NET互操作.pdf|缩略图|精通.NET互操作]]
 
 
 
===[[插件设计]]===
 
[[文件:插件式GIS应用框架的设计与实现.pdf|缩略图|插件式GIS应用的设计与实现]]
 
  
 
== 平台的软件架构 ==
 
== 平台的软件架构 ==
===体系框架===
 
[[文件:总体框图.png|总体框图]]
 
  
 
=== 界面层 ===
 
=== 界面层 ===
第92行: 第14行:
  
 
=== 引擎层===
 
=== 引擎层===
平台采用双引擎架构,即可以利用osgEarth全球地理信息平台的优势展示大场景数据,又可以利用unity3D引擎良好的生态生成高质量的小场景交互操作,通过unity3D的插件能够加载BIM数据。
 
 
==== OSGEARTH ====
 
==== OSGEARTH ====
 
大场景的三维实时渲染引擎采用osgearth,其官网为[http://osgearth.org/ osgearth]。
 
大场景的三维实时渲染引擎采用osgearth,其官网为[http://osgearth.org/ osgearth]。
第115行: 第36行:
 
#工具插件齐全,小场景开发速度快,光影效果好
 
#工具插件齐全,小场景开发速度快,光影效果好
 
#C#语言开发,易于集成
 
#C#语言开发,易于集成
==三维地理信息数据==
 
===水经注地图下载器===
 
[[文件:水经注.7z|缩略图|水经注地图下载器]]
 
===数据链接===
 
#[ftp://cgt3d.cn/%B5%D8%D0%C5%CA%FD%BE%DD/%C8%AB%C7%F2%B5%DA%B0%CB%BC%B6tif.zip 全球第八级卫星数据]
 
#[ftp://cgt3d.cn/%B5%D8%D0%C5%CA%FD%BE%DD/%C8%AB%C7%F2%B5%DA10%BC%B6tif.zip 全球第十级卫星数据]
 
#[ftp://cgt3d.cn/%B5%D8%D0%C5%CA%FD%BE%DD/30m%B8%DF%B3%CC.tif 全球30m高程数据]
 
#[ftp://cgt3d.cn/%B5%D8%D0%C5%CA%FD%BE%DD/%C8%AB%C7%F2%B5%DA%B0%CB%BC%B6%A3%A8%B4%A6%C0%ED%BA%F3%A3%A9.7z 全球第八级卫星osgb数据(osgdem处理后)]
 
#[ftp://cgt3d.cn/地信数据/全球卫星影像瓦片数据.zip 全球卫星影像瓦片数据十级]
 
  
 
== 平台的刚需与团队优势 ==
 
== 平台的刚需与团队优势 ==
 
===三维平台与传感接入的刚性需求、痛点===
 
===三维平台与传感接入的刚性需求、痛点===
 
一个产品应当找到他的应用场景,解决客户的刚性需求。只能通过不断地调研解决问题。
 
一个产品应当找到他的应用场景,解决客户的刚性需求。只能通过不断地调研解决问题。
 
用户从来不关心你的技术有多牛,他们关心的是你的产品对他们的有用性。
 
===监狱系统的需求样例===
 
====实战平台GIS地图引擎====
 
#三维场景基础应用:场景浏览、图层管理、空间量测、兴趣点管理、搜索定位、路径巡视、区域录像、区域截屏、运动轨迹标注。
 
#业务模块集成
 
##实时视频融合(仅3D模式下)
 
##全景视频回溯与倒播
 
##报警源可视化
 
##警务指挥模块
 
##内置警用符号库,具有警力部署,执勤态势,智能巡更,日常警务,预案演练,协同标绘,用户权限分配等功能
 
##智能报警模块
 
##业务模块智能联动,智能报警管理,报警事件可视化,报警情况记录在案并具统计分析功能
 
##设备监控管理
 
##内置前端硬件设备管理日志,设备失效、损坏自动报警
 
##支持基于空间的数据可视化,如表格,统计图等
 
##支持基于配置文件的模块功能扩展
 
##实时更新具有定位信息的目标
 
##数据与传感器的数据可视化
 
#实战平台基础地图模型数据
 
##看守所指定范围倾斜摄影数据,精度0.05M
 
##看守所指定范围室内人工模型,精度0.05M
 
====业务功能====
 
#押解勤务:实时在三维地图上显示押解人员的位置及预设线路。当押解目标异常(延迟、离开预设线路、消失等)时,系统自动报警。
 
#4G图传:通过4G网线,把现场的视频及图片实时回传到平台内。
 
#视频点与场景结合:在三维场景中标记每个视频点的对应位置,并提供多种视频调取方式,单选,多选,自定义搜索等;
 
#警力分布:通过收集执勤人员的设备上的GPS位置信息,实时定位警员位置,在场景中体现警力分布情况。
 
#智慧监室智能终端模块:在系统中模拟终端的运行状态,与其它系统联动。
 
#门禁智能管理模块:在系统中模拟门禁的运行状态,当有触发门禁的报警时,通过系统与视频联动,自动弹出触发点附近的视频。
 
#人脸识别管理模块:人脸识别数据及呈现在可视化系统内。
 
#应急求助模块:在系统中模拟求助盒的运行状态,当求助盒被触发时,通过系统与视频联动,自动弹出触发点附近的视频。
 
#高压电网模块:在系统中模拟电网的运行状态,当有触发电网的报警时,通过系统与视频联动,自动弹出触发点附近的视频。
 
#在押人员报告管理模块:在系统中模拟报告箱的运行状态,当有触发报警时,通过系统与视频联动,自动弹出触发点附近的视频。
 
#人脸识别管理模块:人脸识别数据及呈现在可视化系统内。
 
====三维地图中数据呈现的硬件列项====
 
[[文件:硬件需求.png|800px|无框|无]]
 
  
 
===三维平台的团队优势===
 
===三维平台的团队优势===
#工程硕士占大多数,没有论文压力,可一年内全身心的投入平台建设。
+
#工程硕士占大多数,没有论文压力,可一年内全身心的投入平台建设。(这可能是主观愿望,也不一定是真正的优势)
  
 
== 平台研发的近期目标 ==
 
== 平台研发的近期目标 ==
第173行: 第49行:
 
*N路视频在同一模型上的加载
 
*N路视频在同一模型上的加载
 
*服务器选用[[海康威视]]的服务器
 
*服务器选用[[海康威视]]的服务器
*<big>'''使用blender进行视频模型的矫正'''</big>
 
[[文件:视频矫正.mp4|无|800px|使用blender矫正视频]]<br>
 
  
 
=== 人员,车辆等的室内室外定位 ===
 
=== 人员,车辆等的室内室外定位 ===
第185行: 第59行:
  
 
=== 三维场景下大规模视频的拼接与融合 ===
 
=== 三维场景下大规模视频的拼接与融合 ===
[https://www.xianjichina.com/special/detail_397037.html 安防与物联网]
 
 
 
====背景与意义====
 
====背景与意义====
 
  随着视频监控联网系统的不断普及和发展, 网络摄像机 更多的应用于监控系统中,尤其是高清时代的来临,更加快了网络摄像机的发展和应用。
 
  随着视频监控联网系统的不断普及和发展, 网络摄像机 更多的应用于监控系统中,尤其是高清时代的来临,更加快了网络摄像机的发展和应用。
第204行: 第76行:
 
  虽然三维理信息系统有很多的优点,但三维地理信息系统为了追求高速渲染,而牺牲了渲染质量,尤其对小场景的渲染。
 
  虽然三维理信息系统有很多的优点,但三维地理信息系统为了追求高速渲染,而牺牲了渲染质量,尤其对小场景的渲染。
  
==== 国内外现状 ====
+
==== 海内外现状 ====
 
文献:
 
文献:
 
*[http://www.irgrid.ac.cn/handle/1471x/2327533?mode=full# 基于 GIS 的无人机地理视频三维可视化]
 
*[http://www.irgrid.ac.cn/handle/1471x/2327533?mode=full# 基于 GIS 的无人机地理视频三维可视化]
*[https://cloud.tencent.com/developer/article/1501942 论视频与三维图形的融合]
+
 
*[http://xb.sinomaps.com/CN/10.11947/j.AGCS.2020.20190282 三维GIS场景与多路视频融合的对象快速确定法]
+
 
*[http://cctv.cps.com.cn/article/201301/683503_all.html 基于三维视频融合的监控分析系统]
+
现在市场上做视频拼接的公司有如下:
*[https://wenku.baidu.com/view/3c67dd5cba1aa8114531d906.html 3DGIS与多视频融合系统的设计与实现]
+
*[http://www.innovisgroup.com/plan.html 正安维视 北京 有GIS]
*[http://www.cctv.cps.com.cn/article/201306/690225_all.html 基于3D的GIS智慧安防可视化管理平台]
+
*[http://www.smartyunzhou.com/ 智慧云舟 北京 有GIS]
*[https://blog.csdn.net/lxg9305171/article/details/79970009 WebGL中实现三维融合视频投影技术]
+
*[http://www.converse3d.com/fangan.php?id=202&pid=1 中天灏景 北京 有GIS]
*[https://blog.csdn.net/csedisys/article/details/88814802  CSDN博客 高空瞭望视频监控+三维场景视频融合平台]
+
*[http://www.chinadaohe.com.cn/NewsDetail.aspx?ID=148 道和汇通 北京 无GIS]
*[https://magazine.supermap.com/view-1000-221.aspx 超图三维场景中的多源数据融合技术]
+
*[http://www.netalent.cn/softwarecase/show/48.html 互联精英 深圳 无GIS]
 +
 
 +
 
 +
知乎上有关的链接:
 +
*[https://zhuanlan.zhihu.com/p/92525723 三维GIS视频融合监控平台知乎]
  
 
==== 平台现状 ====
 
==== 平台现状 ====
第220行: 第96行:
  
 
==== OSGEARTH下的动态投影纹理 ====
 
==== OSGEARTH下的动态投影纹理 ====
[[文件:无人机视频融合.mp4|300px|缩略图|无人机投影纹理]]
 
 
===== OSGEARTH下shader的加载 =====
 
===== OSGEARTH下shader的加载 =====
 
===== 投影纹理的基础知识 =====
 
===== 投影纹理的基础知识 =====
第233行: 第108行:
 
室内定位是指在室内环境中实现位置定位,一般采用无线通讯、基站定位、惯导定位等多种技术集成形成一套室内定位体系,从而实现人员、物体等在室内空间中的实时位置监控。
 
室内定位是指在室内环境中实现位置定位,一般采用无线通讯、基站定位、惯导定位等多种技术集成形成一套室内定位体系,从而实现人员、物体等在室内空间中的实时位置监控。
 
===== 常见室内定位技术 =====
 
===== 常见室内定位技术 =====
目前常见的室内无线定位技术有:Wi-Fi、蓝牙、红外线、超宽带、RFID、ZigBee和超声波等,各项技术的优势以及缺点将在下图中综合给出。<br>
+
目前常见的室内无线定位技术有:Wi-Fi、蓝牙、红外线、超宽带、RFID、ZigBee和超声波等。
 
+
*Wi-Fi技术
*[https://www.jianshu.com/p/3f75a30bd37d  5G如何推动室内定位领域的发展]
+
<nowiki>通过无线接入点(包括无线路由器)组成的无线局域网络(WLAN),可以实现复杂环境中的定位、监测和追踪任务。它以网络节点(无线接入点)的位置信息为基础和前提,采用经验测试和信号传播模型相结合的方式,对已接入的移动设备进行位置定位,最高精确度大约在1米至20米之间。如果定位测算仅基于当前连接的Wi-Fi接入点,而不是参照周边Wi-Fi的信号强度合成图,则Wi-Fi定位就很容易存在误差(例如:定位楼层错误)。
 +
另外,Wi-Fi接入点通常都只能覆盖半径90米左右的区域,而且很容易受到其他信号的干扰,从而影响其精度,定位器的能耗也较高。</nowiki>
 +
*蓝牙技术
 +
<nowiki>蓝牙通讯是一种短距离低功耗的无线传输技术,在室内安装适当的蓝牙局域网接入点后,将网络配置成基于多用户的基础网络连接模式,并保证蓝牙局域网接入点始终是这个微网络的主设备。这样通过检测信号强度就可以获得用户的位置信息</nowiki>。
 +
<nowiki>蓝牙定位主要应用于小范围定位,例如:单层大厅或仓库。对于持有集成了蓝牙功能移动终端设备,只要设备的蓝牙功能开启,蓝牙室内定位系统就能够对其进行位置判断。
 +
不过,对于复杂的空间环境,蓝牙定位系统的稳定性稍差,受噪声信号干扰大。</nowiki>
 +
*红外线技术
 +
<nowiki>红外线技术室内定位是通过安装在室内的光学传感器,接收各移动设备(红外线IR标识)发射调制的红外射线进行定位,具有相对较高的室内定位精度。
 +
但是,由于光线不能穿过障碍物,使得红外射线仅能视距传播,容易受其他灯光干扰,并且红外线的传输距离较短,使其室内定位的效果很差。当移动设备放置在口袋里或者被墙壁遮挡时,就不能正常工作,需要在每个房间、走廊安装接收天线,导致总体造价较高。</nowiki>
 +
*超宽带技术
 +
<nowiki>超宽带技术与传统通信技术的定位方法有较大差异,它不需要使用传统通信体制中的载波,而是通过发送和接收具有纳秒或纳秒级以下的极窄脉冲来传输数据,可用于室内精确定位,例如:战场士兵的位置发现、机器人运动跟踪等。</nowiki>
 +
<nowiki>超宽带系统与传统的窄带系统相比,具有穿透力强、功耗低、抗多径效果好、安全性高、系统复杂度低、能够提高精确定位精度等优点,通常用于室内移动物体的定位跟踪或导航。</nowiki>
 +
*RFID技术
 +
<nowiki>RFID定位技术利用射频方式进行非接触式双向通信交换数据,实现移动设备识别和定位的目的。它可以在几毫秒内得到厘米级定位精度的信息,且传输范围大、成本较低;不过,由于以下问题未能解决,以RFID定位技术的适用范围受到局限。
 +
1. RFID不便于整合到移动设备之中
 +
2. 作用距离短(一般最长为几十米)
 +
3. 用户的安全隐私保护
 +
4. 国际标准化</nowiki>
 +
*ZigBee技术
 +
<nowiki>ZigBee是一种短距离、低速率的无线网络技术。它介于RFID和蓝牙之间,可以通过传感器之间的相互协调通信进行设备的位置定位。这些传感器只需要很少的能量,以接力的方式通过无线电波将数据从一个传感器传到另一个传感器,所以ZigBee最显著的技术特点是它的低功耗和低成本。</nowiki>
 +
*超声波技术
 +
<nowiki>超声波定位主要采用反射式测距(发射超声波并接收由被测物产生的回波后,根据回波与发射波的时间差计算出两者之间的距离),并通过三角定位等算法确定物体的位置。
 +
超声波定位整体定位精度较高、系统结构简单,但容易受多径效应和非视距传播的影响,降低定位精度;同时,它还需要大量的底层硬件设施投资,总体成本较高。</nowiki>
 +
*视觉定位
 +
<nowiki>用手机摄像头或双目摄像头拍摄周边画面,并和已经预先储存的环境图像进行匹配,确定自己的位置。定位精度小于米,优点是可以直接用手机定位,不需要在室内部署基础设施。缺点是技术不成熟,稳定性不高,图像处理耗费大量和电量资源,定位操作方式怪异,用户体验不好,理论上有不可避免的问题,例如在环境单一的长走廊或类似场景中,仅靠机器视觉是难以准确定位的。</nowiki>
 +
*惯性导航技术
 +
<nowiki>这是一种纯客户端的技术,主要利用终端惯性传感器采集的运动数据,如加速度传感器、陀螺仪等测量物体的速度、方向、加速度等信息,基于航位推测法,经过各种运算得到物体的位置信息。随着行走时间增加,惯性导航定位的误差也在不断累积。需要外界更高精度的数据源对其进行校准。所以现在惯性导航一般和WiFi指纹结合在一起,每过一段时间通过WiFi请求室内位置,以此来对MEMS产生的误差进行修正。该技术目前的商用得也比较成熟,在扫地机器人中得到广泛应用。</nowiki>
 +
*LED可见光技术
 +
<nowiki>可见光是一个新兴领域,通过对每个LED灯进行编码,将ID调制在灯光上,灯会不断发射自己的ID,通过利用手机的前置摄像头来识别这些编码。利用所获取的识别信息在地图数据库中确定对应的位置信息,完成定位。根据灯光到达的角度进一步细化定位的结果,高通公司做到了厘米级定位精度。由于不需要额外部署基础设施,终端数量的扩大对性能没有任何的影响,并且可以达到一个非常高的精度,该技术被高通公司所看好。目前,可见光技术在北美有很多商场已经在部署。用户下载应用后,到达商场里的某一个货架,通过检测货架周围的灯光即可知晓具体位置,商家在通过这样的方法向消费者推动商品的折扣等信息。</nowiki>
  
 
===== 主要运营公司 =====
 
===== 主要运营公司 =====
室内定位技术主要分基站定位和惯导定位两种服务商。基站定位服务商主要有:谷歌、诺基亚、TI、苹果、高德、百度等采用WIFI定位;惯导定位服务商主要有:美国的NAVISEER,龙旗瑞谱科技,上海消防研究所。商用技术基本采用WIFI,RFID等无线通讯基站方案,针对应急救援主要采用惯性导航等技术方案。目前国内的几家设备公司例如蜂鸟视图[[https://www.fengmap.com/solution-business.html]]、万位科技[[https://www.wanwaytech.com/qiye]]提供无线和有线多种设备,可利用GPS+北斗+WIFI+基站进行定位,蜂鸟视图提供Android、IOS、JAVAScript SDK支持,无线设备多为盒状物体,可续航数年产品报价与需求量有关,目前尚不可获得报价。也有APP例如寻鹿、万汇等软件,但只能提供特定城市的特定区域定位导航。
+
室内定位技术主要分基站定位和惯导定位两种服务商。基站定位服务商主要有:谷歌、诺基亚、TI、苹果、高德、百度等采用WIFI定位;惯导定位服务商主要有:美国的NAVISEER,龙旗瑞谱科技,上海消防研究所。商用技术基本采用WIFI,RFID等无线通讯基站方案,针对应急救援主要采用惯性导航等技术方案。目前国内的几家设备公司例如蜂鸟视图(https://www.fengmap.com/solution-business.html)、万位科技(https://www.wanwaytech.com/qiye/)提供无线和有线多种设备,可利用GPS+北斗+WIFI+基站进行定位,蜂鸟视图提供Android、IOS、JAVAScript SDK支持,无线设备多为盒状物体,可续航数年产品报价与需求量有关,目前尚不可获得报价。也有APP例如寻鹿、万汇等软件,但只能提供特定城市的特定区域定位导航。
  
 
==== 温湿度传感器 ====
 
==== 温湿度传感器 ====
温湿度传感器是传感器其中的一种,是把空气中的温湿度通过一定检测装置,测量到温湿度后,按一定的规律变换成电信号或其他所需形式的信息输出,用以满足用户需求。
 
 
 
==== 门禁设备 ====
 
==== 门禁设备 ====
 
==== 电力行业常见传感器 ====
 
==== 电力行业常见传感器 ====
  
 +
=== 实时水面渲染 ===
 +
平台海洋实时渲染采用的是SUNDOG公司triton插件。<br>
  
OsgEarth平台海洋实时渲染采用的是SUNDOG公司triton插件。<br>
 
基于FFT的大规模海面模拟:http://blog.sina.com.cn/s/blog_15ff6002b0102xnhc.html
 
  
===建筑信息模型(BIM)===
 
*[https://www.bilibili.com/video/BV1uE411H7sR?from=search&seid=17041706408266536734 unity与revit的联合开发]
 
  
建筑信息模型(Building Information Modeling)是建筑学、工程学及土木工程的新工具。建筑信息模型或建筑资讯模型一词由Autodesk所创的。它是来形容那些以三维图形为主、物件导向、建筑学有关的电脑辅助设计。当初这个概念是由Jerry Laiserin把Autodesk、Bentley系统软件公司、Graphisoft所提供的技术向公众推广。
+
==== 海浪仿真 ====
 +
国内外很多专家学者针对海浪仿真做了大量的研究工,随着人们对海浪的深入研究,海浪建模已取得了较大突破,目前对海面波浪进行建模可以分为'''基于物理模型的方法'''、'''基于几何模型的方法'''、'''基于谱分析的方法'''以及'''基于粒子系统的方法'''。<br>
  
 +
=====基于几何模型的方法=====
 +
基于几何模型的方法中的典型方法是 Gerstner 模型。Gerstner 模型描述海浪各质点运动模式主要是从动力学的角度,其第一次被 Fournier 引入计算机图形图像领域是在 1986 年。Gerstner 模型最初被提出是作为流体动力学方程组的近似解决方案。它在考虑风为动力,重力为回复力的风成浪的基础上,根据海浪变化的圆轨道参数来描述海浪。
 +
该模型假设水表面的每一个粒子沿着其静止位置点作圆周运动。在一个三维立体环境中,假设海平面位于 XY 平面,Z 轴指向朝上,水粒子沿着 X 轴方向运动,在t 时刻其波动传播的半径为 r ,则其运动状态用数学公式表示如下:<br>
 +
                                                                                                                                        z=z<sub>0</sub>-rcos(kx<sub>0</sub>-ωt)<br>
 +
                                                                                                                                        x=x<sub>0</sub>+rsin(kx<sub>0</sub>-ωt)<br>
 +
此公式描述t时刻单个波的运动情况,其中水粒子静止时在X、Z轴的坐标分别为x<sub>0</sub>、z<sub>0</sub>;r为水粒子运动半径;k为点 (x<sub>0</sub>,z<sub>0</sub>)处的波数;ω为波的角速度;t为时间, 调整k、r可以得到不同的波形。<br>
 +
这种方法将水粒子的运动轨迹看成是在半径为1/k的圆上,距离圆心为r的点P沿距离X轴下方1/k的直线滚动得到的,如下图所示:<br>
 +
[[文件:运动轨迹.png|缩略图|居中|运动轨迹]]
 +
比起普通的正余弦波动方程,Gerstner Wave 并不复杂,但它们描述的波形却有很大差别,正余弦波描述的海浪的波峰和波谷波的弧度都是均匀的,不能生产相对较尖的波峰,而 Gerstner 描述的波形正好可以产生更陡的波形,波峰尖,波谷宽,因此Gerstner描述的波形更加逼真。<br>
 +
但是 Gerstner 模型存在一定的缺陷:其只采用垂直方向和水平方向的单一正弦波来进行模拟,故而生成的海面比较规则。而真实的海浪运动是一种不规则行为,故模拟情况与真实海面的运动有较大的差别,无法表现海浪的随机性和不规则性。为了增强模拟的真实感和逼真度,通常采用多个Gerstner Wave相互叠加的方法生成海面,增加波形的变化。<br>
 +
由于这种方法具有简单直观、计算速度较快等优点,而波形函数本身可以反映海洋表面高度的变化,故而海浪运动一般采用这种模拟方法,适合模拟大面积海面。但是其具有一定的局限性,当进行波浪的破碎等现象的模拟是,生成的场景不够真实,故适用范围较窄<sup>[1-4]</sup>。<br>
 +
 +
=====基于谱分析的方法=====
 +
这种方法建立在海洋观测结果的基础上,运用有线性叠加法和线性过滤法模拟海浪。线性叠加法因其物理概念清晰,计算方便快捷且模拟结果最为相似。<br>
 +
线性过滤法是以待模拟的海浪谱为依据设计出一个过滤器,选择适当的系统函数将白噪声作为一线性系统输入该系统并输出所需模拟的波面过程。该方法并没有得到广泛应用,因与真实的海浪谱误差较大。<br>
 +
线性叠加法是假定组成波是随机且独立的,将线性的简单波动迭加起来,多个振幅、角频率和随机相位都不相同的波叠加形成海浪。叠加的方式可以是线性的,也可以是非线性的。随机过程的一次实现只需要确定各个组成波的波幅、角频率和随机相位。这种方法具有很强的灵活性,并且由于它的数据基础来自于海洋统计学模型,因此渲染出来的水面真实感较强。但是缺点是采用规则网格,数据量大,很难实时渲染水面<sup>[5-8]</sup>。<br>
 +
 +
=====基于分形的方法=====
 +
无论从时间上还是空间上看,海浪的运动都具有不规则性和不重复性,因此其本身可以被认为是一个十分复杂的自然现象。另外,海洋学家多年来对海浪谱进行了研究得出以下结论:海浪属于狭带谱的幅值服从锐利分布的正态随机过程。可以采用分形函数来描述具有负幂率谱的过程。这说明利用分形理论模拟随机海浪是可行的。<br>
 +
Perlin噪声(Perlin  noise)指由 Ken  Perlin 发明的自然噪声生成算法。Perlin 噪声这个名词现在被同时用于指代两种有一定联系的的噪声生成算法,即Simplex 噪声和分形噪声,这两种噪声都广泛地应用于计算机图形学,这里所说的柏林噪声函数指的是分形噪声。<br>
 +
分形噪声可以用来模拟自然界的自相似过程,包括海岸线,地形,海浪等。分形噪声的原理是利用 Perlin 噪声频率受限的特性,通过不断叠加更高频率的Perlin 噪声达到自相似的效果。<br>
 +
Perlin 噪声函数实际上属于一个随机数生成器,它与普通的随机数生成器的区别是它的参数是一个整数,基于这个参数做返回的随机数。如果两次传递回来的参数相同,则它产生的两次随机数也相同。要创建一个 Perlin 噪声函数,首先需要一个噪声函数和一个插值函数。<br>
 +
下图是一个噪声函数的例子: <br>
 +
[[文件:由噪声函数产生的随机数.png|缩略图|居中|由噪声函数产生的随机数]]
 +
X轴上每个点被赋予一个0到1之间的随机数。对上图中的每个点插值,形成的连续噪声函数如下图所示。<br>
 +
[[文件:连续的噪声函数.png|缩略图|居中|连续的噪声函数]]
 +
把若干个具有不同频率和振幅的连续光滑函数加起来,就可以获得Perlin噪声函数。由多个一维噪声函数构建一个Perlin函数的过程如下图所示。<br>
 +
[[文件:构建Perlin函数.png|缩略图|居中|构建Perlin函数]]
 +
下图是一个二维Perlin函数的例子:<br>
 +
[[文件:二维的噪声函数.png|缩略图|居中|二维的噪声函数]]
 +
以上是二维的噪声函数,把这些函数叠加起来产生如下的噪声样式,也就是二维Perlin函数:<br>
 +
[[文件:二维Perlin函数.png|缩略图|居中|二维Perlin函数 ]]
 +
对海浪的建模所用的基于分形的方法,即使通过构造二维的 Perlin 函数,并将计算所得的噪声值作为网格点的水面高度值得到的连续动荡变化的水面高度场,从而构建逼真的海面。
 +
 +
=====基于动力模型的方法=====
 +
基于动力系统模型的典型方法为粒子系统。这种方法主要用于解决如何在计算机上生成和显示由大量运动和变化有一定规则的微小粒子组成大物质的问题,与其他传统的渲染技术相比,这种技术在模拟该现象时具有真实感方面的优势。在海面建模的问题上,主要是对由波破碎和与障碍物相碰引起的水沫和飞沫建模,该方法被认为是迄今为止模拟不规则物体最为成功的一种图形生成算法。<br>
 +
粒子系统方法假设景物由若干不规则的、随机分布的粒子组成,这些微小粒子聚集在一起形成不规则的模糊物体,用于构造和绘制景物。粒子系统是一个动态系统,可以生长和消亡。也就是说,每个粒子除了具有位置、速度、颜色和加速度等属性外,还有一定的生命周期,即每个粒子都有自己的生命值,随时间变化,粒子的生命值不断减小,当粒子的生命值减小到零时,粒子便进入死亡状态,此时该生命周期结束,下一个生命周期随即开始。这个过程不断地有新粒子生成和旧粒子消失,这些粒子不断地改变形状,不断地运动,从而引起景物的总体形态和特征的变化。为使景物的随机性更加真实,通常采用一些简化的随机过程来控制粒子的形状、特征和运动。在确定每一个粒子参数的变化范围的基础上,在该范围内随机确定参数值,进而确定该粒子的状态,以增大粒子系统的随机性。<br>
 +
粒子系统瞬间画面的生成主要遵循以下步骤:1)在系统中生成一个新的粒子;2)赋予新粒子一定的属性;3)删除生命值为零的粒子;4)根据粒子的动态属性对粒子添加外力作用,如重力、风力等空间扭曲,实现对粒子的随机移动和变换;5)绘制并显示由所有生命值不为零的粒子组成的图形。<br>
 +
一般情况下,在三维空间中粒子系统的位置与运动取决于发射器。发射器可以用一组粒子行为参数及其在三维空间中的位置来表示。粒子生成速度、粒子初始速度向量和粒子寿命组成了粒子行为参数。当粒子进入系统中后,受控的随机过程可以模拟其运动。为了得到较逼真的景象,有时需要对粒子进行纹理贴图。 <br>
 +
粒子系统的优点是,由于其充分体现了物体的动态性和随机性,在模拟火、云、水、森林和原野等自然景物时具有一定的优势;其缺点则是,构造太简单、粒子数太少的粒子模型在真实性上会有欠缺,复杂、粒子数过多的粒子模型又面临着计算量较大,难以实时进行表现的问题<sup>[9-11]</sup>。
 +
 +
=====基于物理模型的方法=====
 +
 +
基于物理模型的建模,是针对液体的波动,从海面波浪的物理特性出发,不直接模拟海浪的运动,通过计算力学N-S方程获得海浪内部各质点的运动状态,用该方法模拟的波形充分地考虑了海浪运动的随机性,能更好、更真实地反映海浪形态各个要素的变化,同时也能较充分地反映海浪的成长特性及能量分布<sup>[12-16]</sup>。
 +
 +
'''参考文献:'''<br>
 +
 +
[1] Blinn J F. Simulation of wrinkled surfaces[J]. Computer Graphics,1978, 12(3):286-292.
 +
 +
[2] Fishman B, Schachter B. Computer display of height fields[J]. Computer Graphic,1980,14(5):53-60.
 +
 +
[3] Max N L. Vectorized procedural models for natural terrain: waves and islands in the sunset[J]. Computer Graphics, 1981, 15(3):317-324.
 +
 +
[4] Rankine W J W. On the exact form of waves near the surfaces of deep water[J]. Phil. Trans. R. Soc. A, 1863, 153(4):127–138.
 +
 +
[5] Tessendorf. Simulating ocean water[EB/OL]. http://home.gte.net/tssndrf/index.html, 2001.
 +
 +
[6]Jensen. Deep-water animation and rendering[EB/OL]. http://www.gamasutra.com/
 +
 +
gdce/Jensen/Jensen_01.html, 2001.
 +
 +
[7] Deviprasad T,Kesavadas T. Virtual Prototyping of Assembly Components Using Process Modeling[J]. Journal of Manufacturing Systems, 2003, 22(1):16-27.
 +
 +
[8] 熊艳飞, 石志广, 郭建, et al. 基于海浪谱模型和 FFT 的海面建模[J]. 重庆理工大学学报(自然科学), 2014, 28(4):77-82.
 +
 +
[9] Reeves W T, L Ltd. Particle system—a technique for modeling a class of fuzzy objects[J]. Computer Graphics, 1983, 17(3):359-376.
 +
 +
[10] Peachey D R. Modeling waves and surf[J]. Computer Graphics, 1986, 20(4):65-74.
 +
 +
[11] 张艺衡, 李晓峰, 刘小玲, et al. 基于GPU粒子系统的可交互水波实时模拟[J]. 计算机工程与设计, 2014, 35(8):2831–2835.
 +
 +
[12] Chen J X, Lobo N V. Toward interactive-rate simulation of fluids with moving obstacles using Navier-Stokes equations[J]. Graph Models Image Process, 1995, 57(2):107-116.
 +
 +
[13]Foster N, Metaxas D. Modeling water for computer animation[J]. Communications of the ACM, 2000, 43(7):60-67.
 +
 +
[14] Kass M, Miller G. Rapid, stable fluid dynamics for computer graphics[J]. ACM SIGGRAPH Computer Graphics, 1990, 24(4):49-57.
 +
 +
[15] Chentanez N, Müller M. Real-time Eulerian water simulation using a restricted tall cell grid[J]. ACM Transactions on Graphics, 2011, 30(4):82-93.
 +
 +
[16] 刘文龙, 张静. 用MC算法优化基于 SPH的海浪粒子模型[J]. 海洋技术学报, 2017, 36(2):41-45.
 +
 +
==== 湖面仿真 ====
 +
 +
=== 实时云模拟 ===
 
=== 视点漫游 ===
 
=== 视点漫游 ===
  
第266行: 第250行:
  
 
=== 数据下载 ===
 
=== 数据下载 ===
本平台所需数据主要下载自[https://planet.openstreetmap.org  Planet OSM],均为免费数据。
+
本平台所需数据主要下载自Planet OSM(https://planet.openstreetmap.org),均为立刻下载的免费数据。
 
==== 影像数据 ====
 
==== 影像数据 ====
 
影像数据目前包含数个视频,下载来源为https://10.108.59.113/:8443/svn/WPFOSG。
 
影像数据目前包含数个视频,下载来源为https://10.108.59.113/:8443/svn/WPFOSG。
第272行: 第256行:
 
高程数据下载自谷歌地图和水经注地图http://www.rivermap.cn的高程数据下载。
 
高程数据下载自谷歌地图和水经注地图http://www.rivermap.cn的高程数据下载。
 
==== 矢量数据 ====
 
==== 矢量数据 ====
矢量数据主要包括全国和数个城市周边的OSM数据,Planet OSM[[https://planet.openstreetmap.org]]提供以下两个下载路径:GeoFabrik[[https://planet.osm.org]]和BBBike[[https://download.bbbike.org/osm ]],其中GeoFabrik[[http://download.geofabrik.de]] 提供的是洲级和国家级数据下载,可以根据需求直接在页面进行下载。而BBBike[[https://download.bbbike.org/osm ]]提供了一些切割完成的特定区域和全球任意地区的任意形状的地区地图下载,文件大小下载上限为520M,根据需要选择选项,需要提供接收邮箱,待选定区域的数据在线处理结束后将下载链接发送至邮箱,点击链接即可下载。以上所列出的下载方式据提供多种数据格式,由于矢量数据的处理软件为Maperitive要求使用OSM文件,故下载数据时选用了OSM数据。此[[http://maperitive.net]]为地图处理软件Maperitive官网,根据页面提示可以立即下载,加压下载文件后打开应用程序文件,按照以下步骤操作。<br>
+
矢量数据主要包括全国和数个城市周边的OSM数据,Planet OSM(https://planet.openstreetmap.org),提供以下两个下载路径:https://planet.osm.org,其中http://download.geofabrik.de 提供的是洲级和国家级数据下载,可以根据需求直接在页面进行下载。而https://download.bbbike.org/osm 提供了一些切割完成的特定区域和全球任意地区的任意形状的地区地图下载,文件大小下载上限为520M,根据需要选择选项,需要提供接收邮箱,待选定区域的数据在线处理结束后将下载链接发送至邮箱,点击链接即可下载。以上所列出的下载方式据提供多种数据格式,由于矢量数据的处理软件为Maperitive要求使用OSM文件,故下载数据时选用了OSM数据。http://maperitive.net为地图处理软件官网,根据页面提示可以立即下载,加压下载文件后打开应用程序文件,按照以下步骤操作。<br>
# 1、设定地图区域:<br>
+
1、设定地图区域:目前Maperitive使用电脑内存来存储地图数据,因此需根据电脑配置和需求来限定地图范围。(我的电脑32G切省级的没有问题,全国地图的话,32G内存依然不够)。一般有两种方式来设定地图区域:(1)打开Maperitive,调整地图显示区域至需要范围,点击Map / Set Bounds即可。(2)使用命令行(软件底部),例如:bounds-set 117.04261175,36.6741025754786,117.06649825,36.6808674694984<br>
目前Maperitive使用电脑内存来存储地图数据,因此需根据电脑配置和需求来限定地图范围。(我的电脑32G切省级的没有问题,全国地图的话,32G内存依然不够)。一般有两种方式来设定地图区域:
+
2、关闭web map:
*(1)打开Maperitive,调整地图显示区域至需要范围,依次点击Map / Set Bounds即可。
 
*(2)使用命令行(软件底部),例如:bounds-set 117.04261175,36.6741025754786,117.06649825,36.6808674694984<br>
 
# 2、关闭web map:<br>
 
 
打开web map 在切图是会下载在线地图数据,因此速度会非常慢,一般的做法是先将要切的地图数据下载下来,将web map关闭(点击web map前面的黄色五角星即可)。<br>
 
打开web map 在切图是会下载在线地图数据,因此速度会非常慢,一般的做法是先将要切的地图数据下载下来,将web map关闭(点击web map前面的黄色五角星即可)。<br>
#3、导入本地地图数据:<br>
+
3、导入本地地图数据:
依次点击file--》Open Map Source--》选择以下载好的.osm文件,软件开始加载数据,具体时间取决于数据大小。<br>
+
依次点击file--》Open Map Source--》选择以下载好的.osm文件,软件开始加载数据,具体时间取决于数据大小。
 
在加载完成后,会在命令提示区显示完成:当然,Maperitive本身也提供了地图数据下载(Map / Download OSM Data)<br>
 
在加载完成后,会在命令提示区显示完成:当然,Maperitive本身也提供了地图数据下载(Map / Download OSM Data)<br>
#4、修改地图样式:<br>
+
4、修改地图样式:
依次选择 Map / Switch To Rules 来修改地图样式,因为没有什么特殊需要,在这我选择default 。选择后,稍等便可以在下面预览到显示效果。<br>
+
选择 Map / Switch To Rules 来修改地图样式,因为没有什么特殊需要,在这我选择 1 default  。选择后,稍等便可以在下面预览到显示效果。<br>
#5、选择 Tools / Generate Tiles ,Maperitive会根据选择区域大小自己选择zoom范围并开始切图。<br>
+
5、选择 Tools / Generate Tiles ,Maperitive会根据选择区域大小自己选择zoom范围并开始切图。如果需要自定义zoom范围,可使用命令行(为简单起见,我将zoom范围设置为1,2,3):
如果需要自定义zoom范围,可使用命令行(我将zoom范围设置为1-18):
+
generate-tiles minzoom=1 maxzoom=3在命令提示行提示命令执行情况并返回结果:<br>
generate-tiles minzoom=1 maxzoom=18在命令提示行提示命令执行情况并返回结果<br>
+
6、至此,在Maperitive的安装目录下生成了Tiles文件夹,各地图切片(256X256的png图片)分级的保存在此文件夹下。
#6、至此,在Maperitive的安装目录下生成了Tiles文件夹,各地图切片(256X256的png图片)分级的保存在此文件夹下,可以直接移动到所需的文件夹。
 
*'''注意:'''下一次切割的文件会覆盖前一次的文件,所以务必将tiles文件夹中的文件挪出,否则将丢失前一次数据!
 
  
 
=== 模型加载 ===
 
=== 模型加载 ===
第296行: 第275行:
  
 
=== 矢量数据加载 ===
 
=== 矢量数据加载 ===
矢量加载功能:选择文件、加载文件,添加其颜色属性的丰富选择,添加文字加载选项,实现点线面的各种加载,可进行场景树的显示/复选框的加载删除,点击属性框可显示矢量文件的具体信息,
+
平台中的二维地图数据使用了Maperitive地图软件处理下载自Planet OSM的全国和部分城市地区的OSM数据地图并进行瓦片的制作,以此来实现地域和地理信息显示的快速加载,摒弃了之前的全矢量数据,解决了数据加载过慢引起的各种问题。其次,采用叠加方式加载了全国10层和北京/深圳/菏泽等城市及周边地区的18层二维地图瓦片数据,数据格式使用切割工具默认格式,格式设置代码如下:
并且可以更改属性框中的线/面颜色/显示范围,更改后支持重新加载/保存功能。<br>
+
        <pre>
主要功能界面:<br>
+
        properties
==== 1.矢量加载主界面 ====<br>==== 2.矢量初始加载界面的颜色选择 ====<br>==== 3.矢量加载的效果图示(面形式)====<br>
+
map-background-color : #F1EEE8
==== 4.矢量加载完成后,场景树点击显示的属性框,并且可以进行修改,重新渲染,然后保存到XML中 ====<br>
+
map-background-opacity : 0
[[文件:矢量加载.png|缩略图|无]]
+
map-sea-color : #B5D0D0
[[文件:颜色.png|缩略图|无]]
+
font-weight : bold
[[文件:加载图示.png|缩略图|无]]
+
font-family : Verdana
[[文件:矢量属性框.png|缩略图|无]]<br>
+
text-max-width : 7
 +
text-halo-width : 25%
 +
text-halo-opacity : 0.75
 +
text-align-horizontal : center
 +
text-align-vertical : center
 +
font-stretch : 0.9
 +
map.rendering.lflp.min-buffer-space : 5
 +
map.rendering.lflp.max-allowed-corner-angle : 40
 +
        </pre>
  
 
=== 小场景 ===
 
=== 小场景 ===
 
小场景按规划路线自动漫游和第一人称手动漫游+“后续”监控视频流播放
 
小场景按规划路线自动漫游和第一人称手动漫游+“后续”监控视频流播放
 
<big>单场景漫游:</big><br>
 
<big>单场景漫游:</big><br>
[[文件:OSG小场景 学校.png|400px|无|OSG小场景_学校]]
+
[[文件:OSG小场景 学校.png|800px|无|OSG小场景_学校]]
 
+
<big>多场景漫游及监控视频流播放:</big>
=== 数据保存 ===
+
[[文件:OSG小场景 场景选择界面.png|800px|无|OSG小场景_场景选择界面]]
====保存机制====
+
[[文件:OSG小场景 房间 1.png|800px|无|OSG小场景_全局照明房间]]
[[文件:保存机制.mkv|800px|保存机制]]
+
[[文件:OSG小场景 公寓 1.png|800px|无|OSG小场景_公寓_固定位置的视频流播放]]
 
+
[[文件:OSG小场景 公寓 2.png|800px|无|OSG小场景_公寓_UI层的监控视频流播放]]
<big>目前平台上保存的数据暂时只有蛮有路径,视频路径,模型路径。</big>
 
#<big><big>目前存在的问题</big></big>
 
::::*<big>视频右键不能播放,还是因为无法获取当前窗口的播放器控件。</big>
 
::::*<big>模型的场景树右键菜单无效,正在查找原因。</big>
 
::::*<big>平台启动后会将模型的路径加载到场景树中,目前还是准备在模型场景树的右键菜单中加入加载模型选项,即平台启动时不将之前保存的模型直接加载到osgearth中。</big>
 
# <big><big>  视频(模型)的保存</big></big>
 
::::*<big>视频路径及信息的保存是以xml文件的形式保存的。所以保存流程主要分两部分,一是对xml文件的读写;二是将视频路径及信息存入场景树。</big><br>
 
::::*<big>xml读写部分通过名为XmlTool类实现。</big>
 
::::*<big>类中的_isVido和_isModel用来确定查找的类型是视频还是模型。由于xml文件只能一层一层查找,所以指定查找的目标可以更方便查找路径。</big><br>
 
::::*<big>类中FindPath方法用来寻找某条路径,GetAllPath 获取全部路径及信息,并存入xmlTools._vidoDataList中。eletePath 删除路径。AddVidoElement 添加视频路径,AddModelElement 添加模型路径。</big>
 
<pre>            xmlTools.AddModelElement(XmlTools._isModel, "modelx2", "jk2", "11.2", "22.3", "33.5");//向xml添加模型路径及信息
 
            xmlTools.FindPath(XmlTools._isModel, "modelx2");//查找某条路径
 
            Console.WriteLine(xmlTools.tempData.name);//查找的结果在tempdata中,这里存储的是一条路径。在GetAllPath中_vidoDataList存储所有查询结果。
 
            Console.WriteLine(xmlTools.tempData.path);
 
            Console.WriteLine(xmlTools.tempData.window);
 
            Console.WriteLine(xmlTools.tempData.video_lat);
 
            Console.WriteLine(xmlTools.tempData.video_lon);
 
            Console.WriteLine(xmlTools.tempData.video_altitude);
 
            Console.WriteLine(xmlTools.tempData.video_width);
 
            Console.WriteLine(xmlTools.tempData.video_height); </pre>
 
 
 
=== 倾斜摄影设置说明 ===
 
ftp地址:ftp://cgt3d.cn/ <br>
 
1.下载ftp "倾斜摄影" 文件夹中的所有压缩包和load.exe<br>
 
2.随便点一个压缩包,直接解压到E盘<br>
 
3.将文件夹名字 (新建文件夹(2)  )改成  qingxiesheying<br>
 
(最后文件夹的层次结构应该是这样的:E:\qingxiesheying\Production_osgb )<br>
 
4.运行load.exe ,输入下面内容,回车,若能显示出倾斜摄影模型则表示osgb文件生成成功。<br>
 
E:/qingxiesheying/Production_osgb
 
  
 
== 平台安装说明 ==
 
== 平台安装说明 ==
===安装包下载===
 
ftp://cgt3d.cn/%C6%BD%CC%A8%B0%B2%D7%B0%B0%FC/
 
===基本打包步骤===
 
[[文件:Advanced installer.png|300px|缩略图|无|Advanced installer]]
 
打包平台使用的是advanced installer,advanced installer是一款非常实用的Windows软件安装程序制作工具,可用于制作MSI、EXE等软件安装包,用户只需添加文件,修改名称,添加按钮,非常的专业实用。
 
 
1.打开advanced installer后,选择通用模板下的安装程序项目(专业版),在下方选项中勾选使用向导来创建项目,语言选择简体中文。然后单击创建项目。<br>
 
[[文件:打包图1.png|600px|缩略图|无]]
 
2.在弹出的对话框中填入自定义的程序名称和组织(公司)名称,然后下一步。
 
[[文件:打包图2.png|600px|缩略图|无]]
 
3.勾选exe安装文件,也可意识用msi安装文件,看个人。继续下一步。
 
[[文件:打包图3.png|600px|缩略图|无]]
 
4.这里是否勾选看个人。继续下一步。
 
[[文件:打包图4.png|600px|缩略图|无]]
 
5.输入项目保存的路径,这里是打包项目的路径,不是平台的路径。项目输出文件中存放的是最终的exe可执行文件。
 
[[文件:打包图5.png|600px|缩略图|无]]
 
6.单击浏览,选择平台的release文件夹。勾选同步文件夹,用来自动更新平台文件内容。继续下一步。
 
[[文件:打包图6.png|600px|缩略图|无]]
 
7.勾选WPFOSGMDI.exe,这个文件是平台的启动文件。勾选下面两个关于创建快捷方式的选项。继续下一步。
 
[[文件:打包图7.png|600px|缩略图|无]]
 
8.这里看具体需求,可以直接下一步。
 
[[文件:打包图8.png|600px|缩略图|无]]
 
9.这里安装形式可根据需求选择,继续下一步。
 
[[文件:打包图9.png|600px|缩略图|无]]
 
10.勾选简体中文,继续下一步。
 
[[文件:打包图10.png|600px|缩略图|无]]
 
11.这里是安装程序展示协议文本的地方,根据需求选择。继续下一步。
 
[[文件:打包图11.png|600px|缩略图|无]]
 
12.单击完成,等待构建项目。<br>
 
13.在产品详细信息中可以自定义应用程序的图标,以及各种具体信息等。
 
[[文件:打包图13.png|600px|缩略图|无]]
 
14.由于平台的运行需要.net的支持,所以要在在运行环境中勾选 .NET Framework 4.7.2,advanced installer会自动下载.net安装文件。
 
[[文件:打包图14-1.png|600px|缩略图|无]]
 
15.单击环境变量标签,在右边空白处右键选择新建变量,名称选择Path,这里是Windows的系统环境变量,对应值为平台的文件夹,<br>
 
这里示例用的是include文件夹,前面的[APPDIR]在advanced installer中代表的是安装后平台的根目录,在[APPDIR]后面跟上对应的目录即可。
 
[[文件:打包图15-1.png|600px|缩略图|无]]
 
[[文件:打包图15-2.png|600px|缩略图|无]]
 
16.在所有操作之后,点击构建,即可生成exe安装文件,单击打开输出文件夹,这里面存放输出的exe文件。
 
[[文件:打包图16.png|600px|缩略图|无]]
 
  
 
== 主要参与人员 ==
 
== 主要参与人员 ==

请注意,您对CGTWiki的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅CGTWiki:版权的细节)。不要在未获授权的情况下发表!

取消 编辑帮助(在新窗口中打开)