基于Unity3D引擎实现裸眼3D显示的方法

文档序号:9290276阅读:3265来源:国知局
基于Unity3D引擎实现裸眼3D显示的方法
【技术领域】
[0001] 本发明涉及3D显示领域,具体涉及一种基于Unity3D引擎实现裸眼3D显示的方 法。
【背景技术】
[0002] 裸眼3D显示是不需要佩戴辅助设备(如红蓝、偏振、快门眼镜)的一种显示技术, 它在广告、军事、医学和娱乐互动等领域有着广泛的应用背景。
[0003] 目前裸眼3D显示内容仅局限于视频或是图片格式,内容形式单一。为了丰富裸眼 3D的显示内容,也为消费者开启全方位的裸眼3D娱乐生活,将游戏软件应用在裸眼3D电视 上将是裸眼3D显示的一个发展趋势,同时也提升了游戏软件的视觉体验。
[0004] 目前,3D游戏主要是通过用3DMAX、MAYA等建模软件构建模型以及利用Unity3D、 C〇C〇s3d、虚幻等游戏引擎开发出来的。本发明主要是基于Unity3D引擎来实现游戏内容在 裸眼3D显示终端上的显示。
[0005] Unity3D是UnityTechnologies公司开发的一款3D游戏引擎,是一款专门用来 制作游戏场景、建筑设计、动画展示的软件。这款引擎因其强大的跨平台开发特性、绚丽的 3D渲染效果以及自由丰富的人机交互功能而闻名出众。其跨平台开发特性可以节省开发时 间,加快游戏开发进度。因为平台之间的差异较大,比如屏幕尺寸、操作方式、运行环境等的 不同会给开发者造成巨大麻烦,而Unity3D的跨平台特性恰能省去开发者在不同的平台之 间的移植开发工作。

【发明内容】

[0006] 本发明的目的是针对上述【背景技术】中裸眼3D显示的局限,本发明提供一种基于 Unity3D引擎来实现游戏内容在裸眼3D显示终端上的显示方法。
[0007] 为了达到上述的技术效果,本发明采取以下技术方案:基于Unity3D引擎实现裸 眼3D显示的方法,包括以下步骤:
[0008] S1、基于Unity3D编辑界面,摆放游戏对象,设置游戏场景;
[0009] S2、在上述游戏场景中设置多个有视差的摄像机,所述摄像机位于同一水平线 上;
[0010] S3、在上述游戏场景中创建一个零平面,该零平面作为参考平面,所述摄像机的焦 点均设置在所述零平面上;
[0011] S4、创建多个RenderTexture,所述RenderTexture的个数与所述摄像机个数相 同,RenderTexture用于保存摄像机内容;
[0012] S5、获得RenderTexture保存的内容后,经过光栅合成算法处理,显示合成过后的 图像。
[0013] 进一步的技术方案是:所述摄像机与RenderTexture的个数都是八个。
[0014] 进一步的技术方案是:步骤S2中,位于同一水平线上的相邻摄像机的间距为 0? 012m~0? 018m,优选 0? 015m。
[0015] 进一步的技术方案是:步骤S3中,摄像机的焦距为16. 00m~24. 00m,优选 20. 00m〇
[0016] 进一步的技术方案是:步骤S5中,光栅合成算法处理,是采用视点数为8的柱镜光 栅。
[0017] 进一步的技术方案是:步骤S5中,光栅合成算法处理,是采用编写shader算法实 现多视点图像合成。
[0018] 下面对本发明的原理作进一步说明:
[0019] 游戏软件在普通2D显示设备上的应用现在已经较为成熟,它通过动画软件构成 三维数字模型,产生逼真的虚拟环境,给用户一种立体的虚拟娱乐游戏的体验。
[0020] 游戏软件中的三维模型在裸眼3D电视上显示的立体效果和普通2D终端显示的3D 效果是有区别的。普通2D终端上显示的3D场景是在平面里显示三维图形,不像现实世界 里的真实三维空间,不会有真实的距离空间,只是看起来很像真实世界。而裸眼3D电视利 用柱状透镜(LenticularLens)的技术,也就是贴在屏幕前面的一层光栅。可以达到一种 相对于屏幕出屏和入屏的效果。通常为了获得更好的立体效果,往往采用多幅视差图像进 行合成,观看者在不同观看位置只要看到其中的两幅图像就可以在大脑皮层中产生立体视 觉。
[0021] 为了达到相对于电视屏幕出屏和入屏的真实距离空间感。裸眼3D通常需要多幅 有视差(像素偏移)的图像,本实验采用的是视点数为8的柱镜光栅来实现的立体效果,最 后将这8副有视差的图像通过复杂的光栅合成算法合成出一幅来实现。如果想达到A物体 出屏的效果就需要这八幅图像中的A物体依次是向右偏移,我们叫这为正视差。如果想达 到B物体入屏的效果就需要这八幅图像中的B物体依次是向左偏移,我们叫这为负视差。
[0022] 本发明与现有技术相比,具有以下的有益效果:
[0023] 1、本发明利用了第三方引擎强大的制作、渲染、处理功能,在实现了普通游戏制作 技术的基础上将普通游戏的显示效果升级为裸眼3D的显示效果,可以作为一款裸眼3D游 戏插件应用在Unity3D或是虚幻4等等第三方引擎之上,将现有的游戏升级为裸眼3D游戏 显示效果。
[0024] 2、本发明通过利用第三方游戏引擎的RenderTexutre功能,实现了暂时保存多个 摄像机内容,而不是立刻马上输出到显示器上,通过后续合成算法处理之后再输出到显示 设备上。
[0025] 3、本发明为了实现游戏实时显示的要求,采用了可编程流水线技术将渲染、合成 以及显示的全过程在GPU下完成。编写shader语言完成合成算法提高了数据计算速度,同 时避免了数据在CPU、GPU之间的拷贝,极大的提高了软件执行效率,达到了实时显示以及 交互操作的要求。
[0026] 4、本发明利用游戏引擎实现裸眼3D显示功能,便可以极大地扩展游戏引擎软件 和裸眼3D显示技术这两者的应用领域,且可以将已有的基于游戏引擎完成的游戏增加3D 处理模块便可实现裸眼3D显示,从而在很大程度上降低了裸眼3D游戏内容的制作成本,并 且可以将游戏引擎丰富的交互功能移植到裸眼3D显示技术中来,并借助于游戏引擎强大 的模型兼容能力丰富裸眼3D的显示内容及素材。
【具体实施方式】
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1