CN108629848A - 一种保持相机处于虚拟场景之内方法及装置 - Google Patents
一种保持相机处于虚拟场景之内方法及装置 Download PDFInfo
- Publication number
- CN108629848A CN108629848A CN201810432711.4A CN201810432711A CN108629848A CN 108629848 A CN108629848 A CN 108629848A CN 201810432711 A CN201810432711 A CN 201810432711A CN 108629848 A CN108629848 A CN 108629848A
- Authority
- CN
- China
- Prior art keywords
- camera
- virtual scene
- determined distance
- collides
- virtual
- 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/006—Mixed reality
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种保持相机处于虚拟场景之内方法及装置,该方法包括:搭建虚拟场景;当相机在虚拟场景中移动时,监测相机是否与虚拟场景中的物体发生碰撞;当确定相机与虚拟场景中的物体发生碰撞时,将虚拟场景中的物体移动至距离相机预设距离的位置。在虚拟场景中,当监测到相机发生移动且与虚拟场景中的物体发生碰撞时,则移动物体至距离相机预设距离的位置,或者使相机保持和虚拟物体的相对距离不变。从而避免相机直接穿透虚拟空间的物体,导致漫游出现画面破碎的bug,去除了使用HoloLens进行场景漫游时产生的破坏性体验,大大提升用户体验。
Description
技术领域
本发明涉及混合现实技术领域,具体涉及一种保持相机处于虚拟场景之内方法及装置。
背景技术
随着科技不断进步,混合现实技术逐渐得到很多人的注意,更有大部分的商家将混合现实技术应用到许多商业产品中用以创造利益价值。但是,现有的混合现实技术中,存在一个问题,就是当camera穿透虚拟空间的物体时,将会导致漫游出现画面破碎的bug,严重破坏了用户的体验。
发明内容
本发明的目的在于提供一种保持相机处于虚拟场景之内方法及装置,用以解决现有混合现实技术中camera穿透虚拟空间的物体导致漫游出现画面破碎的问题,从而提升用户的体验。
为实现上述目的,本发明的技术方案提供了一种保持相机处于虚拟场景之内方法,该保持相机处于虚拟场景之内方法包括:
搭建虚拟场景;
当相机在虚拟场景中移动时,监测相机是否与虚拟场景中的物体发生碰撞;
当确定相机与虚拟场景中的物体发生碰撞时,将虚拟场景中的物体移动至距离相机预设距离的位置。
本发明具有如下优点:在虚拟场景中,当监测到相机发生移动且与虚拟场景中的物体发生碰撞时,则移动物体至距离相机预设距离的位置,从而避免相机直接穿透虚拟空间的物体,导致漫游出现画面破碎的bug,去除了使用HoloLens进行场景漫游时产生的破坏性体验,大大提升用户体验。
进一步的,当确定相机与虚拟场景中的物体发生碰撞时,将虚拟场景中的物体移动至距离相机预设距离的位置之后,方法还包括:
当检测到相机仍朝物体所在方向移动时,保持相机与物体之间的预设距离不变,直至相机转移移动方向。
进一步的,保持相机与物体之间的预设距离不变,具体采用LimitCameraPosition.cs脚本组件中的relativeposition()实现。
进一步的,监测相机是否与虚拟场景中的物体发生碰撞,具体采用ScenePositionManager.cs脚本组件中的Wallcollision()实现。
为实现上述目的,本发明的技术方案提供了一种保持相机处于虚拟场景之内装置,该保持相机处于虚拟场景之内装置包括:
虚拟场景搭建单元,用于搭建虚拟场景;
监测单元,用于当相机在虚拟场景中移动时,监测相机是否与虚拟场景中的物体发生碰撞;
处理单元,用于当确定相机与虚拟场景中的物体发生碰撞时,将虚拟场景中的物体移动至距离相机预设距离的位置。
本发明具有如下优点:在虚拟场景中,当监测到相机发生移动且与虚拟场景中的物体发生碰撞时,则移动物体至距离相机预设距离的位置,从而避免相机直接穿透虚拟空间的物体,导致漫游出现画面破碎的bug,去除了使用HoloLens进行场景漫游时产生的破坏性体验,大大提升用户体验。
进一步的,处理单元还用于,当检测到相机仍朝物体所在方向移动时,保持相机与物体之间的预设距离不变,直至相机转移移动方向。
进一步的,处理单元采用LimitCameraPosition.cs脚本组件中的relativeposition()保持相机与物体之间的预设距离不变。
进一步的,监测单元采用ScenePositionManager.cs脚本组件中的Wallcollision()实现监测相机是否与虚拟场景中的物体发生碰撞。
附图说明
图1为本发明实施例提供的一种保持相机处于虚拟场景之内的方法流程示意图;
图2为本发明实施例提供的一种保持相机处于虚拟场景之内的装置结构示意图。
具体实施方式
以下实施例用于说明本发明,但不用来限制本发明的范围。
实施例1
本发明实施例1提供了一种保持相机处于虚拟场景之内的方法流程示意图。具体如图1所示,该保持相机处于虚拟场景之内的方法可以包括:
步骤110,搭建虚拟场景。
在搭建虚拟场景时可以使用Unity3D软件搭建。
步骤120,当相机在虚拟场景中移动时,监测相机是否与虚拟场景中的物体发生碰撞。
可选的,可以采用虚拟场景上挂载的ScenePositionManager.cs脚本组件中的Wall collision()方法实现监测物体和相机之间是否发生碰撞。一旦发生碰撞,则采取如步骤130所采取的措施。
步骤130,当确定相机与虚拟场景中的物体发生碰撞时,将虚拟场景中的物体移动至距离相机预设距离的位置。
具体的,一旦确定相机和虚拟场景中的物体发生碰撞,那么必须及时采取措施防止相机超出虚拟物体所导致的漫游出现画面破碎的情况发生。而采取的措施则可以是移动虚拟场景中的物体至距离相机预设距离的位置。即,让物体和相机之间有一定的距离,这样就可以保障相机不超出虚拟物体的情况发生了。
可选的,在保持相机与物体之间的预设距离不变时,可以采用LimitCameraPosition.cs脚本组件中的relativeposition()方法实现。
进一步可选的,步骤130之后,该方法还可以包括步骤140:
当检测到相机仍朝物体所在方向移动时,保持相机与物体之间的预设距离不变,直至相机转移移动方向。
具体的,可能在物体移动至距离相机预设距离后,相机仍然朝物体的方向移动。那么,很有可能再次发生碰撞。为了避免该其情况的发生,可以在检测到相机仍朝向物体所在方向移动时,始终保持相机与物体之间的预设距离不变,如此一来,则可以避免物体和相机再次发生碰撞。而保持预设距离可以持续到相机改变移动方向之后,即当相机和物体没有碰撞风险时,则停止物体的移动。
本发明实施例提供的一种保持相机处于虚拟场景之内方法,在虚拟场景中,当监测到相机发生移动且与虚拟场景中的物体发生碰撞时,则移动物体至距离相机预设距离的位置,从而避免相机直接穿透虚拟空间的物体,导致漫游出现画面破碎的bug,去除了使用HoloLens进行场景漫游时产生的破坏性体验,大大提升用户体验。
实施例2
与实施例相对应的,本发明实施例还提供了一种保持相机处于虚拟场景之内装置,具体如图2所示,该装置包括:虚拟场景搭建单元301、监测单元302和处理单元303。
虚拟场景搭建单元301,用于搭建虚拟场景。
监测单元302,用于当相机在虚拟场景中移动时,监测相机是否与虚拟场景中的物体发生碰撞。
处理单元303,用于当确定相机与虚拟场景中的物体发生碰撞时,将虚拟场景中的物体移动至距离相机预设距离的位置。
可选的,处理单元303还用于,当检测到相机仍朝物体所在方向移动时,保持相机与物体之间的预设距离不变,直至相机转移移动方向。
可选的,处理单元303采用处理单元采用LimitCameraPosition.cs脚本组件中的relativeposition()保持相机与物体之间的预设距离不变。
可选的,监测单元302采用ScenePositionManager.cs脚本组件中的Wallcollision()实现监测相机是否与虚拟场景中的物体发生碰撞。
本发明实施例提供的保持相机处于虚拟场景之内装置中各部件所执行的功能均已在上述实施例1中做了详细的介绍,因此这里不做详细介绍。
本发明实施例提供的一种保持相机处于虚拟场景之内装置,在虚拟场景中,当监测到相机发生移动且与虚拟场景中的物体发生碰撞时,则移动物体至距离相机预设距离的位置,从而避免相机直接穿透虚拟空间的物体,导致漫游出现画面破碎的bug,去除了使用HoloLens进行场景漫游时产生的破坏性体验,大大提升用户体验。
实施例3
此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现上述实施例1的方法步骤。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (8)
1.一种保持相机处于虚拟场景之内方法,其特征在于,所述方法包括:
搭建虚拟场景;
当相机在所述虚拟场景中移动时,监测所述相机是否与所述虚拟场景中的物体发生碰撞;
当确定所述相机与所述虚拟场景中的物体发生碰撞时,将所述虚拟场景中的物体移动至距离所述相机预设距离的位置。
2.根据权利要求1所述的方法,其特征子在于,所述当确定所述相机与所述虚拟场景中的物体发生碰撞时,将所述虚拟场景中的物体移动至距离所述相机预设距离的位置之后,所述方法还包括:
当检测到所述相机仍朝所述物体所在方向移动时,保持所述相机与所述物体之间的预设距离不变,直至所述相机转移移动方向。
3.根据权利要求2所述的方法,其特征在于,所述保持所述相机与所述物体之间的预设距离不变,具体采用LimitCameraPosition.cs脚本组件中的relativeposition()实现。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述监测所述相机是否与所述虚拟场景中的物体发生碰撞,具体采用ScenePositionManager.cs脚本组件中的Wallcollision()实现。
5.一种保持相机处于虚拟场景之内装置,其特征在于,所述装置包括:
虚拟场景搭建单元,用于搭建虚拟场景;
监测单元,用于当相机在所述虚拟场景中移动时,监测所述相机是否与所述虚拟场景中的物体发生碰撞;
处理单元,用于当确定所述相机与所述虚拟场景中的物体发生碰撞时,将所述虚拟场景中的物体移动至距离所述相机预设距离的位置。
6.根据权利要求5所述的方法,其特征在于,所述处理单元还用于,当检测到所述相机仍朝所述物体所在方向移动时,保持所述相机与所述物体之间的预设距离不变,直至所述相机转移移动方向。
7.根据权利要求6所述的装置,其特征子在于,所述处理单元采用LimitCameraPosition.cs脚本组件中的relativeposition()保持所述相机与所述物体之间的预设距离不变。
8.根据权利要求5-7任一项所述的装置,其特征在于,所述监测单元采用ScenePositionManager.cs脚本组件中的Wallcollision()实现监测所述相机是否与所述虚拟场景中的物体发生碰撞。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810432711.4A CN108629848A (zh) | 2018-05-08 | 2018-05-08 | 一种保持相机处于虚拟场景之内方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810432711.4A CN108629848A (zh) | 2018-05-08 | 2018-05-08 | 一种保持相机处于虚拟场景之内方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108629848A true CN108629848A (zh) | 2018-10-09 |
Family
ID=63695925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810432711.4A Pending CN108629848A (zh) | 2018-05-08 | 2018-05-08 | 一种保持相机处于虚拟场景之内方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108629848A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117392351A (zh) * | 2023-11-13 | 2024-01-12 | 安徽省特种设备检测院 | 一种工业管道安全培训方法、***及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107392888A (zh) * | 2017-06-16 | 2017-11-24 | 福建天晴数码有限公司 | 一种基于Unity引擎的距离测试方法及*** |
CN107577345A (zh) * | 2017-09-04 | 2018-01-12 | 苏州英诺迈医学创新服务有限公司 | 一种控制虚拟人物漫游的方法及装置 |
CN107666563A (zh) * | 2017-09-05 | 2018-02-06 | 上海东方传媒技术有限公司 | 一种应用于摄像机的防碰撞检测方法及*** |
-
2018
- 2018-05-08 CN CN201810432711.4A patent/CN108629848A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107392888A (zh) * | 2017-06-16 | 2017-11-24 | 福建天晴数码有限公司 | 一种基于Unity引擎的距离测试方法及*** |
CN107577345A (zh) * | 2017-09-04 | 2018-01-12 | 苏州英诺迈医学创新服务有限公司 | 一种控制虚拟人物漫游的方法及装置 |
CN107666563A (zh) * | 2017-09-05 | 2018-02-06 | 上海东方传媒技术有限公司 | 一种应用于摄像机的防碰撞检测方法及*** |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117392351A (zh) * | 2023-11-13 | 2024-01-12 | 安徽省特种设备检测院 | 一种工业管道安全培训方法、***及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10235764B2 (en) | Method, terminal, and storage medium for detecting collision between colliders in real-time virtual scene | |
AU2017204633B2 (en) | Tilting to scroll | |
US20160364017A1 (en) | Screen Content Display Method And System | |
US9824450B2 (en) | Localisation and mapping | |
WO2015085944A1 (zh) | 一种页面内容的移动方法及装置 | |
CN104469165B (zh) | 移动终端及检测摄像头旋转状态的方法 | |
CN103412720B (zh) | 处理触控式输入信号的方法及其装置 | |
US20160267278A1 (en) | Method, apparatus, terminal and media for detecting document object model-based cross-site scripting attack vulnerability | |
KR20170086572A (ko) | 타겟 대상의 모션 궤적을 결정하는 방법 및 디바이스, 및 저장 매체 | |
WO2015057410A1 (en) | Z-axis determination in a 2d gesture system | |
CN107145269B (zh) | 一种数据旋转方法以及装置 | |
CN107450841A (zh) | 交互对象控制方法及装置 | |
CN108629848A (zh) | 一种保持相机处于虚拟场景之内方法及装置 | |
CN106372076B (zh) | 浏览器中网页切换方法及装置 | |
CN104850246A (zh) | 信息处理的方法及电子设备 | |
CN103425272A (zh) | 一种利用智能手机控制电脑三维虚拟物体运动的方法 | |
CN105404447A (zh) | 动态调整移动终端桌面上应用图标位置的方法和装置 | |
CN109782909B (zh) | 一种vr交互设备与vr场景的交互方法及装置 | |
US20150086073A1 (en) | Image frame processing including usage of acceleration data in assisting object location | |
CN106354250B (zh) | 一种设置计步参数的方法、装置及终端 | |
CN106020659B (zh) | 一种信息处理方法及电子设备 | |
CN106301981B (zh) | 网速测试方法及装置 | |
CN117760364A (zh) | 折叠屏的折叠角度确定方法及装置、电子设备和存储介质 | |
CN112597555A (zh) | 设备主动脱困方法及电子设备、计算设备、存储介质 | |
CN116627736A (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 |
Application publication date: 20181009 |
|
RJ01 | Rejection of invention patent application after publication |