CN107341001A - 一种Android应用的裸眼3D显示方法 - Google Patents

一种Android应用的裸眼3D显示方法 Download PDF

Info

Publication number
CN107341001A
CN107341001A CN201710332876.XA CN201710332876A CN107341001A CN 107341001 A CN107341001 A CN 107341001A CN 201710332876 A CN201710332876 A CN 201710332876A CN 107341001 A CN107341001 A CN 107341001A
Authority
CN
China
Prior art keywords
interface
android
naked eye
display
rendering
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710332876.XA
Other languages
English (en)
Inventor
廖巍巍
曾超
魏星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CHENGDU SEEFELD SCIENCE & TECHNOLOGY Co Ltd
Original Assignee
CHENGDU SEEFELD SCIENCE & TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CHENGDU SEEFELD SCIENCE & TECHNOLOGY Co Ltd filed Critical CHENGDU SEEFELD SCIENCE & TECHNOLOGY Co Ltd
Priority to CN201710332876.XA priority Critical patent/CN107341001A/zh
Publication of CN107341001A publication Critical patent/CN107341001A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提供一种Android应用的裸眼3D显示方法,包括以下步骤:1.创建新的Android工程;2.在主窗体布局界面Activity中创建用户界面,绘制3D区域并预置深度信息;3.在每个3D区域添加功能组件并添加材质;4.将编辑好的主窗体布局界面Activity进行深度立体渲染;5.导入3D引擎库并为UI界面添加3D特效;6.将Android应用界面在裸眼3D显示界面中按照Android多视点合成重新渲染;7.将渲染成裸眼3D显示界面的Android工程发布成apk并在Android移动设备安装运行。本发明是一种全新的Android设备显示方法,该方法可以在Android系统中显示真实的3D图形影像,塑造一种全新的裸眼3DUI显示界面让用户和移动设备进行具有真实感的人机交互,摆脱2D屏幕的束缚。

Description

一种Android应用的裸眼3D显示方法
技术领域
本发明涉及Android应用的显示方法和裸眼3D显示领域,尤其涉及一种Android应用的裸眼3D显示方法。
背景技术
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。随着近几年移动设备的高速发展,Android逐渐成为移动设备上的主要操作系统,在2011年全球的市场份额上首次超过塞班系统,跃居全球第一,2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。
越来越多的移动设备选用Android作为他们的操作系统,而在移动设备上Android应用更是五花八门,2014年Android应用数量高达143万超过了iOS应用数量。由于Android系统是完全开源的,Android平台提供给第三方开发商一个十分宽泛、自由的环境,所以各种新颖的Android应用层出不穷。Android应用的UI界面是用户对Android应用的第一感观,独特优秀的UI界面设计会给人带来舒畅的视觉享受,拉近人与机器的距离,随着软件应用的广泛,开发者关于UI界面设计需要也逐步提高,用户不止看中其功用实用性,更是需要UI来提升用户领会性,在操作享受软件带来的便当之余也不乏 其美丽性带来的愉悦感。
本发明就是提出一种全新的Android应用界面显示方法,应用裸眼3D显示技术在Android系统中显示真实的3D图形影像,塑造一种全新的裸眼3DUI显示界面。应用了裸眼3D显示方法可以让Android应用界面看起来栩栩如生,具有真实的立体感官享受,还能够让用户和移动设备进行具有真实感的人机交互,摆脱2D屏幕的束缚,而且开发者还可以利用Android应用裸眼3D显示方法进行更加独特生动的UI界面和功能应用开发。
发明内容
本发明的目的是提供一种Android应用的裸眼3D显示方法。该方法能提供给Android开发者一种全新的UI界面设计方法和全新的极具震撼效果的Android应用展示平台,具有比传统2D的Android应用更加真实图像显示和更加生动的三维立体交互体验。
如上所述,实现一种Android应用的裸眼3D显示方法包括如下步骤:
a.在3D引擎中重新创建新的Android工程,将原有的Android工程资源包导入裸眼3D开发工程中,并且加载裸眼UI界面资源包和裸眼Camera资源包;
b.在主窗体布局界面Activity中创建用户界面,在用户界面窗口中调用裸眼UI界面资源包用以编辑用户界面。UI界面设置可以在指定的模拟屏幕中绘制3D区域,为每个3D区域设置好深度信息;
c.在每个3D区域内,编写脚本代码以形成相应的UI交互功能并且在3D区域内添加图片,文字信息以充实UI功能组件的材质,然后再给每个UI的功能组件绑定深度信息以达到用户对界面立体效果的需求;
d.将编辑好的主窗体布局界面Activity进行深度立体渲染,深度立体渲染是将预编辑的UI界面通过预置深度信息,将2D的用户界面转换成3D立体用户界面的渲染过程,
该过程需要用到的公式:
;
;
;
;
其中,是第一个3D区域在3D立体UI界面中的对应每个视差N需要偏移的实际空间距离,n是当前3D区域的编号,(x1,y1)是该3D区域的顶点坐标,z1是该3D区域的预置深度信息,是该3D区域最优深度信息,需要对该3D区域所有功能组件的预置深度信息进行统计,选取中值作为该3D区域的最优深度信息是屏幕坐标转换到世界场景坐标的转换系数,zero是UI界面的原点深度值,是该区域最大的深度预置数值,N是Android移动设备的裸眼视差参数(N2),offset是立体跳变参数,可以根据最后的渲染结果人为的设置offset以到达最舒适的裸眼立体效果,优选的offset默认为0;
通过计算每个3D区域在N个视差中实际的空间偏移距离后,就可以在着色器的shader中使用Android立体界面合成公式渲染出最终的3D立体UI界面。Android立体界面合成需要对每个3D区域依次分别计算,根据计算空间实际偏移距离的结果d1,d2,d3…dn按照从小到大重新排列成T1,T2,T3…Tn,再依次计算T1,T2,T3…Tn:;
其中tex2D是每个区域UI界面的渲染结果,p是每个区域的序号,是最终输出UI界面的坐标,优选的为了符合裸眼立体效果的准确性,当T1,T2,T3… Tn的计算结果在同一坐标下出现多个结果时选取n最大的tex2D作为最终结果用以确保前景物体遮挡背景的立体空间效果;
e.在Android应用工程中的java主程序端中导入3D引擎库用以在UI界面中添加3D特效,在深度立体渲染过后的主窗体布局界面Activity中设置Android应用需要的模型动画或者动画特效并设置好响应事件以得到Android应用界面;
f.使用裸眼Camera资源包,创建裸眼3D显示界面,将步骤5中的 Android应用界面在裸眼3D显示界面中按照Android的N (N2) 视点合成重新渲染:
;
其中tex3D是裸眼3D显示界面的输出图像,是输出图像的坐标,是Android应用界面的对于N个视点数中每个视点数的输出图像。优选的Android多视点合成公式是将N个视点数每个视点数的输出图像按照横坐标的关系插值成N个宽度的合成图像,再缩放成1个宽度的裸眼3D显示界面的输出图像;
g.将渲染成裸眼3D显示界面的Android工程发布成apk,在相应的Android裸眼移动设备中安装运行,用户就可以体验到具有裸眼立体显示效果的Android应用。
本发明所要解决的技术问题:提供一种Android应用的裸眼3D显示方法。该方法是一种全新的Android设备显示方法,该方法可以在Android系统中显示真实的3D图形影像,塑造一种全新的裸眼3DUI显示界面,不仅让Android应用界面看起来栩栩如生,具有真实的立体感官享受,还能够让用户和移动设备进行具有真实感的人机交互,摆脱2D屏幕的束缚,而且开发者还可以利用Android应用裸眼3D显示方法进行更加独特生动的UI界面和功能应用开发。
附图说明
图1是本发明一种Android应用的裸眼3D显示方法的流程图。
具体实施方式
下面结合附图和具体的实施方式对本发明作进一步详细的描述。
图1是本发明一种Android应用的裸眼3D显示方法的流程图,步骤为:
a.在开发Android应用的3D引擎中重新创建Android工程,将原2D的Android应用以资源包的形式导入新工程中,包括需要用到的脚本,图片,文字,素材库,模型和动画等等并且加载裸眼UI界面资源包和裸眼Camera资源包;
b.在工程的主窗体布局界面Activity中创建好用户界面,用户界面包括首页界面和次级界面等,在用户界面中使用裸眼UI界面资源包为每个界面预先绘制3D区域,绘制的3D区域可以设定分辨率,所在屏幕的窗口坐标和风格类型等。在预置的3D区域中还需要设置深度数值,深度数值直接影响了最终界面的立体效果,深度值越小表示该3D区域在界面中的z轴距离坐标原点越远,而深度值越大表示该3D区域在界面中的z轴距离原点越近。优选的为了达到更好的立体效果,每个3D区域的深度数值需要形成一个阶梯状的排列,这样UI界面的层次更加分明,用户可以更加清楚地观看到入屏和出屏效果;
c.在主窗体布局界面Activity中还需要创建各种功能组件,功能组件需要使用GUI(Graphical User Interface)控件来添加相应的功能模块例如:按钮,文本框,编辑框,选择框和下拉列表等等,设定好功能模块后还需要编写脚本用以实现各个模块的各项实例功能并且绑定一个深度信息用以确定每个功能组件在UI界面中的前后关系。在用户界面中还需要添加图片,文字信息以充实UI功能组件的材质,优选的这些材质可以使用2D透明通道的材质,这样材质填充在功能组件中和功能组件的深度信息一致;还可以使用3D立体材质,3D材质自身具有UI界面的z轴信息,需要预先调整好3D材质在UI界面中的空间位置以确保功能组件能够正确的在UI界面中显示;
d.将编辑好的主窗体布局界面Activity进行深度立体渲染,深度立体渲染是将预编辑的UI界面通过预置深度信息,将2D的用户界面转换成3D立体用户界面的渲染过程,该过程需要用到的公式:
;
;
;
;
其中,是第一个3D区域在3D立体UI界面中的对应每个视差N需要偏移的实际空间距离,n是当前3D区域的编号,(x1,y1)是该3D区域的顶点坐标,z1是该3D区域的预置深度信息,是该3D区域最优深度信息,需要对该3D区域所有功能组件的预置深度信息进行统计,选取中值作为该3D区域的最优深度信息是屏幕坐标转换到世界场景坐标的转换系数,zero是UI界面的原点深度值,是该区域最大的深度预置数值,N是Android移动设备的裸眼视差参数(N2),offset是立体跳变参数,可以根据最后的渲染结果人为的设置offset以到达最舒适的裸眼立体效果,优选的offset默认为0;
通过计算每个3D区域在N个视差中实际的空间偏移距离后,就可以在着色器的shader中使用Android立体界面合成公式渲染出3D立体UI界面。Android立体界面合成需要对每个3D区域依次分别计算,根据计算空间实际偏移距离的结果d1,d2,d3…dn按照从小到大重新排列成T1,T2,T3…Tn,再依次计算T1,T2,T3…Tn:
;
其中tex2D是每个区域UI界面的渲染结果,p是每个区域的序号,是最终输出UI界面的坐标,优选的为了符合裸眼立体效果的准确性,当T1,T2,T3… Tn的计算结果在同一坐标下出现多个结果时选取n最大的tex2D作为最终结果用以确保前景物体遮挡背景的立体空间效果;
e.在Android应用工程中的java主程序端中导入3D引擎库用以在UI界面中添加3D特效。在导入3D引擎库后,可以从3D引擎库中选择Android应用需要的模型动画或者动画特效,这些模型动画或动画特效可以通过Android系统服务层反馈给java主程序端,由java主程序端来控制模型动画或者动画特效的响应事件。设置好3D特效和3D特效的响应事件后就得到了最终的Android应用界面;
f.使用裸眼Camera资源包,创建一个裸眼3D显示界面,最终的 Android应用界面在裸眼3D显示界面中按照Android的N (N2) 视点合成重新渲染:
;
其中tex3D是裸眼3D显示界面的输出图像,是输出图像的坐标,是Android应用界面的对于N个视点数中每个视点数的输出图像。优选的Android多视点合成公式是将N个视点数中每个视点的输出图像按照横坐标的关系插值成N个宽度的合成图像,再缩放成1个宽度的裸眼3D显示界面的输出图像;
g.最后将渲染成裸眼3D显示界面的Android工程发布成apk,在相应的Android裸眼移动设备中安装运行,用户就可以体验到具有裸眼立体显示效果的Android应用。

Claims (3)

1.一种Android应用的裸眼3D显示方法,其特征包括:
a. 创建Android工程导入原工程文件和资源包;
b. 在主窗体布局界面Activity中创建用户界面,绘制3D区域并预置深度信息;
c. 在每个3D区域内添加功能组件和材质,并为功能组件绑定深度信息;
d. 将编辑好的主窗体布局界面Activity进行深度立体渲染;
e. 在Android应用工程中的java主程序端中导入3D引擎库用以在UI界面中添加3D特效;
f. 将Android应用界面在裸眼3D显示界面中按照Android的多视点合成重新渲染;
g. 发布成apk并在Android移动设备中安装运行。
2.如权利要求1所述的一种Android应用的裸眼3D显示方法,其特征为:步骤d中将编辑好的主窗体布局界面Activity进行深度立体渲染,深度立体渲染是将预编辑的UI界面通过预置深度信息,将2D的用户界面转换成3D立体用户界面的渲染过程,该过程需要用到的公式:
;
;
;
;
其中,是第一个3D区域在3D立体UI界面中的对应每个视差N需要偏移的实际空间距离,n是当前3D区域的编号,(x1,y1)是该3D区域的顶点坐标,z1是该3D区域的预置深度信息,是该3D区域最优深度信息,需要对该3D区域所有功能组件的预置深度信息进行统计,选取中值作为该3D区域的最优深度信息是屏幕坐标转换到世界场景坐标的转换系数,zero是UI界面的原点深度值,是该区域最大的深度预置数值,N是Android移动设备的裸眼视差参数(N2),offset是立体跳变参数,可以根据最后的渲染结果人为的设置offset以到达最舒适的裸眼立体效果,优选的offset默认为0;
通过计算每个3D区域在N个视差中实际的空间偏移距离后,就可以在着色器的shader中使用Android立体界面合成公式渲染出3D立体UI界面,Android立体界面合成需要对每个3D区域依次分别计算,根据计算空间实际偏移距离的结果d1,d2,d3…dn按照从小到大重新排列成T1,T2,T3…Tn,再依次计算T1,T2,T3…Tn:
;
其中tex2D是每个区域UI界面的渲染结果,p是每个区域的序号,是最终输出UI界面的坐标,优选的为了符合裸眼立体效果的准确性,当T1,T2,T3… Tn的计算结果在同一坐标下出现多个结果时选取n最大的tex2D作为最终结果用以确保前景物体遮挡背景的立体空间效果。
3.如权利要求1所述的一种Android应用的裸眼3D显示方法,其特征为:步骤f中最终的Android应用界面在裸眼3D显示界面中按照Android的N(N2)视点合成重新渲染公式:
;
其中tex3D是裸眼3D显示界面的输出图像,是输出图像的坐标,是Android应用界面的对于N个视点数中每个视点数的输出图像,优选的Android多视点合成公式是将N个视点数每个视点数的输出图像按照横坐标的关系插值成N个宽度的合成图像,再缩放成1个宽度的裸眼3D显示界面的输出图像。
CN201710332876.XA 2017-05-12 2017-05-12 一种Android应用的裸眼3D显示方法 Pending CN107341001A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710332876.XA CN107341001A (zh) 2017-05-12 2017-05-12 一种Android应用的裸眼3D显示方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710332876.XA CN107341001A (zh) 2017-05-12 2017-05-12 一种Android应用的裸眼3D显示方法

Publications (1)

Publication Number Publication Date
CN107341001A true CN107341001A (zh) 2017-11-10

Family

ID=60221276

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710332876.XA Pending CN107341001A (zh) 2017-05-12 2017-05-12 一种Android应用的裸眼3D显示方法

Country Status (1)

Country Link
CN (1) CN107341001A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109529349A (zh) * 2018-11-28 2019-03-29 珠海金山网络游戏科技有限公司 图像绘制方法、装置、计算设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984553A (zh) * 2014-05-26 2014-08-13 中科创达软件股份有限公司 一种3d桌面显示方法和系统
CN104717487A (zh) * 2015-03-31 2015-06-17 王子强 一种裸眼3d界面显示方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984553A (zh) * 2014-05-26 2014-08-13 中科创达软件股份有限公司 一种3d桌面显示方法和系统
CN104717487A (zh) * 2015-03-31 2015-06-17 王子强 一种裸眼3d界面显示方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109529349A (zh) * 2018-11-28 2019-03-29 珠海金山网络游戏科技有限公司 图像绘制方法、装置、计算设备及存储介质
CN109529349B (zh) * 2018-11-28 2022-07-08 珠海金山网络游戏科技有限公司 图像绘制方法、装置、计算设备及存储介质

Similar Documents

Publication Publication Date Title
CN106951583B (zh) 基于bim技术对施工现场监控摄像头虚拟布置的方法
US9305403B2 (en) Creation of a playable scene with an authoring system
CN107122099B (zh) 关联用户界面的方法、装置、存储介质、处理器和终端
CN107644067A (zh) 一种二三维一体化的跨平台室内地图显示方法
CN106033333A (zh) 一种可视化的增强现实场景制作系统及方法
CN101189643A (zh) 3d图像生成和显示系统
CN106408631A (zh) 三维宏观展示方法及系统
CN111429553B (zh) 动画预览方法、装置、计算机设备和存储介质
CN109934933A (zh) 基于虚拟现实的仿真方法及基于虚拟现实的图像仿真系统
CN104715468A (zh) 一种基于Unity3D的裸眼3D内容制作的改进方法
CN106683193A (zh) 一种三维模型的设计方法和设计装置
CN104958900B (zh) 用于开发2d场景和3d角色的游戏引擎系统及调用方法
CN101866379A (zh) 用于可视化计算机屏幕上显示的对象的方法、程序和产品编辑系统
CN102999657A (zh) 用于在计算机辅助设计系统中设计对象组合件的方法和系统
US9092912B1 (en) Apparatus and method for parallax, panorama and focus pull computer graphics
Baglivo et al. X3D/X3DOM, Blender Game Engine and OSG4WEB: open source visualisation for cultural heritage environments
CN104106263A (zh) 将三维图形动画插入到三维立体内容中的方法及设备
CN117788689A (zh) 一种基于三维建模的可交互式虚拟云展厅构建方法及系统
Lobo et al. Flex-ER: A platform to evaluate interaction techniques for immersive visualizations
CN107341001A (zh) 一种Android应用的裸眼3D显示方法
US20210241539A1 (en) Broker For Instancing
CA3169802A1 (en) Method for generating simulations of fluid interfaces for improved animation of fluid interactions
KR20170142090A (ko) 360도 vr 영상 제작을 위한 이벤트 기반의 3차원 동적 콘티 생성 방법 및 장치
CN105975259A (zh) 一种3d空间用户界面的实现方法及其装置
CN114022601A (zh) 一种体积元素渲染方法、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20171110