CN109410345A - 基于Unity3D的目标光场创建方法 - Google Patents
基于Unity3D的目标光场创建方法 Download PDFInfo
- Publication number
- CN109410345A CN109410345A CN201811198217.2A CN201811198217A CN109410345A CN 109410345 A CN109410345 A CN 109410345A CN 201811198217 A CN201811198217 A CN 201811198217A CN 109410345 A CN109410345 A CN 109410345A
- Authority
- CN
- China
- Prior art keywords
- unity3d
- light field
- virtual camera
- field
- information
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
Abstract
本发明提出一种基于Unity3D的目标光场创建方法,属于光场显示技术领域。本发明解决了目前光场三维显示信息获取的主要方式为多实体摄像机全方位立体拍摄获取,此方式不仅成本高,操作复杂,而且维护困难,展示信息单一的问题,其技术方案要点为:在Unity3D开发引擎中创建展示场景与虚拟相机;在Unity3D开发引擎中设置虚拟相机阵列的位置;在Unity3D开发引擎中设置虚拟相机的视口朝向;在Unity3D开发引擎中设置虚拟相机的视场角;在Unity3D开发引擎中设置虚拟相机的分辨率;根据光场与像素的对应关系,将展示场景像素信息转化为光场信息。本发明的有益效果是:可以丰富光场显示的内容,同时极大的节约成本,更加快捷的创建展示信息。
Description
技术领域
本发明涉及光场显示技术,特别涉及基于Unity3D的目标光场创建方法的技术。
背景技术
三维显示技术日益受到关注的今天,各种三维显示的实现方式得到迅速发展。其中光场三维显示技术原理在于还原真实空间内物体光场的分布,因其无需佩戴头戴设备、真实还原三维场景中的近大远小和遮挡关系、能够提供平滑的运动视差而受到广泛关注。目前,光场三维显示信息获取的主要方式为多实体摄像机全方位立体拍摄获取。此方式不仅成本高,操作复杂,而且维护困难,展示信息单一,极大的限制了光场三维显示技术的发展。为了解决以上问题,急切的需要一种轻松便捷的目标光场信息获取方式。
Unity3D是Unity Technologies公司开发的一款3D开发引擎,这款引擎因其强大的跨平台开发特性、绚丽的3D渲染效果以及自由丰富的人机交互功能而闻名出众。Unity3D是一款专门用来制作游戏场景、建筑设计、动画展示的软件,它在模型方面内嵌了基本的立体体、球体、平面等,实际应用中需要从外界导入制作好的模型。Unity3D对于主流的艺术设计软件制作出来的模型,如3ds Max、Maya等,几乎都可兼容,且Unity3D相较于3ds Max、Maya等的优势在于其自由丰富的人机交互功能。
发明内容
本发明的目的是提供一种基于Unity3D的目标光场创建方法,解决目前光场三维显示信息获取的主要方式为多实体摄像机全方位立体拍摄获取,此方式不仅成本高,操作复杂,而且维护困难,展示信息单一,极大的限制了光场三维显示技术的发展的问题。
本发明解决其技术问题,采用的技术方案是:基于Unity3D的目标光场创建方法,包括如下步骤:
a、在Unity3D开发引擎中创建展示场景与虚拟相机;
b、在Unity3D开发引擎中设置虚拟相机阵列的位置;
c、在Unity3D开发引擎中设置虚拟相机的视口朝向;
d、在Unity3D开发引擎中设置虚拟相机的视场角;
e、在Unity3D开发引擎中设置虚拟相机的分辨率;
f、根据光场与像素的对应关系,将展示场景像素信息转化为光场信息。
具体地,步骤a具体为:在Unity3D开发引擎中创建光场显示所需场景,并按照球状会聚式摆放方式摆放360个虚拟相机。
进一步地,步骤b具体为:选定采样阵列点,并将采样阵列点设置成球体分布:若该球状为模拟的右眼,则建立XYZ右手坐标系,其中X轴沿水平方向指向内侧右边,Y轴沿竖直方向指向地面下边,Z轴经过瞳孔中心A指向眼球外边,坐标系原点为眼球中心,眼球模型的半径R=12mm,瞳孔尺寸取标准大小,即s=4mm,瞳孔中心作为零孔径,将瞳孔中心作为一个光场采样点,其它位置的采样点都由零孔径旋转得到。
具体地,步骤c具体为:相机口视口朝向设置为平行会聚式,三维场景中任意一个重构点M经视点C1,C2和C3成像在Unity3D虚拟相机接收面于P1,P2和P3,当视点阵列朝向一致时,接收的光场信息与阵列朝向各异时接收的光场信息相同。
再进一步地,步骤d中,将视点阵列设置成统一朝向之后,设计毎一个相机的视场角F都相同。
具体地,步骤e具体为:计算出最大视场角之后,设定相机阵列的采样分辨率,其中,需要采样到每一根液晶光线,液晶层间隔为d1,虚拟相机的焦距为f,液晶像素尺寸为d2,设定尺寸为p,于是有:
其中,E为F层液晶上的任意一个像素,A为视点位置,A点与E点沿Z轴的距离为ds,cos项表示视点A的最小Z坐标值,这样分子项就代表视点A与G层液晶的最远Z距离,依照相似三角形原理,相邻两条光线至少落在不同的像素上,由于虚拟相机的面的大小为LX=2f*tan(FX/2),LY=2f*tan(FY/2),设置虚拟相机分辨率为P*Q,将上述公式带入可知:
再进一步地,步骤f中,所述根据光场与像素的对应关系,将展示场景像素信息转化为光场信息,具体方式为:通过Unity虚拟相机进行展示场景的像素获取,并转化为光场信息,传输到光场显示系统,实现Unity3D开发引擎展示场景的4D光场显示。
本发明的有益效果是,通过上述基于Unity3D的目标光场创建方法,首先,在Unity3D开发引擎中创建展示场景与虚拟相机;其次,在Unity3D开发引擎中设置虚拟相机阵列的位置;然后,在Unity3D开发引擎中设置虚拟相机的视口朝向;再然后,在Unity3D开发引擎中设置虚拟相机的视场角;再然后,在Unity3D开发引擎中设置虚拟相机的分辨率;最后,根据光场与像素的对应关系,将展示场景像素信息转化为光场信息。可以丰富光场显示的内容,同时极大的节约成本,更加快捷的创建展示信息。
附图说明
图1为实施例中相机视场角示意图。
图2为实施例中最大视场角计算示意图。
具体实施方式
下面结合附图及实施例,详细描述本发明的技术方案。
本发明所述的基于Unity3D的目标光场创建方法,包括如下步骤:
a、在Unity3D开发引擎中创建展示场景与虚拟相机;
b、在Unity3D开发引擎中设置虚拟相机阵列的位置;
c、在Unity3D开发引擎中设置虚拟相机的视口朝向;
d、在Unity3D开发引擎中设置虚拟相机的视场角;
e、在Unity3D开发引擎中设置虚拟相机的分辨率;
f、根据光场与像素的对应关系,将展示场景像素信息转化为光场信息。
实施例
本实施例所述的基于Unity3D的目标光场创建方法,
首先,是在Unity3D开发引擎中创建展示场景与虚拟相机,具体方式为:在Unity3D开发引擎中创建光场显示所需场景,并按照球状会聚式摆放方式摆放360个虚拟相机。
在本实施例中,Unity3D开发引擎作为一款广为人知的三维软件,可以非常简便地实现光场展示场景的制作,其建立光场显示场景的方式可以在引擎中可视化自建,也可以从其他模型软件,例如在3ds Max、Maya等三维模型软件中制作导入,然后可视化的创建展示场景。在多层液晶光场显示系统中屏幕刷新一次所更新的图像实现了360度水平光场重构,若重构静态三维场景,下一刷新周期只需要重新更新这些图像即可。为了实现三维场景连续的运动视差,使得每一个角度上都能看到正确的光场三维显示画面,意味着更新的图像数不得少于360幅,所以在Unity3D虚拟现实引擎中选择360个虚拟相机来提供光场显示所需的360幅画面以保证光场显示的连续性。
其次,是在Unity3D开发引擎中设置相机阵列的位置,具体方式为:在多层液晶光场显示系统中,需要在整个圆形瞳孔区域内进行视点采样以获得4D目标光场。由于瞳孔是在眼球体内的,所以采样阵列点也应该是呈球体分布的。以右眼为例,建立XYZ右手坐标系,其中X轴沿水平方向指向颞侧右边,Y轴沿竖直方向指向地面下边,Z轴经过瞳孔中心A指向眼球外边。坐标系原点为眼球中心,眼球模型的半径R=12mm,瞳孔尺寸取标准大小,即s=4mm。瞳孔中心作为零孔径,需要当作一个光场采样点,其它位置的采样点都由零孔径旋转得到。
在本实施例中,为了方便在Unity3D软件中设置采样阵列,可以将A点沿X轴按照βY等步长角度旋转,再沿着Y轴按照βX等步长角度旋转,最后得到的A′作为采样点。经过上述旋转后任意一个视点A的坐标可以表示成:
其中m和n分别表示沿着X轴和Y轴旋转的步长数,可正可负。然而受到瞳孔尺寸的先知,旋转角是有范围的。设定β表示瞳孔边缘对眼球球心的张角,可知道β=arctan(s/2R)≈9.46°。当瞳孔固定时,视点阵列不应超过瞳孔区域,因此可以知道mβY∈(-β,β),nβX∈(-β,β)。
然后,是在Unity3D开发引擎中设置相机的视口朝向,具体方式为:设定好视点阵列之后,按照人眼的正常观察方式来说,视点C的朝向应该与球心O与视点C的连线OC一致。相机口视口朝向设置为平行会聚式,三维场景中任意一个重构点M经视点C1,C2和C3成像在Unity3D虚拟相机接收面于P1,P2和P3,当视点阵列朝向一致时,接收的光场信息与阵列朝向各异时接收的光场信息相同,而且由于接收面方向相同,位置上只是进行了相应的平移,所以当视点朝向设为一致时,P点落在P1,P2和P3上的光线计算非常方便,大大降低了目标光场的获取难度。
再然后,是在Unity3D开发引擎中设置相机的视场角。具体实现方式为:将视点阵列设置成统一朝向之后,需要考虑每个Unity3D虚拟相机的视场角F。为了方便摆放相机阵列,设计每一个相机的视场角F都相同。如附图1所示,观察零孔径A2处视点,G层液晶左边缘为B1点,右边缘为B2点,如果∠B1A2B2为视场角F,当视点移动到左边缘A1处时,A1处视场范围内将看不到液晶层的右边区域;当视点移动到右边缘A3处时,A3处视场范围内将看不到液晶层的左边区域。所以需要扩展视场角,使得A1B2至少为视场区域A1的右边缘,A3B1至少为视场区域A3的左边缘。这样在任意视点处都能够看到液晶层的所有位置,只不过对于不同视点而言,需要裁剪B1B2液晶层于二维视点图像中的不同对应位置。值得注意的是,液晶层所能够重构的区域范围D应该限定在直线A1B1和直线A2B2所围的边界以内。
在本实例中,由于Unity3D中虚拟相机接收面尺寸规定为36mm×27mm,即画幅宽高比为4:3。设置水平视角为FX,竖直视场角为FY,可以得到:
进一步计算最大视场角的值。如附图2所示,F层液晶由矩形B1B2B3B4构成,E为F层液晶上的任意一个像素,A为视点位置,A点与E点沿Z轴的距离为ds,液晶层宽度与高度分别为LX和LY。当E点处于边缘点B2时,视场角最大,此时XE=LX/2,YE=LY/2,得到如下公式:
若视点阵列为M行N列时,m=-(M-1)/2,n=-(N-1)/2,FX和FY取最大值。
再然后,是在Unity3D开发引擎中设置相机的分辨率。具体实现方式为:计算出最大视场角之后,设定相机阵列的采样分辨率,由于需要准确的获得4D目标光场,因此需要采样到每一根液晶光线。液晶层间隔为d1,虚拟相机的焦距为f,液晶像素尺寸为dp,设定尺寸为p,于是有:
其中cos项表示视点A的最小Z坐标值,这样分子项就代表视点A与G层液晶的最远Z距离,依照相似三角形原理,相邻两条光线至少落在不同的像素上,由于虚拟相机的面的大小为LX=2f*tan(FX/2),LY=2f*tan(FY/2),设置虚拟相机分辨率为P*Q,将上述公式带入可知:
最后,是光场与像素的对应关系,将展示场景像素信息转化为光场信息。具体方式为:通过Unity虚拟相机进行展示场景的像素获取,并转化为光场信息,传输到光场显示系统,实现Unity3D开发引擎展示场景的4D光场显示。
Claims (7)
1.基于Unity3D的目标光场创建方法,其特征在于,包括如下步骤:
a.在Unity3D开发引擎中创建展示场景与虚拟相机;
b.在Unity3D开发引擎中设置虚拟相机阵列的位置;
c.在Unity3D开发引擎中设置虚拟相机的视口朝向;
d.在Unity3D开发引擎中设置虚拟相机的视场角;
e.在Unity3D开发引擎中设置虚拟相机的分辨率;
f.根据光场与像素的对应关系,将展示场景像素信息转化为光场信息。
2.根据权利要求1所述的基于Unity3D的目标光场创建方法,其特征在于,步骤a具体为:在Unity3D开发引擎中创建光场显示所需场景,并按照球状会聚式摆放方式摆放360个虚拟相机。
3.根据权利要求1所述的基于Unity3D的目标光场创建方法,其特征在于,步骤b具体为:选定采样阵列点,并将采样阵列点设置成球体分布:若该球状为模拟的右眼,则建立XYZ右手坐标系,其中X轴沿水平方向指向内侧右边,Y轴沿竖直方向指向地面下边,Z轴经过瞳孔中心A指向眼球外边,坐标系原点为眼球中心,眼球模型的半径R=12mm,瞳孔尺寸取标准大小,即s=4mm,瞳孔中心作为零孔径,将瞳孔中心作为一个光场采样点,其它位置的采样点都由零孔径旋转得到。
4.根据权利要求1所述的基于Unity3D的目标光场创建方法,其特征在于,步骤c具体为:相机口视口朝向设置为平行会聚式,三维场景中任意一个重构点M经视点C1,C2和C3成像在Unity3D虚拟相机接收面于P1,P2和P3,当视点阵列朝向一致时,接收的光场信息与阵列朝向各异时接收的光场信息相同。
5.根据权利要求1所述的基于Unity3D的目标光场创建方法,其特征在于,步骤d中,将视点阵列设置成统一朝向之后,设计毎一个相机的视场角F都相同。
6.根据权利要求1所述的基于Unity3D的目标光场创建方法,其特征在于,步骤e具体为:计算出最大视场角之后,设定相机阵列的采样分辨率,其中,需要采样到每一根液晶光线,液晶层间隔为d1,虚拟相机的焦距为f,液晶像素尺寸为d2,设定尺寸为p,于是有:
其中,E为F层液晶上的任意一个像素,A为视点位置,A点与E点沿Z轴的距离为ds,cos项表示视点A的最小Z坐标值,这样分子项就代表视点A与G层液晶的最远Z距离,依照相似三角形原理,相邻两条光线至少落在不同的像素上,由于虚拟相机的面的大小为LX=2f*tan(FX/2),LY=2f*tan(FY/2),设置虚拟相机分辨率为P*Q,将上述公式带入可知:
7.根据权利要求1所述的基于Unity3D的目标光场创建方法,其特征在于,步骤f中,所述根据光场与像素的对应关系,将展示场景像素信息转化为光场信息,具体方式为:通过Unity虚拟相机进行展示场景的像素获取,并转化为光场信息,传输到光场显示系统,实现Unity3D开发引擎展示场景的4D光场显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811198217.2A CN109410345A (zh) | 2018-10-15 | 2018-10-15 | 基于Unity3D的目标光场创建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811198217.2A CN109410345A (zh) | 2018-10-15 | 2018-10-15 | 基于Unity3D的目标光场创建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109410345A true CN109410345A (zh) | 2019-03-01 |
Family
ID=65467218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811198217.2A Pending CN109410345A (zh) | 2018-10-15 | 2018-10-15 | 基于Unity3D的目标光场创建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109410345A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096837A (zh) * | 2019-05-16 | 2019-08-06 | 哈尔滨工程大学 | 一种基于Unity的机舱设备维修可达性和人员通达性验证方法 |
CN112087617A (zh) * | 2019-06-12 | 2020-12-15 | 上海麦界信息技术有限公司 | 生成二维光场图像的方法、装置和计算机可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103957400A (zh) * | 2014-05-09 | 2014-07-30 | 北京乐成光视科技发展有限公司 | 一种基于Unity3D游戏引擎的裸眼3D显示系统 |
US20160248987A1 (en) * | 2015-02-12 | 2016-08-25 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Light-field camera |
CN107563088A (zh) * | 2017-09-14 | 2018-01-09 | 北京邮电大学 | 一种基于光线跟踪算法的光场显示设备仿真方法 |
-
2018
- 2018-10-15 CN CN201811198217.2A patent/CN109410345A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103957400A (zh) * | 2014-05-09 | 2014-07-30 | 北京乐成光视科技发展有限公司 | 一种基于Unity3D游戏引擎的裸眼3D显示系统 |
US20160248987A1 (en) * | 2015-02-12 | 2016-08-25 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Light-field camera |
CN107563088A (zh) * | 2017-09-14 | 2018-01-09 | 北京邮电大学 | 一种基于光线跟踪算法的光场显示设备仿真方法 |
Non-Patent Citations (2)
Title |
---|
丁俊: ""基于多层液晶的近眼三维显示研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
江山等: "基于多层屏的3D显示算法的研究与实现", 《实验科学与技术》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096837A (zh) * | 2019-05-16 | 2019-08-06 | 哈尔滨工程大学 | 一种基于Unity的机舱设备维修可达性和人员通达性验证方法 |
CN112087617A (zh) * | 2019-06-12 | 2020-12-15 | 上海麦界信息技术有限公司 | 生成二维光场图像的方法、装置和计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111415416B (zh) | 一种监控实时视频与场景三维模型融合方法及系统 | |
CN106296783B (zh) | 一种结合空间全局3d视图和全景图片的空间展示方法 | |
CN107431796B (zh) | 全景虚拟现实内容的全方位立体式捕捉和渲染 | |
CN106797460B (zh) | 三维视频的重建 | |
CN103646424B (zh) | 一种空中无缝虚拟漫游系统构建方法 | |
TWI619091B (zh) | 全景圖壓縮方法及裝置 | |
WO2019219014A1 (zh) | 基于光影优化的三维几何与本征成份重建方法及装置 | |
US20110273451A1 (en) | Computer simulation of visual images using 2d spherical images extracted from 3d data | |
CN107193124A (zh) | 集成成像高密度小间距led显示参数设计方法 | |
CN106570938A (zh) | 基于opengl 的全景监控方法及系统 | |
JP6672315B2 (ja) | 画像生成装置、及び画像表示制御装置 | |
CN102984453A (zh) | 利用单摄像机实时生成半球全景视频图像的方法及系统 | |
CN105739231B (zh) | 一种平面分布的多摄像头全景立体成像装置 | |
CN105809729B (zh) | 一种虚拟场景的球形全景渲染方法 | |
WO2017128887A1 (zh) | 全景图像的校正3d显示方法和系统及装置 | |
CN108693970A (zh) | 用于调适可穿戴装置的视频图像的方法和设备 | |
CN106780759A (zh) | 基于图片构建场景立体全景图的方法、装置及vr系统 | |
CN109712232A (zh) | 一种基于光场的物体表面轮廓三维成像方法 | |
WO2004068865A1 (en) | Steroscopic panoramic image capture device | |
CN109410345A (zh) | 基于Unity3D的目标光场创建方法 | |
CN105137605A (zh) | 三维立体成像装置及其三维立体成像的方法 | |
CN107862718A (zh) | 4d全息视频捕捉方法 | |
CN110458960A (zh) | 一种基于偏振的彩色物体三维重建方法 | |
CN107005689B (zh) | 数字视频渲染 | |
Naemura et al. | Virtual shadows in mixed reality environment using flashlight-like devices |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190301 |
|
RJ01 | Rejection of invention patent application after publication |