2024年4月25日发(作者:)
OSG引擎在Android Studio中的移植和运行
倪梓轩;吉伟勇
【摘 要】基于OSG (OpenSceneGraph)设计并实现一个在Android Studio平台
三维场景的展示系统.分析OSG引擎和Android Studio平台的优势,以三维飞机场
景为模拟案例,重点对Android Studio平台上建立可视化三维模型的步骤和构建
三维模型的关键技术进行研究.结果表明,基于OSG的三维飞机模型应用在
Android Studio平台上运行流畅,响应速度快,图形质量高,具有很好的交互性,为
OSG在移动平台的整体移植提供了实践参考.%A display system of three-
dimensional scene on the Android Studio is designed and implemented
based on OpenSceneGraph (OSG).Taking a three-dimensional airplane as a
simulation case,an analysis was given on the advantages of OSG engine
and the Android Studio,which focuses on the steps and the key technology
of establishing visual 3D model results show that the
applications of the three-dimensional aircraft model based on OSG operats
smoothly on Android Studio and performs well in interactive
response,quality graphics and a practical reference is given
for the three-dimensional scene which based on the OSG engine in the
mobile platform.
【期刊名称】《计算机应用与软件》
【年(卷),期】2018(035)004
【总页数】4页(P212-214,236)
【关键词】OSG引擎;Android Studio系统;三维模型构建
【作 者】倪梓轩;吉伟勇
【作者单位】长安大学地质与测绘工程学院测绘工程系 陕西西安710064;长安大
学地质与测绘工程学院测绘工程系 陕西西安710064
【正文语种】中 文
【中图分类】TP3
0 引 言
OSG是一个以工业图形标准OpenGL为底层渲染平台,使用C++编写的高层次
API接口,即三维可视化渲染引擎。它具有跨平台的特性和较高的渲染性,程序员
能够通过它更加快速、便捷地创建高性能、跨平台的交互式图形程序[1]。随着地
理信息技术和无人机航拍技术的日益发展,OSG引擎的应用范围也越来越广泛,
它的相关扩展系统如OSGEarth、VPB及OSGOcean都在三维地理信息系统、计
算机辅助设计、科学与工程数据可视化、游戏与娱乐等多个行业得到广泛应用[2-
4]。随着计算机图形软硬件技术的发展和各类便携式设备的出现,OSG引擎从传
统桌面工作站到移动平台的移植,已受到研究者的广泛关注[5]。汤有禄[6]利用
OSG的Web可视化实现地质模型的模拟,其研究发现OSG技术在Android系
统中的移植存在缺陷:大部分的移植都基于某一个模块,无OSG的整体移植,对
数据处理和建模不完全,难以完成复杂逼真的三维图形构建,限制其在实际场景中
的应用。移动设备其内存大小和处理器的计算能力是有限的,而复杂场景可视化对
硬件性能的消耗比较大,移动终端在处理多尺度和多种类海量地理信息数据时仍有
些力不从心[7]。如何实现OSG引擎技术在移动终端的完整移植,同时保留其数据
的高速存取、图形的逼真效果,是当前OSG引擎向移动端移植的难点问题[8]。
鉴于以上原因,本文主要介绍了如何将OSG引擎导入安卓端编译器中,以
Eclipse为媒介,移植到Android Studio 2.2.3平台,并进行编译和运行。详细给
出了移动端OSG的开发流程,并以三维飞机为构建实例,介绍了由Eclipse平台
移植到Android Studio2.2.3平台上的具体实现方法和运行实例。
1 OSG移植特点概述
OSG引擎技术具有以下优点:① 场景图结构适合复杂三维虚拟仿真;② 完全免费
并开放源代码,为各类系统开发提供很大的可扩展性(可利用3DMAX建立的动画
资源),应用灵活;③ 可实现跨平台应用;④ 由于具备OpenGL的所有功能,从
而能把开发者从实现和优化底层图形的调用中解脱出来,并且它为图形应用程序的
快速开发提供很多附加的实用工具,在可视化视觉仿真方面效果很逼真[9-10]。以
上所有特点,保证其移植后的应用效果。
2 基于OSG的Android Studio应用开发
Android Studio是谷歌公司于2013年I/O大会上公布最新的Android开发环境。
它是一款全新的基于Intelli J IDEA(Java语言开发的集成环境)的开发环境。谷歌
公司在Android Studio中对开发者控制台进行了改进,增加了许多新的功能,使
其在运行处理速度、UI编辑器、XML预览和语法补全方面性能更加优异[11]。
2016年推出的Android Studio 2.2.3版本与以前的系统相比增加智能代码编辑器、
快速且功能丰富的Andriod Emulator、基于Gradle的构建工具,使开发者可以
更快的编码。同时增加循环访问速度,保证该平台上各类应用程序的运行速度[12]。
因此,本文将原本在Eclipse环境下OSG移动端的开发移植到更快、更好的
Android Studio 2.2.3中。
3 OSG移动端的移植和运行
OSG在Android Studio 2.2.3上的移植和运行主要包括以下三个主要步骤:①
OSG引擎的源码编译;② 编译后源码导入Eclipse;③ 将Eclipse运行结果导入
Android Studio 2.2.3中,其主要的技术流程见图1。
图1 OSG移动端移植过程图
3.1 OSG源码编译
OSG源码编译主要包括以下操作:首先,安装完jdk后,搭建Eclipse环境为导
入项目做准备。然后,打开cmake终端,开始配置和编译第三方库。最后,完成
OSG的源码编译。其中,第三方库中bin目录下的文件编译是关键点。图2为
OSG移动端移植过程。
图2 OSG移动端移植过程图
3.2 编译后源码整体导入Eclipse
为了保证OSG引擎在Android Studio 2.2.3上的顺利运行,应将其在Eclipse环
境下进行ndk配置和构建Builders,以建立用于Android Studio平台的Gradle
文件。该项主要包括以下操作步骤:
① 配置ndk:通过右键单击项目->点击Properties,->弹出Properities对话框,
点击Builders ->点击New->点击Program->点击Browse File System,选择
ndk目录下的->点击Browse Workspace,选择osgViewer项
目->切换到Build Options标签,选中Specify working 复选框(如图3
矩形框所示)->点击Specify Resources按钮选中osg例子中的jni文件夹->点击
Finish->点击apply->点击ok,完成配置ndk。该步为Eclipse环境构建的关键
点。
图3 ndk配置图
② 构建Builders:配置完ndk后,返回Properities对话框Builders标签,用
UP按钮将刚建好的New_Builder移到第一的位置。如图4所示,Builders构建
完毕。
图4 Builders构建界面图
3.3 将Eclipse构建结果从Eclipse导入Android Studio 2.2.3
此步是完成移植最后一步,主要包括:① 在Eclipse中构建能用于Android
Studio 2.2.3的Gradle文件;② 在Android Studio 2.2.3平台中导入Gradle文
件;③ 模型实例运行。其中,构建Gradle文件是此步最关键的技术点,其操作主
要包括:在Eclipse中已导入项目上点击右键->Export(如图5所示)->在弹出的
Export窗口中选择“Android”下面的Generate Gradle build files->点击
next->一直点击next直到选中刚在Eclipse创建的OSG项目->一直点击next直
至Finish完成Gradle文件的创建。
图5 Gradle文件输出界面图
接着进行项目导入和实例运行,打开Android Studio 2.2.3平台,点击菜单栏的
File->New->Import Project。在弹选框中选中刚才创建的项目(如图6所示),单
击ok就标志着OSG在Android Studio 2.2.3中创建成功。在创建项目的时候
Android Studio有时会由于版本过低报错,将相关插件更新至高版本即可解决。
图6 Android Studio平台项目导入界面
3.4 实例模型检验
以三维飞机为目标,通过以上操作,得到最终构建图,如图7所示。由图7可见,
通过Andriod Studio系统中的OSG平台操作界面可对图形进行旋转、放缩、灯
光调整、模型更换等操作。通过系列操作构建出的飞机三维图形清晰、逼真。
图7 Andriod Studio平台中的构建
4 结 语
本文将OSG引擎借助Eclipse为中介,移植到Android Studio 2.2.3平台中,以
三维飞机模型为实例,
总结和概括了移植过程及步骤的关键点。该移植结合OSG的三维处理优势与
Android Studio的联合快捷编译性,可实现三维模型的逼真构建,期待其在地质
灾害的模型和预测方面得到更广泛的应用。
参 考 文 献
[1] 李新放,刘海行,周林,等.基于Open Scene Graph的海洋环境三维可视化系统
研究[J].海洋科学,2012,36(1):54-58.
[2] 屈永照,蔡超,王武功,等.基于OpenSceneGraph的隧道照明设计平台实现[J].公
路交通技术,2014(4):139-143.
[3] 王跃,郑贵洲.基于OSG的OBS导航定位系统三维可视化场景实现[J].计算机应
用与软件,2017,34(8):92-96,129.
[4] 徐凌.基于Open Scene Graph引擎的漫游系统的研究与实现[D].武汉理工大
学,2008.
[5] 魏海涛.基于Open Scene Graph引擎的组件式跨平台的三维场景编辑器的研
究与实现[D].郑州:郑州大学,2013.
[6] 汤有禄.基于OSG的地质模型Web可视化方法研究[D].长江大学,2015.
[7] 刘建龙,陆旭龙,宋大明,等.移动设备上三维地理场景可视化研究[J].测绘与空间地
理信息,2015,38(2):38-41.
[8] 罗安平,魏斌,杨春成,等.Android平台的多尺度地理信息三维显示技术[J].测绘科
学技术学报,2014,31(1):107-110.
[9] 黄友良,淮永建,于鹏,等.基于OSG林地可视化系统设计与实现[J].系统仿真学
报,2008,20(S1):352-354,358.
[10] 方磊.近诲破通量遥感信息的可视化构形与时空过程表达[D].杭州:浙江大
学,2015.
[11] 尹孟征.基于Android 的APP开发平台综述[J].通信电源技
术,2016,33(4):154-155,213.
[12] Venugopala P S,Sarojadevi H,Chiplunkar N approach to embed
image in video as watermark using a mobile device[J].Sustainable
Computing Informatics & Systems,2017,15:82-87.
发布评论