CN116310152A - 基于unity平台的步进式虚拟场景搭建、漫游方法及虚拟场景 - Google Patents
基于unity平台的步进式虚拟场景搭建、漫游方法及虚拟场景 Download PDFInfo
- Publication number
- CN116310152A CN116310152A CN202310589078.0A CN202310589078A CN116310152A CN 116310152 A CN116310152 A CN 116310152A CN 202310589078 A CN202310589078 A CN 202310589078A CN 116310152 A CN116310152 A CN 116310152A
- Authority
- CN
- China
- Prior art keywords
- model
- point
- panoramic
- virtual scene
- setting
- 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
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000009877 rendering Methods 0.000 claims abstract description 40
- 230000009191 jumping Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 239000000463 material Substances 0.000 description 3
- 230000000149 penetrating effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了基于unity平台的步进式虚拟场景搭建、漫游方法及虚拟场景,属于虚拟与现实技术领域,搭建方法包括:获取配置文件;将配置文件导入unity平台建立虚拟场景,具体步骤包括:A1、在简易3d模型的空间设置若干点位;A2、设置可在点位移动的投影全景球,投影全景球的投影贴图为当前点位下的全景图片;A3、在简易3d模型的空间内添加物体模型;A4、设置渲染队列,渲染队列中的渲染顺序依次为物体模型、投影全景球、建筑墙面;A5、设置投影全景球的深度写入为关闭状态,物体模型的深度写入为打开状态。通过投影全景球来搭建虚拟场景,大大提高了虚拟场景的生成效率,而且模型简单节约了生产成本。
Description
技术领域
本发明涉及虚拟与现实技术领域,特别涉及基于unity平台的步进式虚拟场景搭建、漫游方法及虚拟场景。
背景技术
步进式全景技术是由全景图像、虚拟现实和计算机视觉等技术组合而成的。全景图像:全景图像是一种特殊类型的图像,能够显示360度的全景视野。全景图像通常使用全景相机拍摄多张重叠的图像,然后使用特殊的软件将它们合并成一张大图像。虚拟现实:虚拟现实是一种计算机技术,能够创建出一种仿真的环境,让用户感觉自己置身于其中。虚拟现实技术通常使用头戴式显示器和手柄等设备,以及专门的软件和硬件来实现。计算机视觉:计算机视觉是一种人工智能技术,能够使计算机处理图像和视频。计算机视觉技术可以用来识别和跟踪物体,测量物体的大小和位置等。
步进式全景技术将以上技术结合起来,通过创建全景图像和虚拟现实场景,让用户能够沉浸式地欣赏全景图像,并通过计算机视觉技术实现步进式漫游的效果。目前比较常见的实现大多是很多看房软件的vr看房功能。都是根据用户位置选择最合适的全景图片渲染出来。但是现有的这种步进式全景技术渲染出来的全景图片只能看图片,最多加一点标注,在复杂的场景下一些例如桌子椅子的模型均为图片形式,无法通过增加其他模型来实现遮挡关系,从而导致显示效果不够真实,自定义程度较低,不能满足复杂场景的需求。
发明内容
本发明的目的就在于为了解决上述现有的步进式全景技术搭建的虚拟场景自定义程度低,显示效果不够的真实问题提出基于unity平台的步进式虚拟场景搭建、漫游方法及虚拟场景,具有可自由增加物体模型为虚拟场景的内空间提供遮挡关系,自定义程度高,显示效果更加真实的优点。
第一方面,本发明通过以下技术方案来实现上述目的,一种基于unity平台的步进式虚拟场景搭建方法,包括以下步骤:
获取配置文件,所述配置文件包括在某一现实场景中多个点位分别拍摄的全景图片、该场景的简易3d模型以及记录的每个点位中拍摄相机的坐标和角度;
将所述配置文件导入unity平台建立虚拟场景,具体步骤包括:
A1、在所述简易3d模型的空间设置若干点位,所述若干点位用于作为用户漫游点位;
A2、建立可在点位上移动的投影全景球,设定所述投影全景球的投影贴图为所在点位下的所述全景图片,用于通过所述投影全景球在所述简易3d模型的建筑墙面投影出全景画面;
A3、在所述简易3d模型的空间内添加物体模型;
A4、设置渲染队列,所述渲染队列中的渲染顺序依次为所述物体模型、所述投影全景球、所述建筑墙面;
A5、设置所述投影全景球的深度写入为关闭状态,所述物体模型的深度写入为打开状态。
优选的,所述配置文件中每个点位中拍摄相机的坐标和角度的记录方法包括:
设定任意一个点位的拍摄相机的位置为基准原点;
计算剩余点位与基准原点的距离,根据距离计算剩余点位的坐标;
设置位于基准原点的拍摄相机的朝向角度为基准角度;
计算剩余点位上拍摄相机朝向角度与基准角度的角度偏差,所述角度偏差为剩余点位上拍摄相机的角度。
优选的,所述建立可在点位上移动的投影全景球的方法包括:
创建球体模型,设置球体模型的大小满足在任意点位时至少能笼罩整个简易3d模型;
读取配置文件中拍摄相机的坐标和角度,设置所述球体模型的中心坐标和旋转角度与拍摄相机的坐标和角度对应。
优选的,所述投影全景球在所述简易3d模型的建筑墙面投影出全景画面的方法包括:
将投影全景球的坐标映射到简易3d模型这一场景的齐次裁剪空间内,计算出场景的深度信息;
根据所述深度信息计算出场景表面的世界空间坐标;
将所述世界空间坐标变换到投影全景球的模型空间内,获得uv空间坐标;
在uv空间坐标上进行全景图片的贴花渲染。
优选的,所述物体模型为人物模型、家具模型和3D空间模型中的一种或多种。
第二方面,本发明通过以下技术方案来实现上述目的,一种基于unity平台的步进式虚拟场景漫游方法,包括以下步骤:
加载利用第一方面所述的基于unity平台的步进式虚拟场景搭建方法生成的虚拟场景;
用户进入该虚拟场景后,读取所述虚拟场景中初始点位上的全景画面,所述初始点位为所述虚拟场景的所有点位中设定的出生点位;
检测用户的移动操作,从所述初始点位跳转到下一个点位并将当前全景画面切换为下点位上的全景画面。
优选的,该方法还包括多用户进入虚拟场景后,生成物体模型为人物模型,人物模型与每个用户对应,服务器接收至少一个用户的操作指令,与该用户对应的人物模型响应所述操作指令,同时,服务器将操作指令同步给所有用户。
优选的,所述检测用户的移动操作包括检测用户利用摇杆控制移动方向朝向指定点位实现移动或者检测用户通过点击指定点位实现移动,所述指定点位的定义由操作方式确定,在用户利用摇杆控制移动时,指定点位为相邻的点位;在用户通过点击点位移动时,指定点位为距离点击位置最近的点位。
优选的,所述利用摇杆控制移动方向朝向指定点位实现移动的方法包括:
检测摇杆的偏移方向;
计算用户所在点位与偏移方向内其他点位的距离,选择最近距离的点位作为指定点位;
检测用户和指定点位之间是否存在碰撞体,若否则移动到该点位,若是则不移动。
第三方面,本发明通过以下技术方案来实现上述目的,一种虚拟场景,包括:
场景空间,所述场景空间由投影全景球在简易3d模型的建筑墙面上投影出的全景画面组成,所述投影全景球的投影贴图设置为某一现实场景拍摄的全景图片,所述简易3d模型为该场景的简易模型;
漫游点位,所述漫游点位与拍摄全景图片时的拍摄相机位置对应,漫游点位设置多个,用于用户在每个漫游点位间移动时加载对应漫游点位下场景空间的全景画面;
物体模型,设置在简易3d模型内部,为人物模型、家具模型和3D空间模型中的一种或多种组成;
渲染设置单元,用于设置渲染队列,所述渲染队列中的渲染顺序依次为所述物体模型、所述投影全景球、所述建筑墙面;以及设置所述投影全景球的深度写入为关闭状态,所述物体模型的深度写入为打开状态。
与现有技术相比,本发明的有益效果是:通过建立可投影出全景画面的投影全景球搭建出虚拟场景,用户在该虚拟场景漫游时,通过各个点位之间的移动实现步进式游览的效果,相比于传统的虚拟场景搭建方式效果相同,效率大大提高;本发明的虚拟场景搭建基于unity平台,添加物体模型的渲染顺序最高,不会被投影全景球投射的画面影响,在虚拟场景内可以起到障碍和遮挡效果,利用该方法搭建的虚拟场景自定义程度高,展示效果也更加的真实。
附图说明
图1为本发明的基于unity平台的步进式虚拟场景搭建方法流程图。
图2为本发明的基于unity平台的步进式虚拟场景漫游方法流程图。
图3为本发明的场景空间在未投影全景画面时的场景示意图。
图4为本发明的读取点位上的投影画面时的场景示意图。
实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,一种基于unity平台的步进式虚拟场景搭建方法,包括以下步骤:
步骤S1、获取配置文件,所述配置文件包括在某一现实场景中多个点位分别拍摄的全景图片、该场景的简易3d模型以及记录的每个点位中拍摄相机的坐标和角度,配置文件中的全景图片通过全景相机拍摄获得,选择全景相机是为了能够直接获得全景图片,不需要再对图片做二次处理,全景相机拍摄的时候可以记录自身的位置和拍摄角度,在现实场景规则比较复杂时,需要站在不同位置拍摄场景图片才能记录整个场景的画面,根据融合的完整场景画面可以生成出该场景的模型,由于这种生成模型的方式只能生成简易模型,所以配置文件使用的模型为简易3d模型,因此相机每变动一个位置,记录一个点位的坐标和角度,根据场景大小选择点位之间的间距,例如在一个一两百平的场景中,全景相机的点位间距在1-3m之间,将所有点位的全景图片、坐标和角度连同简易3d模型一起打包作为配置文件。
步骤S2、将所述配置文件导入unity平台建立虚拟场景,具体步骤包括:
步骤A1、在所述简易3d模型的空间设置若干点位,所述若干点位用于作为用户漫游点位;若干个点位也是与全景相机拍摄时的点位一一对应,因此在每个点位上投影全景球投影出的画面可以完全还原全景相机拍摄时的画面,用户站在点位上能观看到呈现的画面。
步骤A2、建立可在点位上移动的投影全景球,设定所述投影全景球的投影贴图为所在点位下的所述全景图片,用于通过所述投影全景球在所述简易3d模型的建筑墙面投影出全景画面,unity平台是一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,将简易3d模型导入unity平台后可以继续进行创作,投影全景球用来将全景图片投影到简易3d模型的建筑墙面上,在所述建立可在点位上移动的投影全景球的方法包括:
创建球体模型,设置球体模型的大小满足在任意点位时至少能笼罩整个简易3d模型,该步骤为了保证无论球体模型移动到哪个点位上,投影时都能将全景图片完整的投射到点位对应的建筑墙面上;
读取漫游点位的坐标,设置所述球体模型的中心坐标与漫游点位的坐标一致,这样用户在漫游时,走到其中一个漫游点位,此时球体模型跟随同样移动到该漫游点位进行全景投影,球体模型投影全景画面的角度要调整到与当前漫游点位下拍摄相机的角度一致,这样才能完整还原出与实景一致的全景画面。
所述投影全景球在所述简易3d模型的建筑墙面投影出全景画面的方法包括:
将投影全景球的坐标映射到简易3d模型这一场景的齐次裁剪空间内,计算出场景的深度信息;
根据所述深度信息计算出场景表面的世界空间坐标,具体包括:在unity中获取屏幕像素在剪裁空间(Clip space)的坐标,再获取屏幕像素的坐标直接乘以摄像机的far值来获得获取屏幕像素在剪裁空间(Clip space)的坐标,公式如下:
Float4、ndcPos=(o.screenPos/o.screenPos.w)*2-1;
Float3、clip=float3(ndcPos.x,ndcPos,y,1)*ProjectParams,z;
此时,再计算该点在View space的坐标,公式如下:
Float3、o.viewVec=mul(unity_CameraInvProjection,clipVec.xyzz).xyz;
获取深度缓冲中储存的值的观察空间位置,方法为向量乘以线性深度值,具体公式如下:
float depth = UNITY_SAMPLE_DEPTH(tex2Dproj(_CameraDepthTexture,i.screenPos));
float3、viewPos = i.viewVec * Linear01Depth(depth);
最后获取该点在世界空间的坐标,得到的坐标公式如下:
float3、worldPos=mul(UNITY_MATRIX_I_V,float4(viewPos, 1.0)).xyz;
将所述世界空间坐标变换到投影全景球的模型空间内,获得uv空间坐标;
在uv空间坐标上进行全景图片的贴花渲染。
步骤A3、在所述简易3d模型的空间内添加物体模型,物体模型可以自定义添加,根据unity平台创建功能,添加的物体模型可以与虚拟场景适配,所述物体模型为人物模型、家具模型和3D空间模型中的一种或多种,以虚拟房屋作为举例房屋内添加的物体模型为人物模型,该人物模型可以作为用户自身,这样用户可以第三视角来游览该场景;当物体模型为家具模型时,可以是房屋中的家具:如椅子、床、桌子等;当物体模型是3D空间模型时,相当于在这个虚拟场景中又增加了一个由unity平台创建的虚拟空间,相当于在大的空间中套入小的空间,小的空间可根据用户需求自定义设置,小的空间既可以采用投影方式搭建,也可以利用unity平台支持的建模方式搭建,投影方式搭建与上述方法类似,因此不过多赘述,而建模方式搭建的虚拟空间相当于传统的虚拟场景,用户无需按照点位进行移动,可自由移动,包括功能交互等,利用增加的物体模型提供不同的使用场景,使该虚拟场景自定义程度更高。
A4、设置渲染队列,所述渲染队列中的渲染顺序依次为所述物体模型、所述投影全景球、所述建筑墙面,在unity平台中,具有这样的规则:谁的渲染顺序最高那么谁显示在最前面,渲染顺序低的渲染画面不会覆盖掉渲染顺序高的画面,设置投影全景球的渲染顺序为1900,大于建筑的渲染顺序1500,则建筑墙面显示为投影全景球的材质,而设置物体模型的渲染顺序为2000,渲染顺序比全景投影球高,所以不会被投影画面覆盖,能一直显示物体模型本身的材质。
A5、设置所述投影全景球的深度写入为关闭状态,所述物体模型的深度写入为打开状态,在unity平台中,具有这样的规则:当模型的写入深度都为开启的时候,谁距离摄像机近,谁在前,由于物体模型是摆放在简易3d模型内部的,因此物体模型的深度写入为打开状态可以显示在建筑前面的前方,而实际使用中,不能保证物体模型始终在投影全景球的前方,因此采用关闭投影全景球的深度写入的方式,来使得物体模型既可以起到遮挡作用,也不会收到投影全景球的影响。
在步骤S1中,现实场景作为一个空间,因此全景相机在每个点位拍摄时都能被记录所处位置的坐标以及拍摄时相机视角的角度,所述配置文件中每个点位中拍摄相机的坐标和角度的记录方法包括:
设定任意一个点位的拍摄相机的位置为基准原点,基准原点作为参照点,可以建立以基准原点的平面坐标系,由于每个拍摄相机的高度不会随意改变,所以点位都落在一个水平面上,因此通过平面坐标系可以记录下每个点位的坐标;
计算剩余点位与基准原点的距离,根据距离计算剩余点位的坐标;
设置位于基准原点的拍摄相机的朝向角度为基准角度,基准角度与基准原点类似,均用来作为参照角度;
计算剩余点位上拍摄相机朝向角度与基准角度的角度偏差,所述角度偏差为剩余点位上拍摄相机的角度。
实施例2
如图2所示,一种基于unity平台的步进式虚拟场景漫游方法,包括以下步骤:
步骤B1、加载利用实施例1所述的基于unity平台的步进式虚拟场景搭建方法生成的虚拟场景,该虚拟场景在搭建时与实施例1描述的方式一致,虚拟场景为预制场景,保存到频道服务器中,频道服务器提供进入端口,用户利用在客户端上登录账号密码即可进入到频道选择界面,点击进入频道后,客户端可加载出虚拟场景的画面;
步骤B2、用户进入该虚拟场景后,读取所述虚拟场景中初始点位上的全景画面,所述初始点位为所述虚拟场景的所有点位中设定的出生点位,出生点位可以在制作虚拟场景时进行设置,设置默认用户通过频道进入后的到达位置,即为出生点位,在设置时只需要将用户相机设定在出生点位即可,这样每一个用户进入频道后均被生成到出生点位上,用户相机视角所看到的画面也为出生点位上投影全景球投影出的画面。
步骤B3、检测用户的移动操作,从所述初始点位跳转到下一个点位并将当前全景画面切换为下点位上的全景画面,用户从A点位看到一个全景画面,再移动到B点位后又看到一个全景画面,从视觉展示上可以呈现步进式游览的感观,因此实现在虚拟场景中的漫游操作,所述检测用户的移动操作包括检测用户利用摇杆控制移动方向朝向指定点位实现移动或者检测用户通过点击指定点位实现移动,用户在虚拟场景漫游时具有两种操作方式来控制移动,这两种方式可囊括市面上大多数终端设备,例如利用摇杆控制移动,适合键盘或者触摸屏幕下的操作,点击控制移动适合鼠标点击或者手指触摸点击,以上方式均为了让客户端检测到移动指令。
在步骤B3中,所指的指定点位就是用户想要漫游到的目标点位,所述指定点位的定义由操作方式确定,在用户利用摇杆控制移动时,指定点位为相邻的点位;在用户通过点击点位移动时,指定点位为距离点击位置最近的点位,在用户利用摇杆控制移动方式时,为了避免引起游览不适所以该方式只能移动到相邻的点位,否则移动点位过多导致画面切换过快从而影响观看效果,但是在点击控制移动的方式中,由于用户可以随意选择点击到点位所在的区域,因此不局限每次移动只能移动一个单位的点位,两种控制移动的方式可以共存,扩大应用范围。所述利用摇杆控制移动方向朝向指定点位实现移动的方法包括:
检测摇杆的偏移方向,该步骤为了识别出用户想要移动的方向,也为意向方向;
计算用户所在点位与偏移方向内其他点位的距离,选择最近距离的点位作为指定点位;上述所述提到摇杆控制移动方式每次只能移动一个单位的点位,因此需要检测到最近的点位,对于意向方向的其他点不作为目标点,利用该方式能精准的漫游到用户想要的位置;
检测用户和指定点位之间是否存在碰撞体,若否则移动到该点位,若是则不移动,为了避免用户在漫游时穿墙,或者穿过物体模型这种障碍物,增加碰撞体检测功能,当有障碍物时,无法穿过障碍物进行移动,使用户在虚拟场景中的游览效果更加真实。
该方法还包括多用户进入虚拟场景后,生成物体模型为人物模型,人物模型与每个用户对应,服务器接收至少一个用户的操作指令,与该用户对应的人物模型响应所述操作指令,同时,服务器将操作指令同步给所有用户,在场景中,用户相互之间看到对应的人物模型,例如其中一个用户执行行走指令,人物模型响应行走指令进行行走,服务器接收到该用户的指令消息同步给场景内的所有用户,此时其他用户能看到与该用户对应的人物模型作出行走的动作。
实施例3
一种虚拟场景,该场景基于实施例1的方法生成得到,该场景包括:
场景空间,所述场景空间由投影全景球在简易3d模型的建筑墙面上投影出的全景画面组成,所述投影全景球的投影贴图设置为某一现实场景拍摄的全景图片,所述简易3d模型为该场景的简易模型。
漫游点位,所述漫游点位与拍摄全景图片时的拍摄相机位置对应,漫游点位设置多个,用于用户在每个漫游点位间移动时加载对应漫游点位下场景空间的全景画面;
物体模型,设置在简易3d模型内部,为人物模型、家具模型和3D空间模型中的一种或多种组成;
渲染设置单元,用于设置渲染队列,所述渲染队列中的渲染顺序依次为所述物体模型、所述投影全景球、所述建筑墙面;以及设置所述投影全景球的深度写入为关闭状态,所述物体模型的深度写入为打开状态。
场景空间在未投影全景画面时如图3所示,简易3d模型只显示本身的材质,添加的物体模型包括了人物模型和长方体模型,漫游点位为一个个黑点,通过控制人物模型在黑点移动实现漫游,当人物模型站在漫游点位上时,读取该点位的投影画面如图4所示,根据渲染设置单元设置的渲染规则,建筑墙面上投影出拍摄时的全景画面,长方体模型可以起到遮挡投影出的桌子的作用,人物模型不会受到投影画面的覆盖。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (10)
1.一种基于unity平台的步进式虚拟场景搭建方法,其特征在于,包括以下步骤:
获取配置文件,所述配置文件包括在某一现实场景中多个点位分别拍摄的全景图片、该场景的简易3d模型以及记录的每个点位中拍摄相机的坐标和角度;
将所述配置文件导入unity平台建立虚拟场景,具体步骤包括:
A1、在所述简易3d模型的空间设置若干点位,所述若干点位用于作为用户漫游点位;
A2、建立可在点位上移动的投影全景球,设定所述投影全景球的投影贴图为所在点位下的所述全景图片,用于通过所述投影全景球在所述简易3d模型的建筑墙面投影出全景画面;
A3、在所述简易3d模型的空间内添加物体模型;
A4、设置渲染队列,所述渲染队列中的渲染顺序依次为所述物体模型、所述投影全景球、所述建筑墙面;
A5、设置所述投影全景球的深度写入为关闭状态,所述物体模型的深度写入为打开状态。
2.根据权利要求1所述的基于unity平台的步进式虚拟场景搭建方法,其特征在于,所述配置文件中每个点位中拍摄相机的坐标和角度的记录方法包括:
设定任意一个点位的拍摄相机的位置为基准原点;
计算剩余点位与基准原点的距离,根据距离计算剩余点位的坐标;
设置位于基准原点的拍摄相机的朝向角度为基准角度;
计算剩余点位上拍摄相机朝向角度与基准角度的角度偏差,所述角度偏差为剩余点位上拍摄相机的角度。
3.根据权利要求1或2所述的基于unity平台的步进式虚拟场景搭建方法,其特征在于,所述建立可在点位上移动的投影全景球的方法包括:
创建球体模型,设置球体模型的大小满足在任意点位时至少能笼罩整个简易3d模型;
读取漫游点位的坐标,设置所述球体模型的中心坐标与漫游点位的坐标一致。
4.根据权利要求1所述的基于unity平台的步进式虚拟场景搭建方法,其特征在于,所述投影全景球在所述简易3d模型的建筑墙面投影出全景画面的方法包括:
将投影全景球的坐标映射到简易3d模型这一场景的齐次裁剪空间内,计算出场景的深度信息;
根据所述深度信息计算出场景表面的世界空间坐标;
将所述世界空间坐标变换到投影全景球的模型空间内,获得uv空间坐标;
在uv空间坐标上进行全景图片的贴花渲染。
5.根据权利要求1所述的基于unity平台的步进式虚拟场景搭建方法,其特征在于,所述物体模型为人物模型、家具模型和3D空间模型中的一种或多种。
6.一种基于unity平台的步进式虚拟场景漫游方法,其特征在于,包括以下步骤:
加载利用权利要求1-5任意一项所述的基于unity平台的步进式虚拟场景搭建方法生成的虚拟场景;
用户进入该虚拟场景后,读取所述虚拟场景中初始点位上的全景画面,所述初始点位为所述虚拟场景的所有点位中设定的出生点位;
检测用户的移动操作,从所述初始点位跳转到下一个点位并将当前全景画面切换为下点位上的全景画面。
7.根据权利要求6所述的基于unity平台的步进式虚拟场景漫游方法,其特征在于,该方法还包括多用户进入虚拟场景后,生成物体模型为人物模型,人物模型与每个用户对应,服务器接收至少一个用户的操作指令,与该用户对应的人物模型响应所述操作指令,同时,服务器将操作指令同步给所有用户。
8.根据权利要求6所述的基于unity平台的步进式虚拟场景漫游方法,其特征在于,所述检测用户的移动操作包括检测用户利用摇杆控制移动方向朝向指定点位实现移动或者检测用户通过点击指定点位实现移动,所述指定点位的定义由操作方式确定,在用户利用摇杆控制移动时,指定点位为相邻的点位;在用户通过点击点位移动时,指定点位为距离点击位置最近的点位。
9.根据权利要求6所述的基于unity平台的步进式虚拟场景漫游方法,其特征在于,所述利用摇杆控制移动方向朝向指定点位实现移动的方法包括:
检测摇杆的偏移方向;
计算用户所在点位与偏移方向内其他点位的距离,选择最近距离的点位作为指定点位;
检测用户和指定点位之间是否存在碰撞体,若否则移动到该点位,若是则不移动。
10.一种虚拟场景,其特征在于,包括:
场景空间,所述场景空间由投影全景球在简易3d模型的建筑墙面上投影出的全景画面组成,所述投影全景球的投影贴图设置为某一现实场景拍摄的全景图片,所述简易3d模型为该场景的简易模型;
漫游点位,所述漫游点位与拍摄全景图片时的拍摄相机位置对应,漫游点位设置多个,用于用户在每个漫游点位间移动时加载对应漫游点位下场景空间的全景画面;
物体模型,设置在简易3d模型内部,为人物模型、家具模型和3D空间模型中的一种或多种组成;
渲染设置单元,用于设置渲染队列,所述渲染队列中的渲染顺序依次为所述物体模型、所述投影全景球、所述建筑墙面;以及设置所述投影全景球的深度写入为关闭状态,所述物体模型的深度写入为打开状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310589078.0A CN116310152A (zh) | 2023-05-24 | 2023-05-24 | 基于unity平台的步进式虚拟场景搭建、漫游方法及虚拟场景 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310589078.0A CN116310152A (zh) | 2023-05-24 | 2023-05-24 | 基于unity平台的步进式虚拟场景搭建、漫游方法及虚拟场景 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116310152A true CN116310152A (zh) | 2023-06-23 |
Family
ID=86787365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310589078.0A Pending CN116310152A (zh) | 2023-05-24 | 2023-05-24 | 基于unity平台的步进式虚拟场景搭建、漫游方法及虚拟场景 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116310152A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116934984A (zh) * | 2023-09-19 | 2023-10-24 | 成都中轨轨道设备有限公司 | 一种用于构建虚拟全景场景空间的智能终端及方法 |
CN117793325A (zh) * | 2024-02-26 | 2024-03-29 | 南京维赛客网络科技有限公司 | 步进式漫游中全景图的切换方法、系统及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105021205A (zh) * | 2014-04-28 | 2015-11-04 | 高德软件有限公司 | 导航预览方法、相关设备和导航预览系统 |
CN106887033A (zh) * | 2017-01-20 | 2017-06-23 | 腾讯科技(深圳)有限公司 | 场景的渲染方法和装置 |
CN107592514A (zh) * | 2017-09-14 | 2018-01-16 | 深圳市圆周率软件科技有限责任公司 | 一种全景投影系统及方法 |
CN108492354A (zh) * | 2018-03-13 | 2018-09-04 | 北京农业智能装备技术研究中心 | 一种农业园区场景的展示方法及系统 |
CN108898675A (zh) * | 2018-06-06 | 2018-11-27 | 微幻科技(北京)有限公司 | 一种在虚拟场景中添加3d虚拟对象的方法及装置 |
JP6503098B1 (ja) * | 2018-01-30 | 2019-04-17 | フォージビジョン株式会社 | 画像処理装置、画像処理プログラム及び画像処理方法 |
CN111798562A (zh) * | 2020-06-17 | 2020-10-20 | 同济大学 | 一种虚拟建筑空间搭建与漫游方法 |
CN113076000A (zh) * | 2021-03-25 | 2021-07-06 | 上海韧取多媒体科技有限公司 | 一种全景漫游系统及方法 |
WO2022151883A1 (zh) * | 2021-01-18 | 2022-07-21 | 海信视像科技股份有限公司 | 虚拟现实设备 |
CN114913282A (zh) * | 2022-05-16 | 2022-08-16 | 北京沃东天骏信息技术有限公司 | 一种vr编辑器的实现方法和vr编辑器 |
CN116069435A (zh) * | 2023-03-14 | 2023-05-05 | 南京维赛客网络科技有限公司 | 在虚拟场景中动态加载图片资源的方法、系统及存储介质 |
-
2023
- 2023-05-24 CN CN202310589078.0A patent/CN116310152A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105021205A (zh) * | 2014-04-28 | 2015-11-04 | 高德软件有限公司 | 导航预览方法、相关设备和导航预览系统 |
CN106887033A (zh) * | 2017-01-20 | 2017-06-23 | 腾讯科技(深圳)有限公司 | 场景的渲染方法和装置 |
CN107592514A (zh) * | 2017-09-14 | 2018-01-16 | 深圳市圆周率软件科技有限责任公司 | 一种全景投影系统及方法 |
JP6503098B1 (ja) * | 2018-01-30 | 2019-04-17 | フォージビジョン株式会社 | 画像処理装置、画像処理プログラム及び画像処理方法 |
CN108492354A (zh) * | 2018-03-13 | 2018-09-04 | 北京农业智能装备技术研究中心 | 一种农业园区场景的展示方法及系统 |
CN108898675A (zh) * | 2018-06-06 | 2018-11-27 | 微幻科技(北京)有限公司 | 一种在虚拟场景中添加3d虚拟对象的方法及装置 |
CN111798562A (zh) * | 2020-06-17 | 2020-10-20 | 同济大学 | 一种虚拟建筑空间搭建与漫游方法 |
WO2022151883A1 (zh) * | 2021-01-18 | 2022-07-21 | 海信视像科技股份有限公司 | 虚拟现实设备 |
CN113076000A (zh) * | 2021-03-25 | 2021-07-06 | 上海韧取多媒体科技有限公司 | 一种全景漫游系统及方法 |
CN114913282A (zh) * | 2022-05-16 | 2022-08-16 | 北京沃东天骏信息技术有限公司 | 一种vr编辑器的实现方法和vr编辑器 |
CN116069435A (zh) * | 2023-03-14 | 2023-05-05 | 南京维赛客网络科技有限公司 | 在虚拟场景中动态加载图片资源的方法、系统及存储介质 |
Non-Patent Citations (1)
Title |
---|
周忠;周颐;肖江剑;: "虚拟现实增强技术综述", 中国科学:信息科学, no. 02, pages 157 - 180 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116934984A (zh) * | 2023-09-19 | 2023-10-24 | 成都中轨轨道设备有限公司 | 一种用于构建虚拟全景场景空间的智能终端及方法 |
CN116934984B (zh) * | 2023-09-19 | 2023-12-08 | 成都中轨轨道设备有限公司 | 一种用于构建虚拟全景场景空间的智能终端及方法 |
CN117793325A (zh) * | 2024-02-26 | 2024-03-29 | 南京维赛客网络科技有限公司 | 步进式漫游中全景图的切换方法、系统及存储介质 |
CN117793325B (zh) * | 2024-02-26 | 2024-04-19 | 南京维赛客网络科技有限公司 | 步进式漫游中全景图的切换方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9947139B2 (en) | Method and apparatus for providing hybrid reality environment | |
US20210287455A1 (en) | Fusion method for movements of teacher in teaching scene | |
US20190080516A1 (en) | Systems and methods for augmented reality preparation, processing, and application | |
CN103390287B (zh) | 用于增强现实的装置和方法 | |
Prince et al. | 3d live: Real time captured content for mixed reality | |
US9236032B2 (en) | Apparatus and method for providing content experience service | |
US7433760B2 (en) | Camera and animation controller, systems and methods | |
KR101748593B1 (ko) | 생성된 장면 내에서 연기하는 배우의 시야와 움직임의 캡쳐 | |
CN116310152A (zh) | 基于unity平台的步进式虚拟场景搭建、漫游方法及虚拟场景 | |
CN103635939B (zh) | 用于虚拟环境的间接照亮过程 | |
US20060114251A1 (en) | Methods for simulating movement of a computer user through a remote environment | |
JP2001517344A (ja) | カメラ・ベースの身振り入力を使用の仮想現実環境を通じての3次元航行を認めるためのシステムおよび方法 | |
US20210038975A1 (en) | Calibration to be used in an augmented reality method and system | |
Han et al. | A compelling virtual tour of the dunhuang cave with an immersive head-mounted display | |
Marner et al. | Exploring interactivity and augmented reality in theater: A case study of Half Real | |
US20240070973A1 (en) | Augmented reality wall with combined viewer and camera tracking | |
WO2019241712A1 (en) | Augmented reality wall with combined viewer and camera tracking | |
CN112891940B (zh) | 图像数据处理方法及装置、存储介质、计算机设备 | |
GB2595445A (en) | Digital sandtray | |
KR100684401B1 (ko) | 가상현실 기반의 골프학습 장치, 그 방법 및 그 기록매체 | |
Garcia et al. | Modifying a game interface to take advantage of advanced I/O devices | |
TWI794512B (zh) | 用於擴增實境之系統及設備及用於使用一即時顯示器實現拍攝之方法 | |
US20240078767A1 (en) | Information processing apparatus and information processing method | |
CN117278820A (zh) | 视频生成方法、装置、设备及存储介质 | |
CN117101138A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230623 |