CN109313511B - 提供虚拟空间的方法、提供虚拟体验的方法、程序以及记录介质 - Google Patents

提供虚拟空间的方法、提供虚拟体验的方法、程序以及记录介质 Download PDF

Info

Publication number
CN109313511B
CN109313511B CN201780038446.5A CN201780038446A CN109313511B CN 109313511 B CN109313511 B CN 109313511B CN 201780038446 A CN201780038446 A CN 201780038446A CN 109313511 B CN109313511 B CN 109313511B
Authority
CN
China
Prior art keywords
virtual
user
sight
region
virtual object
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.)
Active
Application number
CN201780038446.5A
Other languages
English (en)
Other versions
CN109313511A (zh
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.)
Colopl Inc
Original Assignee
Colopl Inc
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
Priority claimed from JP2016142759A external-priority patent/JP6189495B1/ja
Priority claimed from JP2016142762A external-priority patent/JP6189497B1/ja
Priority claimed from JP2016142761A external-priority patent/JP6189496B1/ja
Application filed by Colopl Inc filed Critical Colopl Inc
Priority to CN202110157743.XA priority Critical patent/CN112783328B/zh
Publication of CN109313511A publication Critical patent/CN109313511A/zh
Application granted granted Critical
Publication of CN109313511B publication Critical patent/CN109313511B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本公开提供一种能够通过直观的操作而与虚拟物件接触的虚拟体验。控制电路部,设定用于判定与虚拟物件的接触的区域,该区域至少包括相对于虚拟物件而沿基于用户的基准视线的方向的延伸方向延伸的部分。

Description

提供虚拟空间的方法、提供虚拟体验的方法、程序以及记录 介质
技术领域
本公开涉及提供虚拟空间的方法、提供虚拟体验的方法、程序以及记录介质。
背景技术
非专利文献1公开了一种技术,该技术能够利用配置于虚拟空间的用户的虚拟手抓取、投掷配置于虚拟空间的物块。
现有技术文献
非专利文献
非专利文献1:Toybox Demo for Oculus Touch-Inside Look[online]、2015年10月13日、[2016年6月13日检索]、互联网<URL:https://www.youtube.com/watch?v=dbYP4bhKr2M>
发明内容
在虚拟空间中,在欲通过用户与虚拟物件接触而进行操作的情况下,由于现实空间和距离感不同,有时候无法直观地进行操作。另外,通过将虚拟物件配置成与现实空间重叠,使得即使在向用户提供虚拟体验的情况下,也可能产生同样的问题。
在虚拟空间中,在欲通过用户与虚拟物件接触而进行操作的情况下,如果存在多个虚拟物件,那么,估计用户无法通过直观的操作而与期望的虚拟物件接触。另外,通过将虚拟物件配置成与现实空间重叠,使得即使在向用户提供虚拟体验的情况下,也可能产生同样的问题。本公开是为了解决该问题而提出的,其目的在于,用户能够通过直观的操作而与期望的虚拟物件接触。
本公开提供了从上述至少一个观点出发而改善的技术。
为了解决前述的问题,本公开涉及的提供虚拟空间的方法,为向在头部佩戴了头戴式显示器的用户提供虚拟空间的方法,包括:确定配置于虚拟空间的多个虚拟物件并将与用户的头部以外的身体的一部分的运动连动地进行动作的操作对象物件配置于虚拟空间的步骤,确定用户的在虚拟空间中的基准视线的步骤,确定配置于虚拟空间并基于基准视线而规定使用户辨认的视界区域的虚拟摄像机的步骤,在多个虚拟物件之中的至少一个,设定至少包括沿基于虚拟空间中的虚拟摄像机的位置或者基准视线的方向的延伸方向延伸的部分的、用于判定与操作对象物件的接触的区域的步骤,以及基于区域和操作对象物件的位置关系而判定设定有区域的虚拟物件和操作对象物件的接触的步骤。
依照本公开,提供了从上述至少一个观点出发而改善的技术。
附图说明
图1是示意头戴式显示系统的构成的图。
图2是示意控制电路部的硬件构成的图。
图3是举例说明设定于头戴式显示器的视野坐标系的图。
图4是说明向用户提供的虚拟空间的概要的图。
图5是示意视界区域的截面的图。
图6是举例说明决定用户的视线方向的方法的图。
图7是显示控制器的构成的图。
图8是示意控制电路部的功能构成的框图。
图9是示意头戴式显示系统向用户提供虚拟空间的处理的流程的时序图。
图10是示意虚拟空间中的游戏中的处理的流程的时序图。
图11是示意在虚拟空间中的游戏中设定判定区域后的处理的流程的时序图。
图12是说明基于虚拟摄像机的位置的基准矢量的调整方法的图。
图13是说明基于虚拟摄像机的朝向的基准矢量的调整方法的图,是示意从虚拟空间的Y轴方向观看的虚拟物件以及虚拟摄像机的图。
图14是说明基于虚拟摄像机的朝向的基准矢量的调整方法的图,是示意从虚拟空间的X轴方向观看的虚拟物件以及虚拟摄像机的图。
图15是示意在卡片型的虚拟物件分别设定判定区域的示例的图。
图16是示意在卡片型的虚拟物件分别设定判定区域的其他示例的图。
图17是示意虚拟空间中的游戏中的处理的流程的时序图。
图18是示意握持卡片型的虚拟物件的状态的图。
图19是说明基于虚拟摄像机的位置的基准矢量的调整方法的图。
图20是说明基于基准视线的方向的基准矢量的调整方法的图,是示意从虚拟空间的Y轴方向观看的虚拟物件以及虚拟摄像机的图。
图21是说明基于基准视线的方向的基准矢量的调整方法的图,是示意从虚拟空间的X轴方向观看的虚拟物件以及虚拟摄像机的图。
图22是示意在卡片型的虚拟物件分别设定判定区域的示例的图。
图23是示意在卡片型的虚拟物件分别设定判定区域的其他示例的图。
图24是示意在虚拟空间中的游戏中选择虚拟物件时的处理的流程的时序图。
图25是说明附随物件的一个示例的图。
图26是说明附随物件的其他示例的图。
图27是说明在附随物件进入多个判定区域的情况下,判定与哪个判定区域的虚拟物件接触的处理的图。
图28是说明抓取虚拟物件时的显示内容的图。
具体实施方式
[本发明的实施方式的详情]
以下,参照附图,同时说明本发明的实施方式涉及的提供虚拟空间的方法以及程序的具体示例。本发明不限定于这些示例,而是由权利要求的范围表示,与权利要求的范围均等的意味以及范围内的全部变更旨在被本发明包括。在以下的说明中,说明附图时,对相同的要素赋予相同的符号,不进行重复的说明。
(头戴式显示系统100的构成)
图1是示意头戴式显示系统100的构成的图。如图所示,头戴式显示系统100,具备头戴式显示器110、头戴传感器120、控制传感器140、控制电路部200以及控制器300。
头戴式显示器110佩戴于用户的头部。头戴式显示器110,具备作为非透过型的显示装置的显示屏112、传感器114以及注视传感器130。头戴式显示器110,通过在显示屏112分别显示右眼用图像以及左眼用图像,从而使用户辨认三维图像,该三维图像由用户基于用户的双眼的视差而立体地辨认。由此,向用户提供虚拟空间。由于显示屏112配置于用户的眼前,因而,用户能够通过显示屏112显示的图像而投入于虚拟空间。由此,用户能够体验虚拟现实(Virtual Reality:VR)。虚拟空间能够包括背景以及用户能够操作的各种物件和菜单图像等。
显示屏112可以包括显示右眼用图像的右眼用子显示屏和显示左眼用图像的左眼用子显示屏。或者,显示屏112可以是在共同的画面显示右眼用图像和左眼用图像的1个显示装置。这种显示装置,例如,可以列举通过高速地切换使显示图像只能由一只眼辨认的快门,从而独立地交替显示右眼用图像和左眼用图像的显示装置。
另外,在本实施方式中,透过型显示屏可以适用于头戴式显示器110。即,头戴式显示器110可以为透过型头戴式显示器。这种情况下,通过在透过型显示屏显示前述三维图像,从而能够在现实空间虚拟地配置后述的虚拟物件。由此,用户能够体验虚拟物件配置于现实空间的复合现实(Mixes Reality:MR)。在本实施方式中,有时候将虚拟现实和复合现实等的、用户能够与虚拟物件相互作用的体验称为虚拟体验。以下,将用于提供虚拟现实的方法作为一个示例而详细说明。
(控制电路部200的硬件构成)
图2是示意控制电路部200的硬件构成的图。控制电路部200是用于使头戴式显示器110提供虚拟空间的计算机。如图2所示,控制电路部200,具备处理器、存储器、存储部、输入输出接口以及通信接口。这些,通过作为数据传输路的总线,在控制电路部200内相互连接。
处理器,包括中央处理器(Central Processing Unit:CPU)、微处理器(Micro-processing unit:MPU)或者图形处理器(Graphics Processing Unit:GPU)等而构成,控制控制电路部200以及头戴式显示系统100全体的工作。
存储器,作为主记忆而起作用。在存储器,存储了由处理器处理的程序以及控制用数据(演算参数等)。存储器,能够包括只读存储器(Read Only Memory:ROM)或者随机存取存储器(Random Access Memory:RAM)等而构成。
存储部,作为補助记忆而起作用。在存储部,存储了用于控制头戴式显示系统100全体的工作的程序、各种仿真程序、用户认证程序以及用于规定虚拟空间的各种数据(图像以及物件等)。再者,包括用于管理各种数据的表格的数据库也可以构筑于存储部。存储部,能够包括闪存或者硬盘(Hard Disc Drive:HDD)等而构成。
输入输出接口,包括通用串行总线(Universal Serial Bus:USB)端子、数字视频接口(Digital Visual Interface:DVI)端子、高清多媒体接口(High-DefinitionMultimedia Interface:HDMI(注册商标))端子等的各种有线连接端子以及用于无线连接的各种处理电路而构成。输入输出接口,将头戴式显示器110、包括头戴传感器120和控制传感器140的各种传感器、控制器300相互连接。
通信接口,包括用于经由网络NW而与外部装置进行通信的各种有线连接端子以及用于无线连接的各种处理电路而构成。通信接口构成为,符合用于经由局域网(Local AreaNetwork:LAN)或者互联网而进行通信的各种通信规格以及协议。
控制电路部200,将存储于存储部的既定的应用程序加载于存储器并执行,从而向用户提供虚拟空间。在执行程序时,在存储器以及存储部,存储了用于操作配置于虚拟空间内的各种虚拟物件,显示并控制各种菜单图像等的各种程序。
控制电路部200,可以搭载于头戴式显示器110,也可以不搭载于头戴式显示器110。即,控制电路部200,可以是独立于头戴式显示器110的另一硬件(例如,个人计算机、或者能够通过网络而与头戴式显示器110进行通信的服务器装置)。控制电路部200,可以是通过多个硬件的协动而安装1个或者多个功能的形态的装置。或者,也可以在头戴式显示器110仅安装控制电路部200具有的全部功能中的一部分功能,在另一硬件安装剩下的功能。
在构成头戴式显示系统100的头戴式显示器110等的各要件,预先设定全局坐标系(基准坐标系、xyz坐标系)。该全局坐标系具有3个基准方向(轴),该3个基准方向分别平行于现实空间中的竖直方向、与竖直方向垂直的横方向、与竖直方向和横方向的双方垂直的前后方向。在本实施方式中,全局坐标系为视点坐标系的一种,因而,全局坐标系中的横方向、竖直方向(上下方向)以及前后方向分别作为x轴、y轴,z轴。具体而言,全局坐标系的x轴平行于现实空间的横方向,y轴平行于现实空间的竖直方向,z轴平行于现实空间的前后方向。
头戴传感器120,具有用于检出头戴式显示器110的运动的位置追踪功能。头戴传感器120,利用该功能,检出现实空间内的头戴式显示器110的位置和倾斜。为了实现该检出,头戴式显示器110具备图中未显示的多个光源。各光源,例如为发出红外线的发光二极管。头戴传感器120,例如包括红外线传感器而构成。头戴传感器120,通过由红外线传感器检出从头戴式显示器110的光源照射的红外线,从而检出头戴式显示器110的检出点。再者,基于头戴式显示器110的检出点的检出值,检出与用户的运动相应的、头戴式显示器110在现实空间内的位置和倾斜。头戴传感器120,能够基于检出值的经时变化,决定头戴式显示器110的位置和倾斜的时间变化。
头戴传感器120,也可以包括光学摄像机而构成。这种情况下,头戴传感器120,基于由光学摄像机获得的头戴式显示器110的图像信息,检出头戴式显示器110的位置和倾斜。
头戴式显示器110,也可以使用传感器114检出自身的位置和倾斜,以代替头戴传感器120。这种情况下,传感器114,例如为角速度传感器、地磁传感器、加速度传感器或者陀螺传感器即可。头戴式显示器110使用这些之中的至少1个。在传感器114为角速度传感器的情况下,传感器114,根据头戴式显示器110的运动,经时地检出头戴式显示器110在现实空间中围绕3轴的角速度。头戴式显示器110,能够基于角速度的检出值,决定头戴式显示器110围绕3轴的角度的时间变化,进而,基于角度的时间变化,检出头戴式显示器110的倾斜。
在头戴式显示器110基于传感器114的检出值而自行检出头戴式显示器110的位置和倾斜的情况下,头戴式显示系统100不需要头戴传感器120。相反,在配置于远离头戴式显示器110的位置的头戴传感器120检出头戴式显示器110的位置和倾斜的情况下,头戴式显示器110不需要传感器114。
如上所述,全局坐标系与现实空间的坐标系平行。因此,由头戴传感器120检出的头戴式显示器110的各倾斜,相当于全局坐标系中的头戴式显示器110围绕3轴的各倾斜。头戴传感器120,基于全局坐标系中的头戴传感器120的倾斜的检出值,在头戴式显示器110设定uvw视野坐标系。设定于头戴式显示器110的uvw视野坐标系,对应于佩戴了头戴式显示器110的用户观看物体时的视点坐标系。
(uvw视野坐标系)
图3是举例说明设定于头戴式显示器110的uvw视野坐标系的图。头戴传感器120,在头戴式显示器110起动时,检出全局坐标系中的头戴式显示器110的位置和倾斜。接着,在头戴式显示器110设定基于倾斜的检出值的三维的uvw视野坐标系。如图3所示,头戴传感器120,在头戴式显示器110设定以佩戴了头戴式显示器110的用户的头部为中心(原点)的三维的uvw视野坐标系。具体而言,通过将规定全局坐标系的横方向、竖直方向以及前后方向(x轴、y轴、z轴)在全局坐标系内分别围绕各轴倾斜头戴式显示器110围绕各轴的倾斜度,从而得到新的3个方向,将这3个方向设定为头戴式显示器110的uvw视野坐标系的俯仰方向(u轴)、偏转方向(v轴)以及侧偏方向(w轴)。
如图3所示,头戴传感器120,在佩戴了头戴式显示器110的用户直立且辨认正面的情况下,将平行于全局坐标系的uvw视野坐标系设定于头戴式显示器110。这种情况下,全局坐标系的横方向(x轴)、竖直方向(y轴)以及前后方向(z轴)保持原样地与头戴式显示器110的uvw视野坐标系的俯仰方向(u轴),偏转方向(v轴)以及侧偏方向(w轴)一致。
头戴传感器120,在将uvw视野坐标系设定于头戴式显示器110之后,根据头戴式显示器110的运动,能够检出当前设定中的uvw视野坐标系中的头戴式显示器110的倾斜度(倾斜的变化量)。这种情况下,头戴传感器120,分别检出当前设定中的uvw视野坐标系中的头戴式显示器110的俯仰角(θu)、偏转角(θv)以及侧偏角(θw),作为头戴式显示器110的倾斜。俯仰角(θu)是uvw视野坐标系中的围绕俯仰方向的头戴式显示器110的倾斜角度。偏转角(θv)是uvw视野坐标系中的围绕偏转方向的头戴式显示器110的倾斜角度。侧偏角(θw)是uvw视野坐标系中的围绕侧偏方向的头戴式显示器110的倾斜角度。
头戴传感器120,基于头戴式显示器110的倾斜的检出值,将运动后的头戴式显示器110中的uvw视野坐标系新设定于头戴式显示器110。头戴式显示器110和头戴式显示器110的uvw视野坐标系的关系,与头戴式显示器110的位置和倾斜无关,始终固定。如果头戴式显示器110的位置和倾斜变化,则与该变化连动,全局坐标系中的头戴式显示器110的uvw视野坐标系的位置和倾斜同样地变化。
头戴传感器120,可以基于由红外线传感器取得的红外线的光强度以及多个检出点间的相对位置关系(检出点间的距离等),将头戴式显示器110在现实空间内的位置确定为相对于头戴传感器120的相对位置。另外,可以基于已确定的相对位置,决定现实空间内(全局坐标系)的头戴式显示器110的uvw视野坐标系的原点。另外,头戴传感器120,可以基于多个检出点间的相对位置关系,检出头戴式显示器110在现实空间内的倾斜,进而,基于该检出值,决定现实空间内(全局坐标系)的头戴式显示器110的uvw视野坐标系的朝向。
(虚拟空间2的概要)
图4是说明向用户提供的虚拟空间2的概要的图。如图所示,虚拟空间2,具有将中心21的360°方向全体覆盖的全天球状的构造。图4仅举例说明了虚拟空间2的全体之中的上半部分的天球。在虚拟空间2,关联了大致正方形或者大致长方形的多个网格。虚拟空间2中的各网格的位置,作为虚拟空间2中规定的空间坐标系(XYZ坐标系)中的坐标而被预先规定。控制电路部200,通过将构成能够在虚拟空间2展开的内容(静止画、动画等)的各部分图像对应于与虚拟空间2对应的各网格,从而向用户提供用户能够辨认的虚拟空间图像22展开的虚拟空间2。
在虚拟空间2中,规定了以中心21为原点的XYZ空间坐标系。XYZ坐标系,例如平行于全局坐标系。XYZ坐标系为视点坐标系的一种,因而,XYZ坐标系的横方向、竖直方向(上下方向)以及前后方向分别作为X轴、Y轴、Z轴。即,XYZ坐标系的X轴(横方向)与全局坐标系的x轴平行,XYZ坐标系的Y轴(上下方向)与全局坐标系的y轴平行,XYZ坐标系的Z轴(前后方向)与全局坐标系的z轴平行。
在头戴式显示器110起动时(初始状态),在虚拟空间2的中心21配置虚拟摄像机1。虚拟摄像机1,与现实空间内的头戴式显示器110的运动连动,在虚拟空间2内同样地运动。由此,现实空间内的头戴式显示器110的位置以及朝向的变化,在虚拟空间2内同样地再现。
在虚拟摄像机1,与头戴式显示器110同样地规定了uvw视野坐标系。虚拟空间2内的虚拟摄像机1的uvw视野坐标系,被规定成与现实空间(全局坐标系)内的头戴式显示器110的uvw视野坐标系连动。所以,如果头戴式显示器110的倾斜变化,则虚拟摄像机1的倾斜也与其连动地变化。虚拟摄像机1,能够与佩戴了头戴式显示器110的用户在现实空间中的移动连动,在虚拟空间2中移动。
根据虚拟空间2中的虚拟摄像机1的位置和倾斜,决定虚拟空间2中的虚拟摄像机1的朝向。由此,决定了当用户辨认在虚拟空间2中展开的虚拟空间图像22时的成为基准的视线(基准视线5)。控制电路部200,基于基准视线5,决定虚拟空间2中的视界区域23。视界区域23为虚拟空间2中的与佩戴了头戴式显示器110的用户的视界对应的区域。
图5是示意视界区域23的截面的图。图5(a)示意在虚拟空间2中从X方向观看视界区域23的YZ截面。图5(b)示意在虚拟空间2中从Y方向观看的视界区域23的XZ截面。视界区域23,具有作为由基准视线5和虚拟空间2的YZ截面定义的范围的第1区域24(图5(a))和作为由基准视线5和虚拟空间2的XZ截面定义的范围的第2区域25(参照图5(b))。控制电路部200,将以虚拟空间2中的基准视线5为中心包括极角α的范围设定为第1区域24。另外,将以虚拟空间2中的基准视线5为中心的包括方位角β的范围设定为第2区域25。
头戴式显示系统100,使头戴式显示器110的显示屏112显示虚拟空间图像22之中的与视界区域23重叠的部分,即视界图像26,从而向用户提供虚拟空间2。如果用户使头戴式显示器110运动,那么,虚拟摄像机1也与其连动地运动,结果,虚拟空间2中的视界区域23的位置变化。由此,显示屏112显示的视界图像26被更新为虚拟空间图像22之中的、与用户在虚拟空间2中朝向的部位(=视界区域23)重叠的图像。所以,用户,能够辨认虚拟空间2中的期望的部位。
用户,在佩戴头戴式显示器110的期间,不观看现实世界,仅辨认虚拟空间2中展开的虚拟空间图像22。因此,头戴式显示系统100,能够向用户给予对虚拟空间2的高投入感。
控制电路部200,可以与佩戴了头戴式显示器110的用户在现实空间中的移动连动,使虚拟摄像机1在虚拟空间2内移动。这种情况下,控制电路部200,基于虚拟摄像机1在虚拟空间2内的位置以及朝向,确定虚拟空间2中的因投影于头戴式显示器110的显示屏112而被用户辨认的视界区域23。
虚拟摄像机1,优选包括提供右眼用图像的右眼用虚拟摄像机和提供左眼用图像的左眼用虚拟摄像机。再者,优选在2个虚拟摄像机设定恰当的视差,使得用户能够辨认三维的虚拟空间2。在本实施方式中,仅代表性地图示并说明这样的虚拟摄像机1:通过将这种2个虚拟摄像机的侧偏方向合成而生成的侧偏方向(w)符合头戴式显示器110的侧偏方向(w)。
(视线方向的检出)
注视传感器130,具有检出用户的右眼以及左眼的视线朝向的方向(视线方向)的眼球追踪功能。注视传感器130,能够采用具有眼球追踪功能的公知的传感器。注视传感器130,优选具备右眼用传感器以及左眼用传感器。注视传感器130,例如,可以是这样的传感器:向用户的右眼以及左眼照射红外光,并且,接收来自角膜以及虹膜的对于照射光的反射光,从而检出各眼球的旋转角。注视传感器130,基于已检出的各旋转角,能够检测用户的视线方向。
由注视传感器130检出的用户的视线方向为用户辨认物体时的视点坐标系的方向。如上所述,头戴式显示器110的uvw视野坐标系,等同于用户辨认显示屏112时的视点坐标系。另外,虚拟摄像机1的uvw视野坐标系,与头戴式显示器110的uvw视野坐标系连动。所以,在头戴式显示系统100中,能够将注视传感器130检出的用户的视线方向视为虚拟摄像机1的uvw视野坐标系中的用户的视线方向。
图6是举例说明决定用户的视线方向的方法的图。如图所示,注视传感器130,检出用户U的右眼以及左眼的视线。在用户U观看近处的情况下,注视传感器130,检出用户U的视线R1以及L1。在用户观看远处的情况下,注视传感器130,确定视线R2以及L2,该视线R2以及L2与头戴式显示器110的侧偏方向(w)所成的角比用户的视线R1以及L1小。注视传感器130,向控制电路部200发送检出值。
控制电路部200,在接收视线R1以及L1作为视线的检出值的情况下,确定作为两者的交点的注视点N1。另一方面,在接收视线R2以及L2的情况下,也确定作为两者的交点的注视点N2(图中未显示)。控制电路部200,基于已确定的注视点N1,检出用户U的视线方向N0。控制电路部200,例如,检出通过将用户U的右眼R和左眼L连接的直线的中点与注视点N1的直线延伸的方向,作为视线方向N0。视线方向N0,是用户U通过双眼而实际地使视线朝向的方向。另外,视线方向N0也是用户U相对于视界区域23而实际地使视线朝向的方向。
头戴式显示系统100,可以在构成头戴式显示系统100的任意要件具备话筒以及扬声器。由此,用户能够对虚拟空间2内给予声音的指示。另外,为了在虚拟空间内的虚拟电视接收电视节目的放送,头戴式显示系统100可以在任意要件包括电视接收机。另外,也可以包括用于使用户取得的电子邮件等显示的通信功能等。
(控制器300)
图7是显示控制器300的构成的图。控制器300,是用于通过检测用户的身体的一部分的运动,从而控制虚拟物件的运动的装置的一个示例。如图1以及图7所示,控制器300,由用户在右手拿着并使用的右控制器320和用户在左手拿着并使用的左控制器330构成。右控制器320和左控制器330,分别作为独立的装置而构成。用户,能够使拿着右控制器320的右手和拿着左控制器330的左手相互自由地运动。此外,用于检测作为用户的头部以外的身体的一部分的运动的方法,不限于使用包括佩戴于该身体的一部分的传感器的控制器的示例,能够适用图像辨认,其他任意的物理的、光学的方法等。例如,使用外部摄像机确定用户的身体的一部分的初始位置,继续确定用户的身体的一部分的位置,从而能够检测作为用户的头部以外的身体的一部的运动。在以下的说明中,详细说明使用控制器300检测作为用户的头部以外的身体的一部分的运动。
如图1以及图7所示,右控制器320和左控制器330,分别具备操作键钮302、红外线发光二极管(Light Emitting Diode:LED)304、传感器306以及收发器308。如后所述,右控制器320和左控制器330,可以仅具备红外线发光二极管304和传感器306之中的任一个。
操作键钮302为多个键钮组,该多个键钮组构成为接受来自用户的对控制器300的操作输入。在本实施方式中,操作键钮302,包括按压式键钮、触发式键钮以及模拟摇杆。
按压式键钮,是构成为由拇指向下按下的动作进行操作的键钮。右控制器320,作为按压式键钮,在顶面322上具备拇指键钮302a以及302b。左控制器330,作为按压式键钮,在顶面332上具备2个拇指键钮302c以及302d。拇指键钮302a以及302b,均由右手的拇指操作(按下)。拇指键钮302c以及302d,均由左手的拇指操作(按下)。
触发式键钮,是构成为由食指或者中指扣扳机这样的动作进行操作的键钮。右控制器320,在握柄324的前面部分具备食指键钮302e,并在握柄324的侧面部分具备中指键钮302f,作为触发式键钮。左控制器330,在握柄334的前面部分具备食指键钮302g,并在握柄334的侧面部分具备中指键钮302h,作为触发式键钮。食指键钮302e、中指键钮302f、食指键钮302g以及中指键钮302h,分别由右手的食指、右手的中指、左手的食指以及左手的中指操作(按下)。
右控制器320,分别检出拇指键钮302a和302b、食指键钮302e以及中指键钮302f的按下状态,向控制电路部200输出这些检出值。另一方面,左控制器330,分别检出拇指键钮302c和302d、食指键钮302g以及中指键钮302h的按下状态,向控制电路部200输出这些检出值。
在本实施方式中,右控制器320和左控制器330的各键钮的按下状态的检出值,取得0至1中的某个值。例如,在用户未完全按下拇指键钮302a的情况下,检出“0”作为拇指键钮302a的按下状态。另一方面,在用户完全(最深)按下拇指键钮302a的情况下,检出“1”作为拇指键钮302a的按下状态。
模拟摇杆,为能够从既定的空挡位置向360°任意的方向倾斜并进行操作的摇杆型的键钮。在右控制器320的顶面322上设有模拟摇杆302i,在左控制器330的顶面332上设有模拟摇杆302j。模拟摇杆302i以及302j,分别由右手以及左手的拇指操作。
右控制器320和左控制器330,分别具备框架326和336,该框架326和336从握柄(324和334)的两侧面向顶面(322和332)的相反侧的方向延伸,形成半圆状的环。在各框架326和336的外表面,嵌入了多个红外线发光二极管304。多个(例如10个左右)红外线发光二极管304,沿着框架326、336的圆周方向排成一列而设置。也可以沿着框架326和336的圆周方向,配置多个列(例如2列)红外线发光二极管304。
在用户握着控制器300时,用户的各手指位于握柄(324或者334)和框架(326或者336)之间。所以,配置于各框架326和336的外表面的红外线发光二极管304,不被用户的手掌或手指覆盖隐藏。也可以不仅在框架326和336的外表面,还在握柄324和334的表面之中的不被用户的手指隐藏的部分,设置红外线发光二极管304。红外线发光二极管304,在玩计算机游戏的期间,发出红外线。从红外线发光二极管304发出的红外光,用于分别检出右控制器320和左控制器330的各自的位置和倾斜。
右控制器320和左控制器330,还内置传感器306,以代替红外线发光二极管304,或者,除了红外线发光二极管304之外,还内置传感器306。传感器306,例如可以为磁性传感器、角速度传感器或者加速度传感器中的任一个,或者这些的组合。通过传感器306,也能够检出右控制器320和左控制器330的位置和倾斜。
传感器306,在用户分别用右手以及左手拿着右控制器320和左控制器330并使其运动时,输出与右控制器320和左控制器330的朝向以及运动相应的值(磁性、角速度或者加速度的值)。控制电路部200,通过利用适当的方法加工来自传感器306的输出值,从而能够检出右控制器320和左控制器330的各自的位置和倾斜。
收发器308,构成为在右控制器320和左控制器330和控制电路部200之间收发数据。收发器308,向控制电路部200发送基于用户经由操作键钮302向右控制器320或者左控制器330给予的操作输入的数据。另外,收发器308,从控制电路部200接收向右控制器320或者左控制器330指示红外线发光二极管304的发光的命令。再者,收发器308,向控制电路部200发送与由传感器306检出的各种值对应的数据。
右控制器320和左控制器330,也可以具备用于向用户的手传递振动的触觉反馈的振动器。在该构成中,收发器308,不仅能够收发上述的各数据,还能够从控制电路部200接收用于使振动器进行触觉反馈的命令。收发器308,优选构成为通过无线通信收发数据。在该构成中,在右控制器320和左控制器330未连接有线通信用的线缆,因而,用户更自由地分别使拿着右控制器320的右手以及拿着左控制器330的左手运动。
控制传感器140,具有用于检出右控制器320和左控制器330的运动的位置追踪功能。控制传感器140,通过该功能,检出现实空间内的右控制器320和左控制器330的位置和倾斜。为了实现该检出,控制传感器140,分别检出从右控制器320和左控制器330的红外线发光二极管304发出的红外光。控制传感器140,例如,具备在红外波长区域拍摄图像的红外摄像机,基于由该红外摄像机拍摄的图像的数据,检出右控制器320和左控制器330的位置和倾斜。
由红外摄像机拍摄的图像,为反映了嵌入右控制器320和左控制器330的表面的多个红外线发光二极管304的配置的明暗图像。在某1个拍摄图像,能够包括左右相互分离的2个明亮点的集团。2个集团中的左侧的集团,对应于用户用右手拿着的右控制器320的红外线发光二极管304。右侧的集团,对应于用户用左手拿着的左控制器330的红外线发光二极管304。控制传感器140,从构成左侧的集团的明亮点排列的方向,检出右控制器320的倾斜。例如,在明亮点在拍摄图像内沿横方向(即,水平方向)排列的情况下,检出右控制器320的倾斜,作为将框架326保持为水平的倾斜即可。另外,在明亮点排列的方向在拍摄图像内从横方向倾斜某个角度的情况下,检出右控制器320的倾斜,作为框架326从水平倾斜该角度的倾斜即可。同样地,控制传感器140,从拍摄图像内的构成右侧的集团的明亮点排列的方向,检出左控制器330的倾斜。
控制传感器140,通过识别拍摄图像内的明亮点(红外线发光二极管304),从而分别检出右控制器320和左控制器330的位置。例如,检出从拍摄图像检出的2个明亮点的集团之中的、构成左侧的集团的多个明亮点的重心位置,作为右控制器320的位置。再者,检出构成右侧的集团的多个明亮点的重心位置,作为左控制器330的位置。
右控制器320和左控制器330,可以使用传感器306检出自身的位置和倾斜,代替控制传感器140。这种情况下,例如,右控制器320的三轴角速度传感器(传感器306),检出围绕右控制器320的3个垂直的各轴的旋转。右控制器320,基于各检出值,检出右控制器320沿哪个方向旋转多少,进而,累积逐次检出的旋转方向和旋转量,从而算出右控制器320的倾斜。同样地,左控制器330,使用来自左控制器330的三轴角速度传感器(传感器306)的检出值,算出左控制器330的倾斜即可。右控制器320和左控制器330,除了三轴角速度传感器的检出值之外,还可以同时使用例如来自三轴磁性传感器及/或三轴加速度传感器的检出值。
虽然省略了详细的说明,但是,右控制器320,能够使用来自三轴角速度传感器(传感器306)的检出值,检出右控制器320的位置。另外,左控制器330,能够使用来自三轴角速度传感器(传感器306)的检出值,检出左控制器330的位置。
(控制电路部200的功能构成)
图8是示意控制电路部200的功能构成的框图。控制电路部200,使用从头戴传感器120、控制传感器140、注视传感器130以及控制器300接收的各种数据,从而控制向用户提供的虚拟空间2,并且,控制头戴式显示器110的显示屏112的图像显示。如图8所示,控制电路部200,具备检出部210、显示控制部220、虚拟空间控制部230、记忆部240以及通信部250。控制电路部200,通过图2所示的各硬件的协动,作为检出部210、显示控制部220、虚拟空间控制部230、记忆部240以及通信部250而起作用。检出部210、显示控制部220以及虚拟空间控制部230,能够主要通过处理器以及存储器的协动而实现其功能。记忆部240,能够主要通过存储器以及存储部的协动而实现其功能。通信部250,能够主要通过处理器以及通信接口的协动而实现其功能。
检出部210,从连接于控制电路部200的各种传感器(头戴传感器120等)接收检出值。另外,必要时,执行使用已接收的检出值的既定的处理。检出部210,具备头戴式显示器检出部211、视线检出部212以及控制器检出部213。头戴式显示器检出部211,分别从头戴式显示器110以及头戴传感器120接收检出值。视线检出部212,从注视传感器130接收检出值。控制器检出部213,从控制传感器140、右控制器320和左控制器330接收各自的检出值。
显示控制部220,控制头戴式显示器110的显示屏112的图像显示。显示控制部220,具备虚拟摄像机控制部221、视界区域决定部222以及视界图像生成部223。虚拟摄像机控制部221,在虚拟空间2内配置虚拟摄像机1,并且,控制虚拟空间2内的虚拟摄像机1的举动。视界区域决定部222,决定视界区域23。视界图像生成部223,基于已决定的视界区域23,生成显示屏112显示的视界图像26。
虚拟空间控制部230,控制向用户提供的虚拟空间2。虚拟空间控制部230,具备虚拟空间规定部231、虚拟手控制部232、区域确定部233以及接触判定部234。
虚拟空间规定部231,生成表示向用户提供的虚拟空间2的虚拟空间数据,从而规定头戴式显示系统100处的虚拟空间2。虚拟手控制部232,在虚拟空间2内配置与用户对右控制器320和左控制器330的操作相应的用户的各虚拟手(虚拟右手和虚拟左手),并且,控制虚拟空间2内的各虚拟手的举动。区域确定部233,在虚拟空间26中的物件,即虚拟物件中的至少一个,设定判定区域,该判定区域用于判定与成为用户操作的对象的操作对象物件(例如,虚拟手)的接触。接触判定部234,基于前述判定区域和前述操作对象物件的位置关系,判定设定有前述判定区域的前述虚拟物件和前述操作对象物件的接触。
记忆部240,存储用于控制电路部200向用户提供虚拟空间2的各种数据。记忆部240,具备样式存储部241以及内容存储部242。样式存储部241,存储表示虚拟空间2的样式的各种样式数据。内容存储部242,存储能够在虚拟空间2中播放的各种内容。
样式数据,具有规定虚拟空间2的空间构造的空间构造数据。空间构造数据,例如为规定以中心21为中心的360°的全天球的空间构造的数据。样式数据,还具有规定虚拟空间2的XYZ坐标系的数据。样式数据,还具有确定构成天球的各网格的XYZ坐标系中的位置的坐标数据。另外,样式数据,还可以具有示意是否能够在虚拟空间2内配置虚拟物件的标记。
内容,为能够在虚拟空间2中播放的内容。在本实施方式中,该内容是游戏内容。内容,至少具有规定游戏的背景图像以及在游戏中登场的虚拟物件(人物、物品等)的数据。在各内容,预先规定在头戴式显示器110的初始状态(起动时)朝向向用户展示的图像的初始方向。
通信部250,经由网络NW而在与外部设备400(例如游戏服务器)之间收发数据。
(提供虚拟空间2的处理)
图9是示意头戴式显示系统100向用户提供虚拟空间2的处理的流程的时序图。虚拟空间2,基本上,由头戴式显示器110以及控制电路部200的协动向用户提供。如果开始图8所示的处理,那么,首先,在步骤S1,虚拟空间规定部231,生成表示向用户提供的虚拟空间2的虚拟空间数据,从而规定虚拟空间2。生成的顺序如下所示。首先,虚拟空间规定部231,从样式存储部241取得虚拟空间2的样式数据,从而定义虚拟空间2的原型。虚拟空间规定部231,还从内容存储部242取得在虚拟空间2中播放的内容。在本实施方式中,该内容为游戏内容。
虚拟空间规定部231,使已取得的内容符合已取得的样式数据,从而生成规定虚拟空间2的虚拟空间数据。虚拟空间规定部231,将构成内容所包括的背景图像的各部分图像适当关联于虚拟空间数据中的构成虚拟空间2的天球的各网格的管理数据。虚拟空间规定部231,优选以使内容所规定的初始方向与虚拟空间2的XYZ坐标系中的Z方向一致的方式,将各部分图像和各网格关联。
虚拟空间规定部231,还在必要时将内容所包括的各虚拟物件的管理数据追加于虚拟空间数据。这时,在各管理数据,设定表示在虚拟空间2中配置有对应的虚拟物件的位置的坐标。由此,各虚拟物件,分别配置于虚拟空间2中的该坐标的位置。
然后,如果用户起动头戴式显示器110,那么,在步骤S2,头戴传感器120,检出头戴式显示器110在初始状态的位置和倾斜,在步骤S3,向控制电路部200输出检出值。头戴式显示器检出部211,接收该检出值。然后,在步骤S4,虚拟摄像机控制部221,在虚拟空间2中将虚拟摄像机1初始化。
初始化的顺序如下所示。首先,虚拟摄像机控制部221,在虚拟空间2内的初始位置(图4中的中心21等),配置虚拟摄像机1。接着,设定虚拟空间2中的虚拟摄像机1的朝向。这时,虚拟摄像机控制部221,基于来自头戴传感器120的检出值,确定初始状态的头戴式显示器110的uvw视野坐标系,并且,在虚拟摄像机1设定与头戴式显示器110的uvw视野坐标系一致的uvw视野坐标系,从而设定虚拟摄像机1的朝向即可。虚拟摄像机控制部221,在将uvw视野坐标系设定于虚拟摄像机1时,使虚拟摄像机1的侧偏方向(w轴)符合XYZ坐标系的Z方向(Z轴)。具体而言,虚拟摄像机控制部221,使将虚拟摄像机1的侧偏方向投影于XZ平面而得到的方向与XYZ坐标系的Z方向一致,并且,虚拟摄像机1的侧偏方向相对于XZ平面的倾斜与头戴式显示器110的侧偏方向相对于水平面的倾斜一致。通过这种符合处理,使得初始状态的虚拟摄像机2的侧偏方向符合内容的初始方向,因而,能够使开始播放内容后的用户最初朝向的水平方向的朝向与内容的初始方向一致。
如果虚拟摄像机1的初始化处理结束,则视界区域决定部222,基于虚拟摄像机1的uvw视野坐标系,决定虚拟空间2中的视界区域23。具体而言,将虚拟摄像机1的uvw视野坐标系的侧偏方向(w轴)确定为用户的基准视线5,基于该基准视线5,决定视界区域23。在步骤S5,视界图像生成部223,处理虚拟空间数据,从而生成(构思)虚拟空间2中展开的虚拟空间图像22的全体之中的、与投影于虚拟空间2中的视界区域23的部分相当的视界图像26。在步骤S6,视界图像生成部223,以已生成的视界图像26为初始视界图像,向头戴式显示器110输出。在步骤S7,头戴式显示器110,在显示屏112显示已接收的初始视界图像。由此,用户辨认初始视界图像。
然后,在步骤S8,头戴传感器120,检出头戴式显示器110的当前的位置和倾斜,在步骤S9,向控制电路部200输出这些检出值。头戴式显示器检出部211,接收各检出值。虚拟摄像机控制部221,基于头戴式显示器110的位置和倾斜的检出值,确定头戴式显示器110中的当前的uvw视野坐标系。进而,在步骤S10,虚拟摄像机控制部221,将XYZ坐标系中的uvw视野坐标系的侧偏方向(w轴)确定为头戴式显示器110的视界方向。
在本实施方式中,在步骤S11,虚拟摄像机控制部221,将已确定的头戴式显示器110的视界方向确定为虚拟空间2中的用户的基准视线5。在步骤S12,虚拟摄像机控制部221,基于已确定的基准视线5,控制虚拟摄像机1。如果基准视线5的位置(起点)以及方向与虚拟摄像机1的初始状态相同,那么,虚拟摄像机控制部221保持原样地维持虚拟摄像机1的位置以及方向。另一方面,如果基准视线5的位置(起点)及/或方向从虚拟摄像机1的初始状态变化,那么,将虚拟空间2内的虚拟摄像机1的位置及/或倾斜变更为与变化后的基准视线5相应的位置及/或倾斜。另外,对控制后的虚拟摄像机1再设定uvw视野坐标系。
在步骤S13,视界区域决定部222,基于已确定的基准视线5,决定虚拟空间2中的视界区域23。然后,在步骤S14,视界图像生成部223,处理虚拟空间数据,从而生成(构思)虚拟空间2中展开的虚拟空间图像22的全体之中的、投影(重叠)于虚拟空间2中的视界区域23的部分,即视界图像26。在步骤S15,视界图像生成部223,将已生成的视界图像26作为更新用的视界图像,向头戴式显示器110输出。在步骤S16,头戴式显示器110,在显示屏112显示已接收的视界图像26,更新视界图像26。由此,如果用户使头戴式显示器110运动,那么,与其连动地更新视界图像26。
(虚拟空间游戏的提供)
在本实施方式中,用户操作右控制器320和左控制器330,从而在虚拟空间2内玩游戏。在该游戏中,用户,在虚拟空间2中,通过与用户的头部以外的身体的一部分的运动连动地进行动作的操作对象物件,能够接触其他的虚拟物件。后文将描述具体情况,但控制电路部200,在能够通过操作对象物件接触的虚拟物件设定判定区域,该判定区域至少包括沿基于虚拟摄像机1的位置或者基准视线5的方向的延伸方向延伸的部分,并用于判定与操作对象物件的接触。由此,用户能够通过直观的操作,使操作对象物件和其他的虚拟物件接触。前述游戏,例如可以为卡片游戏。这种情况下,前述操作对象物件可以为虚拟手,前述其他的虚拟物件可以为用户能够选择的卡片物件(模仿现实卡片的外观以及形状的虚拟物件)。即使是厚度小的卡片虚拟物件,通过设定前述判定区域,用户也能够通过直观的操作,利用虚拟手接触卡片虚拟物件。
图10是示意虚拟空间2中的游戏中的处理的流程的时序图。在步骤S20,虚拟空间规定部231,从内容存储部242读出构成选择画面的各部分图像,将前述各部分图像关联于虚拟空间数据中的构成虚拟空间2的天球的各网格的管理数据。另外,虚拟空间规定部231,将选择画面所包括的各虚拟物件的管理数据追加于虚拟空间数据。虚拟物件的管理数据,包括表示虚拟物件的形状、虚拟空间2中的位置(坐标)以及倾斜(姿势)的数据。在将管理数据追加于虚拟空间数据时,在各管理数据,设定表示在虚拟空间2中配置有对应的虚拟物件的位置的坐标。前述虚拟物件是成为用户选择的对象的虚拟物件,例如为卡片虚拟物件。
在步骤S21,控制传感器140,分别检出右控制器320的位置和倾斜,以及左控制器330的位置和倾斜。在步骤S22,控制传感器140,向控制电路部200发送各检出值。控制器检出部213,接收这些检出值。
在步骤S23,控制器300检出各键钮的按下状态。具体而言,右控制器320,分别检出拇指键钮302a、食指键钮302e以及中指键钮302f的按下状态。另一方面,左控制器330,分别检出拇指键钮302c、食指键钮302g以及中指键钮302h的按下状态。在步骤S24,右控制器320和左控制器330,向控制电路部200发送各检出值。控制器检出部213,接收这些检出值。
在步骤S25,虚拟手控制部232,使用已接收的各检出值,在虚拟空间2生成用户的各虚拟手(虚拟右手和虚拟左手)。具体而言,分别生成规定虚拟右手的形状、虚拟空间2中的位置和倾斜的数据以及规定虚拟左手的数据,追加于虚拟空间数据。
虚拟手控制部232,使用右控制器320的位置和倾斜的检出值以及右控制器320的各键钮的按下状态的检出值,规定用户的虚拟右手。这时,规定全局坐标系中的右控制器320的位置,作为虚拟空间2中的虚拟右手的位置。虚拟手控制部232,还基于右控制器320的倾斜的检出值,在虚拟右手设定与设定于右控制器320的uvw视野坐标系连动的uvw视野坐标系,从而规定虚拟空间2内的虚拟右手的倾斜。
虚拟手控制部232,还基于右控制器320的拇指键钮302a、食指键钮302e以及中指键钮302f的各检出值,规定构成虚拟右手的右拇指、右食指以及右中指的显示状态。此外,将右无名指和右小指的显示状态规定成与右中指一致。
虚拟手控制部232,在某个键钮的按下状态的检出值为“0”的情况下,将手指完全伸直的状态规定为与该键钮对应的虚拟手的手指的显示状态。另一方面,在某个键钮的按下状态为“1”的情况下,将手指完全弯折的状态规定为与该键钮对应的虚拟手的手指的显示状态。另外,在某个键钮的按下状态为“中间(0和1之间的值)”的情况下,将手指弯折的显示状态规定成与按下状态相应的程度,作为与该键钮对应的虚拟手的手指的显示状态。
同样地,虚拟手控制部232,基于左控制器330的各检出值,规定虚拟空间2中的虚拟左手的位置、倾斜以及各指的状态。通过这些处理,虚拟手控制部232,在虚拟空间2配置虚拟右手和虚拟左手。
步骤S26~步骤S34的处理,与图9的步骤S8~步骤S16相同。通过步骤S26~步骤S34的处理,在显示屏112显示在步骤S20生成的选择画面之中的、投影(重叠)于视界区域23的部分,即视界图像26。
在步骤S35,区域确定部233,确定选择画面所包括的各虚拟物件的姿势。步骤S35的处理,仅针对成为用户的选择对象的虚拟物件进行即可,不必针对虚拟空间2所包括的全部虚拟物件进行。步骤S36~步骤S39的处理也相同。能够参照该虚拟物件的管理数据而确定虚拟物件的姿势。
在步骤S36,区域确定部233,确定基准矢量,该基准矢量用于设定在判定虚拟物件和虚拟手的接触时使用的判定区域。基准矢量的起点,表示判定区域的起点,基于在步骤S35确定的姿势而决定。具体而言,区域确定部233,基于在步骤S35确定的姿势,确定显示的区域,将其作为虚拟物件中的视界图像26,并在该区域内设定基准矢量的起点。例如,在虚拟物件为卡片的情况下,可以在卡片表面(朝向虚拟摄像机1的面)的中央位置设定前述起点。基准矢量的大小,表示判定区域的进深,根据使判定区域延伸至距离虚拟物件何种程度的位置而决定。基准矢量的方向,表示判定区域的延伸方向。例如,在虚拟物件为卡片的情况下,可以将卡片表面的法线方向作为基准矢量的方向。
在步骤S37,区域确定部233,将前述已确定的基准矢量作为基准,设定判定区域。区域确定部233,可以以在从基准矢量的起点至终点的区间沿基准矢量的方向延伸的方式,设定判定区域。例如,可以将使虚拟物件沿着基准矢量从基准矢量的起点至终点沿着移动时前述虚拟物件通过的区域设定为判定区域。
在步骤S38,区域确定部233,基于虚拟摄像机1的位置或者基准视线5的方向(虚拟摄像机1的朝向),调整在步骤S36确定的基准矢量。后文将基于图12描述基于虚拟摄像机1的位置而调整基准矢量。后文将基于图13和图14描述基于基准视线5的方向而调整基准矢量。
在步骤S39,区域确定部233,以前述调整的基准矢量为基准,再次设定判定区域,由此,将判定区域调整为与虚拟摄像机1的位置或者基准视线5的方向相应的恰当的范围。后文将基于图11描述详细情况,基于前述调整后的判定区域,进行虚拟物件和虚拟手的接触判定。
此外,在虚拟摄像机1的位置或者基准视线5的方向变化的情况下,再次进行步骤S38和步骤S39的处理。即,基于从头戴传感器120新接收的检出值,进行前述的步骤S28~步骤S32的处理,在虚拟摄像机1的位置及/或基准视线5的方向变化的情况下,基于变化后的虚拟摄像机1的位置及/或基准视线5的方向,进行步骤S38和步骤S39的处理。由此,在显示选择画面的期间,即使佩戴了头戴式显示器110的用户在现实空间移动、使头倾斜,也能够维持能够通过虚拟手容易地接触虚拟物件的状态。
(设定判定区域后的处理)
基于图11,说明区域确定部233设定判定区域之后的处理。在步骤S60,控制传感器140,分别检出右控制器320的位置和倾斜以及左控制器330的位置和倾斜。在步骤S61,控制传感器140,向控制电路部200发送各检出值。控制器检出部213,接收这些检出值。
在步骤S62,虚拟手控制部232,使用已接收的各检出值,更新用户的各虚拟手(虚拟右手和虚拟左手)在虚拟空间2中的位置和倾斜。具体而言,将虚拟空间2中的虚拟右手的位置更新为全局坐标系中的右控制器320的当前位置。另外,虚拟手控制部232,基于右控制器320的倾斜的检出值,更新虚拟空间2内中的虚拟右手的倾斜。同样地,虚拟手控制部232,基于左控制器330的各检出值,更新虚拟空间2中的虚拟左手的位置和倾斜。在步骤S63,视界图像生成部223,生成将虚拟手的位置和倾斜更新后的视界图像26,并向头戴式显示器110输出。然后,在步骤S64,头戴式显示器110,在显示屏112显示已接收的视界图像26,由此,将用户辨认的视界图像26更新。
在步骤S65,接触判定部234,判定虚拟手是否与虚拟物件接触。具体而言,接触判定部234,判定在图10的步骤S39调整的判定区域和虚拟手在虚拟空间2中占据的区域是否具有重叠部分。在接触判定部234判定不具有重叠部分的情况(步骤S65处的“否”)下,处理返回图示的流程的开头。另一方面,在接触判定部234判定具有重叠部分的情况(步骤S65处的“是”)下,接触判定部234,基于控制器300检出(步骤S66)并向控制电路部200发送(步骤S67)的、表示各键钮的按下状态的各检出值,判定是否检出抓取操作(步骤S68)。将何种操作作为抓取操作,没有被特别地限定,但是,例如可以将按下与各指对应的键钮直至虚拟手的拇指与食指和中指接触的操作作为抓取操作。
在接触判定部234判定不进行抓取操作的情况(步骤S68处的“否”)下,处理返回图示的流程的开头。另一方面,在判定已进行抓取操作的情况(步骤S68处的“是”)下,接触判定部234,判定已抓取虚拟物件(步骤S69)。接触判定部234判定已抓取虚拟物件后的处理,与游戏内容相应即可。例如,接触判定部234,可以将已抓取的虚拟物件和进行抓取的虚拟手相关联,在虚拟手已移动时,使虚拟物件也与虚拟手连动地移动。该关联,例如,可以在由虚拟手抓取虚拟物件的状态被解除(进行将进行抓取的指伸直的操作)时被解除。
(基于虚拟摄像机1的位置的基准矢量的调整)
在图12,示出了从虚拟空间2的Y轴方向观看的、虚拟摄像机1、成为用户的选择对象的虚拟物件OA~OD以及基准位置27。在图12(a),以各虚拟物件OA~OD的表面(朝向虚拟摄像机1侧的面)的中心附近为起点的实线的箭头Va~Vd示出了各虚拟物件OA~OD的基准矢量。此外,基准矢量Va~Vd的起点,可以为虚拟物件OA~OD的表面,也可以为内部。
在图10的步骤S38,在基于虚拟摄像机1的位置调整基准矢量的情况下,区域确定部233,在虚拟空间2中的任意的位置(例如,虚拟物件OA~OD的近旁)设定基准位置27。设定基准位置27,用于确定基准视线5的方向的位移量及/或与虚拟摄像机1的位置的位移量相应的基准视线的方向的位移量。在图12的示例中,可以在沿X轴方向排成一列的4个虚拟物件OA~OD之中的虚拟物件OB和OC之间,在比虚拟物件OA~OD的朝向虚拟摄像机1侧的面更靠近虚拟摄像机1的位置设定基准位置27。基准位置27,为基于虚拟物件OA~OD的位置而确定的位置即可,可以设定于虚拟物件OA~OD的内部区域,也可以设定于虚拟物件OA~OD的外部区域。
如该示例所示,对多个虚拟物件设定1个基准位置27,从而能够一并地调整多个虚拟物件的基准矢量,能够将演算处理的负荷抑制得较低。此外,如果能够容许演算处理的负荷较大,那么,也可以在各虚拟物件分别设定基准位置27。
在设定基准位置27之后,区域确定部233,确定从虚拟摄像机1的位置P1朝向基准位置27的方向D。此外,方向D,与选择虚拟物件OA~OD时的用户的视线方向大致一致。然后,区域确定部233,将基准矢量Va~Vd调整为与方向D平行,且与方向D的朝向反向。如图12(a)所示,在方向D与Z轴平行,且朝向Z轴的正方向的情况下,区域确定部233将基准矢量Va~Vd调整为与Z轴平行,且朝向Z轴的负方向。另一方面,在图12(b)的示例中,虚拟摄像机1的位置移动至P2,由此,方向D围绕Y轴旋转θ。所以,区域确定部233,旋转调整基准矢量Va~Vd。该调整的旋转角度为θ,旋转方向为围绕Y轴的逆时针方向,旋转时,基准矢量Va~Vd的起点不变化。
此外,在前述的示例中,为了简化说明,示意了未考虑方向D的Y轴方向成分而调整基准矢量的示例,但是,也可以考虑Y轴方向成分而调整基准矢量。这种情况下,区域确定部233,在Y轴方向上,将比虚拟摄像机1更高的位置的虚拟物件的基准矢量调整为朝向虚拟摄像机1(朝向斜下方)。同样地,区域确定部233,将比虚拟摄像机1更低的位置的虚拟物件的基准矢量调整为朝向虚拟摄像机1(朝向斜上方)。由于以基准矢量为基准而确定判定区域,因而,通过前述调整,用户凭借向着虚拟物件伸出手的直观的操作就能够容易地选择高位置的虚拟物件和低位置的虚拟物件中的任一个。
(基于基准视线5的方向的基准矢量的调整)
在图13,与图12同样地,示出了从虚拟空间2的Y轴方向观看的、虚拟摄像机1、虚拟物件OA~OD以及基准矢量Va~Vd。另外,虚拟摄像机1的侧偏方向(图3的w轴方向、基准视线5的方向),由w示意。
在图10的步骤S38,在基于基准视线5的方向而调整基准矢量的情况下,区域确定部233,确定虚拟摄像机1的侧偏方向w。然后,区域确定部233,将基准矢量Va~Vd旋转调整为与前述已确定的侧偏方向w平行,且与侧偏方向w反向。
如图13(a)的示例所示,在侧偏方向w与Z轴平行且朝向Z轴的正方向的情况下,基准矢量Va~Vd调整为与Z轴平行且朝向Z轴的负方向。另一方面,在图13(b)的示例中,与图13(a)的示例相比,侧偏方向w围绕Y轴沿逆时针方向旋转角度θ。所以,区域确定部233,将基准矢量Va~Vd旋转调整为与侧偏方向w平行且反向。该调整的旋转角度为θ,旋转方向为围绕Y轴的逆时针方向,在旋转中,基准矢量Va~Vd的起点不变化。
在图14的示例中,示出了从X轴方向观看的、虚拟摄像机1、虚拟物件OE、OF以及各虚拟物件OE、OF的基准矢量Ve、Vf。与前述的基准矢量Va~Vd同样地,基准矢量Ve、Vf也被调整为与侧偏方向w平行且反向。
在图14(a)的示例中,由于侧偏方向w与Z轴平行,且为Z轴的正朝向,因而区域确定部233将基准矢量Ve、Vf调整为与Z轴平行且成为Z轴的负朝向。
另一方面,图14(b)的示例中,与图14(a)的示例相比,侧偏方向w围绕X轴沿逆时针方向旋转角度θ(虚拟摄像机1的仰角成为θ)。所以,区域确定部233将基准矢量Ve、Vf旋转调整为与侧偏方向w平行且反向。该调整的旋转角度为θ,旋转方向为围绕X轴的逆时针方向,在旋转中,基准矢量Ve、Vf的起点不变化。
由此,相对于虚拟摄像机1位于侧偏方向w(位于虚拟摄像机1的正面)的虚拟物件OE的基准矢量Ve,成为从虚拟物件OE朝向虚拟摄像机1的矢量。另一方面,相对于虚拟摄像机1位于从侧偏方向w错开的位置的虚拟物件OF的基准矢量Vf,成为从虚拟物件OF朝向虚拟摄像机1的下方的(从虚拟摄像机1远离的朝向的)矢量。
此外,与图14(b)的示例相反,在侧偏方向w于YZ平面中围绕X轴沿顺时针方向旋转的情况(虚拟摄像机1的正面朝向水平的下方的情况)下,基准矢量Ve,成为朝向虚拟摄像机1的上方的(从虚拟摄像机1远离的朝向的)矢量。另一方面,基准矢量Vf,成为朝向虚拟摄像机1的矢量。
如上所述,区域确定部233,在位于虚拟摄像机1的正面方向,即佩戴了头戴式显示器110的用户的头部的正面方向的虚拟物件,从该虚拟物件向着虚拟摄像机1设定判定区域。所以,用户凭借向着虚拟物件笔直地伸出手的直观的操作就能够接触该虚拟物件。另一方面,从前述方向偏离的虚拟物件,沿从虚拟摄像机1远离的朝向设定有判定区域,因而用户难以接触这种虚拟物件。所以,能够使接触用户欲接触的虚拟物件变得容易,并且,能够使接触用户无意接触的虚拟物件变得困难。
(判定区域的设定示例)
在图15,示出了分别在卡片型的虚拟物件OG~OJ设定判定区域JG~JJ的示例。该图的(a)和(b)中,设定的判定区域JG~JJ相同,改变视点而进行图示。如该图的(b)所示,虚拟物件OG~OJ配置于曲线上。更具体而言,虚拟物件OG~OJ配置成重心位置排列在以虚拟摄像机1为中心的圆弧或球面上,且各虚拟物件OG~OJ的正面朝向虚拟摄像机1。通过这种配置,使得用户容易地读取各虚拟物件OG~OJ显示的信息,另外,容易地进行由虚拟手选择的各虚拟物件OG~OJ的操作。关于虚拟物件OG~OJ之中的虚拟物件OI,在外缘附加有框线FR。框线FR,例如可以在虚拟手进入判定区域JI时,或者进行由进入判定区域JI的虚拟手抓取虚拟物件OI的操作时显示。关于虚拟物件OG、OH、OJ,也是同样的。
判定区域JG~JJ,是以基于基准视线5的方向而调整(参照图13和图14)后的基准矢量为基准而确定的区域。此外,判定区域及其外缘,不必作为图像而显示,在本示例中,为了说明,图示了判定区域JG~JJ的外框。另外,在该图中,以虚线示出了视界区域23。
判定区域JG~JJ,均为六面体状的区域,从虚拟物件OG~OJ向着虚拟摄像机1延伸。区域确定部233,将虚拟物件OG的基准矢量调整为与虚拟摄像机1的侧偏方向w平行且反向。接着,沿着该调整后的基准矢量,使虚拟物件OG的朝向虚拟摄像机1的面平行移动至调整后的基准矢量的终点,确定规定判定区域JG的6面之中的最靠近虚拟摄像机1的面。然后,将六面体的区域确定为判定区域JG,该六面体的区域的前述已确定的面和虚拟物件OG的朝向虚拟摄像机1的面作为相对的两面。能够对虚拟物件OH~OJ同样地确定判定区域JH~JJ。
虚拟摄像机1的侧偏方向w,等同于头戴式显示器110的侧偏方向,即佩戴者头戴式显示器110的用户的脸的正面方向。所以,在图示的示例中,用户,如果向着在自身的正面显示的虚拟物件OG~OJ之中的期望的虚拟物件笔直地伸出拿着右控制器320或者左控制器330的手,那么,能够凭借虚拟手接触该虚拟物件(使接触判定部234正确地判定虚拟物件与虚拟手接触)。
此外,在图示的示例中,判定区域JG、JJ的一部分,超出至视界区域23外,但是,可以仅将视界区域23的内部作为对象而设定判定区域。另外,在不考虑视界区域23的内外确定判定区域,进行接触判定(图11的步骤S65)时,可以不判定接触视界区域23外的部分。由此,能够防止判定在不进入用户的视界的位置发生与虚拟物件的接触。但是,在这些示例中,需要监视视界区域23等的处理,处理负荷变大,因而,从将处理负荷抑制得较低的观点出发,优选不考虑视界区域23而进行判定区域的确定和接触判定。
在图16(a),示出了在虚拟摄像机1的侧偏方向相对于XZ平面围绕X轴沿逆时针方向旋转的情况,即虚拟摄像机1在虚拟空间2中朝向斜上方的情况下的判定区域JH~JJ的示例。这种情况下,如图14(b)所示,将虚拟物件OG~OJ的基准矢量围绕X轴沿顺时针方向旋转调整。由此,将调整后的基准矢量作为基准而确定的判定区域JH~JJ,如图16(a)所示,成为向着斜下方延伸的区域。
在图16(b),示出了在虚拟摄像机1的侧偏方向相对于XZ平面围绕X轴沿顺时针方向旋转的情况,即虚拟摄像机1在虚拟空间2中朝向斜下方的情况下的判定区域JH~JJ的示例。这种情况下,将虚拟物件OG~OJ的基准矢量围绕X轴沿逆时针方向旋转调整,因而,将调整后的基准矢量作为基准而确定的判定区域JH~JJ,如图16(b)所示,成为向着斜上方延伸的区域。
图17是示意虚拟空间2中的游戏中的处理的流程的时序图。步骤S20~步骤S34的处理,与图10的步骤S20~步骤S34相同。
在步骤S35-1,与步骤S23同样地,控制器300,检出各键钮的按下状态。在步骤S36-1,控制器300,向控制电路部200发送各检出值。控制器检出部213,接收这些检出值。
在步骤S37-1,虚拟空间规定部231,基于前述已接收的检出值,判定是否检出用于在虚拟手安置虚拟物件的操作,即物件安置操作(第1操作)。预先决定将对控制器300进行的何种操作作为物件安置操作即可。例如,可以将左控制器330的按下食指键钮302g的操作作为用于在虚拟左手安置虚拟物件的物件安置操作。
在步骤S37-1,虚拟空间规定部231,在判定已检出物件安置操作的情况(步骤S37-1处的“是”)下,以成为在虚拟空间2中的虚拟手上(手掌侧)重叠配置多个虚拟物件的状态的方式,更新虚拟空间数据。例如,在从上方按照OA-1、OB-1、OC-1、OD-1的顺序将虚拟物件OA-1~OD-1配置于虚拟手上的情况下,虚拟空间规定部231,将虚拟物件OD-1的位置作为虚拟手的最近的上方位置,更新虚拟空间数据。以下同样地,将虚拟物件OC-1的位置作为虚拟物件OD-1的最近的上方位置,将虚拟物件OB-1的位置作为虚拟物件OC-1的最近的上方位置,将虚拟物件OA-1的位置作为虚拟物件OB-1的最近的上方位置,更行虚拟空间数据。
然后,视界图像生成部223,基于前述更新后的虚拟空间数据,生成视界图像26(步骤S38-1),将已生成的视界图像26作为更新用的视界图像,向头戴式显示器110输出(步骤S39-1)。在步骤S40-1,头戴式显示器110,在显示屏112显示已接收的视界图像26,从而更新视界图像26。由此,用户辨认在虚拟手上重叠配置多个虚拟物件的图像。
在步骤S41-1,与步骤S35-1同样地,控制器300,检出各键钮的按下状态。在步骤S42-1,控制器300,向控制电路部200发送各检出值。控制器检出部213接收这些检出值。
在步骤S43-1,虚拟空间规定部231,基于前述已接收的检出值,判定是否已检出将在虚拟手安置的虚拟物件展开的操作(第2操作)。预先决定将对控制器300进行的何种操作作为将虚拟物件展开的操作即可。例如,在将虚拟物件配置于虚拟左手上的状态下,在完全地按下左控制器330的拇指键钮302c之后,可以将使模拟摇杆302j倾斜的操作作为将虚拟物件展开的操作。另外,例如,在左控制器330的顶面332由触摸面板构成的情况下,可以将对该触摸面板进行的滑动操作作为将虚拟物件展开的操作。在其他情况下,例如,虚拟空间规定部231,可以在基于光学地检测用户的拇指的运动的检测结果,检出用户的拇指以将虚拟物件展开的方式运动的情况下,判定已进行将虚拟物件展开的操作。由此,能够通过以与现实中将手所拿着的卡片展开时相同的感觉使拇指运动的直观的操作,将虚拟空间2中的卡片虚拟物件展开。
在步骤S43-1,虚拟空间规定部231,在判定已检出将虚拟物件展开的操作的情况(步骤S43-1处的“是”)下,以成为重叠配置于虚拟手上的多个虚拟物件被展开的状态的方式,更新虚拟空间数据。此外,多个虚拟物件被展开的状态,为因其他的虚拟物件而成为虚拟摄像机1的死角的、虚拟物件的部分(与其他的虚拟物件重叠的部分)的面积变小的状态。例如,如果重叠配置于虚拟手上的虚拟物件为卡片虚拟物件,那么,可以为将各虚拟物件扇状地错开的状态。
在步骤S44-1,视界图像生成部223,基于前述更新后的虚拟空间数据而生成视界图像26,在步骤S45-1,将前述视界图像26作为更新用的视界图像而向头戴式显示器110输出。在步骤S46-1,头戴式显示器110,在显示屏112显示已接收的视界图像26,从而更新视界图像26。由此,用户辨认多个虚拟物件以重叠的状态在虚拟手上被展开的图像。
在步骤S47-1,区域确定部233,设定判定区域,在判定虚拟物件和虚拟手的接触时使用该判定区域。后文将基于图19描述设定判定区域的处理的详情。
(显示的图像的示例)
在图17的步骤S38-1生成的视界图像26,例如可以为图18(a)的图像。在该示例中,作为卡片虚拟物件的虚拟物件OA-1和OB-1由虚拟左手OL握持。由于虚拟物件OA-1成为图案朝向正面(虚拟摄像机1侧)的配置,因而用户能够辨认虚拟物件OA-1为何种卡片。另一方面,虚拟物件OB-1,位于虚拟物件OA-1的背后,其大部分因虚拟物件OA-1而成为死角,因而,用户无法辨认虚拟物件OB-1为何种卡片。此外,在虚拟物件OB-1的背后也配置有多个虚拟物件,但这些虚拟物件隐藏于虚拟物件OA-1和OB-1的背后而不被显示。
在图17的步骤S44-1生成的视界图像26,例如可以为图18(b)的图像。在该示例中,作为卡片虚拟物件的虚拟物件OA-1~OD-1由虚拟左手OL握持。与图18(a)的状态相比,虚拟手OL上的、虚拟物件OA-1、OB-1的位置分别变化,由此虚拟物件OA-1、OB-1的重叠部分的面积变小。另外,在图18(a)中隐藏于虚拟物件OA-1、OB-1的背后而无法辨认的虚拟物件OC-1、OD-1也变得能够辨认。结果,变得能够读取在图18(a)的图像中无法辨认的、显示于虚拟物件OB-1~OD-1的左肩部分的数字。
(设定判定区域的处理)
基于图19,说明区域确定部233设定判定区域的处理(图17的步骤S47-1)的详情。在步骤S50,区域确定部233,设定各虚拟物件的判定区域。以至少包括从虚拟物件向着虚拟摄像机1延伸的部分的方式,在虚拟物件的周围的区域设定前述判定区域。区域确定部233,将已设定的各判定区域与对应的虚拟物件相关联。此外,后文将基于图20描述在步骤S50设定的判定区域。
在步骤S51,区域确定部233,确定各虚拟物件的重叠的状态,即,确定从虚拟摄像机1观看时哪个虚拟物件重叠于哪个虚拟物件,以及重叠的虚拟物件中的哪个更靠近虚拟摄像机1。具体而言,区域确定部233,基于在步骤S50已设定判定区域的各虚拟物件在虚拟空间2中的位置和姿势以及虚拟摄像机1的侧偏方向(图3的w轴方向,也是基准视线5的方向),确定重叠的状态。
在步骤S52,区域确定部233,确定在步骤S51已被确定重叠的虚拟物件间的边界。此外,后文将基于图21和图22而描述边界的确定。然后,在步骤S53,区域确定部233,对于各虚拟物件排除在步骤S50已确定的判定区域之中的、在步骤S52已确定的边界的外侧的部分。此外,如果排除虚拟物件的判定区域之中的、边界的外侧的部分,则意味着边界的外侧的部分被视为不是前述虚拟物件的判定区域。由此,各虚拟物件的判定区域确定,设定判定区域的处理结束。
(判定区域的设定示例(排除重复之前))
在图19的步骤S50设定的判定区域,例如,如图20所示,可以沿虚拟物件的上下左右方向延伸。在图20,示出了在虚拟物件OA-1的周围确定判定区域JA的示例。此外,在图20中,平面地示出了从虚拟摄像机1观看的虚拟物件OA-1,但是,判定区域JA,为向虚拟物件OA-1的跟前侧(虚拟摄像机1位于的一侧)延伸的六面体状的区域。另外,在图20,仅示出了1个虚拟物件OA-1及其判定区域JA,但是,对于成为选择对象的各虚拟物件,同样地设定判定区域。此外,设定于各虚拟物件的判定区域的形状和范围,可以根据各虚拟物件而分别不同。
如图18的示例所示,在由一只虚拟手握持虚拟物件的情况下,用户大多欲从上侧接触虚拟物件。因此,判定区域JA,如图20的示例所示,优选包括位于虚拟物件OA-1的上侧的部分JA1。在此,上侧意味着头戴式显示器100的视野坐标系中的偏转方向上的、虚拟物件OA-1的上侧。由此,用户能够容易地从上端侧接触虚拟物件OA-1。
另外,判定区域JA,如图20的示例所示,也可以包括从虚拟物件OA-1的下端部向着下侧延伸的部分JA2以及从虚拟物件OA-1的侧端部向着侧方延伸的部分JA3、JA4。部分JA1~JA4的宽度,优选以用户能够直观地抓取虚拟物件OA-1的方式设定。例如,如图20所示,部分JA1的宽度可以比部分JA2的宽度和部分JA3、JA4的宽度更长,部分JA3、JA4的宽度比部分JA2的宽度更长。由此,从上侧接触虚拟物件OA-1最容易,从侧方侧接触次容易。此外,部分JA1的宽度为从虚拟物件OA-1的上边至部分JA1的上端的长度,部分JA2的宽度为从虚拟物件OA-1的下边至部分JA2的下端的长度,部分JA3的宽度为从虚拟物件OA-1的左边至部分JA3的左端的长度,部分JA4的宽度为从虚拟物件OA-1的右边至部分JA4的右端的长度。另外,对于位于虚拟物件OA-1的背后的其他的虚拟物件,也同样地优选设定包括位于该虚拟物件的上侧(头戴式显示器100的偏转方向上的、该虚拟物件的上侧)的部分的判定区域。
在判定区域包括从虚拟物件的外缘向着虚拟物件的外侧延伸的部分的情况下,可以预先决定展宽沿哪个方向延伸的部分。另外,区域确定部233,可以确定虚拟物件在虚拟空间2中的姿势,根据已确定的姿势,决定展宽沿哪个方向延伸的部分。这种情况下,区域确定部233,可以根据虚拟物件的姿势变化,使判定区域变化成沿哪个方向延伸何种程度。
另外,在由另一只虚拟手选择如图18的示例所示地下侧被一只虚拟手握持的虚拟物件的情况下,区域确定部233,以从虚拟物件的被握持的一侧的端部(在图18的示例中,为下端部或左下端部)的相反侧的端部(上端部或右上端部)向着虚拟物件的外侧而延伸的部分更宽的方式设定判定区域。由于能够使另一只虚拟手接近虚拟物件的、由一只虚拟手握持的一侧的相反侧的端部,且不与前述一只虚拟手干涉,因而,前述的设定,使得用户能够容易地接触由一只虚拟手握持的虚拟物件。
(边界的确定示例)
在图19的步骤S52,例如,可以确定图21所示的边界。在图21的示例中,虚拟物件OA-1(第1虚拟物件)重叠于虚拟物件OB-1(第2虚拟物件)之上。虚拟物件OA-1的与虚拟物件OB-1重叠的重叠部分A,为线段Aa、Ab、Ac、Ad以及Ae规定的五边形的区域。
在该示例中,区域确定部233,确定规定虚拟物件OA-1的外形的轮廓线之中的、将虚拟物件OA-1和虚拟物件OB-1分开的轮廓线(从虚拟摄像机1观看时重叠于虚拟物件OB-1的线段),即线段Aa、Ab。接着,区域确定部233,如图21(a)所示,确定直线LA,该直线LA包括线段Aa、Ab之中的、与虚拟物件OB-1重叠的部分最长的线段Aa。可以说直线LA是包括构成虚拟物件OA-1的外形的4边之中的、左侧的长边的直线。然后,区域确定部233,将通过该直线LA的平面确定为判定区域JA和判定区域JB的边界。该平面,优选与虚拟摄像机1的侧偏方向(图3的w轴方向,也是基准视线5的方向)平行。由此,能够在从虚拟摄像机1可看见虚拟物件OA-1的部分设定判定区域JA,在从虚拟摄像机1可看见虚拟物件OB-1的部分设定判定区域JB。
已确定边界的区域确定部233,如图21(b)所示,排除在虚拟物件OA-1的整个周围确定的判定区域JA(参照图20)中的、直线LA的左侧(虚拟物件OA-1的外侧)的部分。即,区域确定部233将直线LA的左侧的部分视为不是判定区域JA。由此,判定区域JA中的、直线LA的右侧(虚拟物件OA-1侧)的部分保留。即,区域确定部233,将从虚拟摄像机1观看时重叠于重叠部分A的判定区域设定为位于虚拟物件OB-1的前面的虚拟物件OA-1的判定区域JA(第1区域)。如此设定的判定区域JA,在从虚拟摄像机1观看的平面内,不重叠于直线LA的虚拟物件OB-1侧。
另一方面,区域确定部233,对于虚拟物件OB-1的判定区域JB,排除直线LA的右侧(重叠部分A侧)的部分。即,区域确定部233,将直线LA的右侧的部分视为不是判定区域JB。由此,在判定区域JB,保留直线LA的左侧(虚拟物件OB-1侧)的部分。即,区域确定部233,对于位于虚拟物件OA-1的背后的虚拟物件OB-1,设定从虚拟摄像机1观看时不重叠于重叠部分A的判定区域JB(第2区域)。如此设定的判定区域JB,在从虚拟摄像机1观看的平面内,不重叠于直线LA的虚拟物件OA-1侧。
如此,区域确定部233,在多个虚拟物件重叠的情况下,以这些多个虚拟物件的判定区域不重叠的方式进行调整,因而,用户能够直观地选择如预想般的虚拟物件。
在图21的示例中,并未确定通过线段Ab的边界,但是,区域确定部233,也可以确定通过线段Ab的边界。在图22的示例中,如图22(a)所示,区域确定部233,将通过线段Aa的半直线LB和通过线段Ab的半直线LC作为边界。这种情况下,如图22(b)所示,区域确定部233,将虚拟物件OA-1的判定区域JA之中的、半直线LB的左侧的部分和半直线LC的下侧的部分排除,保留半直线LB的右侧且半直线LC的上侧的部分。另一方面,区域确定部233,对虚拟物件OB-1的判定区域JB,排除半直线LB的右侧的部分和半直线LC的上侧的部分,保留半直线LB的左侧且半直线LC的下侧的部分。
与图22的示例相比,图21的示例的边界的数量较少,因而,具有确定判定区域所需要的演算处理的负荷较少的优点。另一方面,与图21的示例相比,图22的示例具有这样的优点:对于虚拟物件OB-1而言,能够容易地从其上方和侧方使虚拟手接近并进行选择,并且,也能够容易地从其下方使虚拟手接近并进行选择。此外,如图18的示例所示,在由虚拟右手选择由虚拟左手OL从下侧握持的虚拟物件OA-1和虚拟物件OB-1的情况下,这些虚拟物件的下方的判定区域,与虚拟左手OL的位置重叠,因而重要度较低。因此,这种情况下,如图21的示例所示,优选不进行沿着虚拟物件OA-1的下侧的短边的、边界的确定。
(判定区域的设定示例(排除重复之后))
在图23,示出了区域确定部233对于以展开的状态被虚拟左手OL握持的卡片型的虚拟物件OA-1~OD-1设定判定区域JA~JD的示例。虚拟物件OA-1,在4个虚拟物件之中,位于最跟前(虚拟摄像机1侧),其他虚拟物件的位置,按照虚拟物件OB-1、OC-1以及OD-1的顺序而成为里侧(远离虚拟摄像机1的一侧)。
在该示例中,区域确定部233,将虚拟物件OA-1和虚拟物件OB-1的边界确定为通过虚拟物件OA-1的左侧的长边的平面,将该平面的右侧的区域设定为虚拟物件OA-1的判定区域JA。另外,区域确定部233,将虚拟物件OB-1和虚拟物件OC-1的边界确定为通过虚拟物件OB-1的左侧的长边的平面,将该平面的右侧且作为虚拟物件OA-1和虚拟物件OB-1的边界的平面的左侧的区域设定为虚拟物件OB-1的判定区域JB。区域确定部233,对于虚拟物件OC-1,也同样地将通过虚拟物件OC-1的左侧的长边的平面的右侧且作为虚拟物件OB-1和虚拟物件OC-1的边界的平面的左侧的区域设定为虚拟物件OC-1的判定区域JC。区域确定部233,对于虚拟物件OD-1,将作为虚拟物件OC-1和虚拟物件OD-1的边界的平面的左侧的区域设定为虚拟物件OD-1的判定区域JD。此外,成为判定区域间的边界的前述平面,如前所述,优选与虚拟摄像机1的侧偏方向(图3的w轴方向,也是基准视线5的方向)平行。
用户通过使右控制器320的在现实空间中的位置移动,从而能够使虚拟空间2中的虚拟右手OR移动。然后,用户使虚拟右手OR接近虚拟物件OA-1~OD-1之中的期望的虚拟物件,对右控制器320进行抓取虚拟物件的操作,从而能够选择期望的虚拟物件。
(选择虚拟物件时的另一个处理)
基于图24说明在区域确定部233设定判定区域之后用户选择虚拟物件时的处理。在步骤S60-1,接触判定部234,对于为了选择虚拟物件而使用的虚拟手,生成用于判定与虚拟物件的接触的附随物件。例如,在如图23的示例所示,由虚拟右手OR选择虚拟物件OA-1~OD-1中的某一个的情况下,接触判定部234,生成用于判定虚拟右手OR和物件OA-1~OD-1的接触的附随物件。附随物件,为在虚拟空间2中与虚拟手连动地移动的虚拟物件,后文将基于图25和图26描述详情。
在步骤S61-1,控制传感器140,分别检出右控制器320的位置和倾斜以及左控制器330的位置和倾斜。在步骤S62-1,控制传感器140,向控制电路部200发送各检出值。控制器检出部213,接收这些检出值。
在步骤S63-1,虚拟手控制部232,使用已接收的各检出值,更新用户的各虚拟手(虚拟右手和虚拟左手)的在虚拟空间2中的位置和倾斜。具体而言,将虚拟空间2中的虚拟右手的位置更新为全局坐标系中的右控制器320的当前位置。另外,虚拟手控制部232,基于右控制器320的倾斜的检出值,更新虚拟空间2内的虚拟右手的倾斜。同样地,虚拟手控制部232,基于左控制器330的各检出值,更新虚拟空间2内的虚拟左手的位置和倾斜。进而,接触判定部234,以与虚拟手的位置连动的方式更新附随物件的位置。在步骤S64-1,视界图像生成部223,生成将虚拟手的位置和倾斜更新后的视界图像,并向头戴式显示器110输出,在步骤S65-1,头戴式显示器110,在显示屏112显示已接收的视界图像,由此,将用户辨认的视界图像更新。
在步骤S66-1,接触判定部234,判定附随物件是否进入虚拟物件的判定区域。在接触判定部234判定附随物件不进入判定区域的情况(步骤S66-1处的“否”)下,处理返回步骤S61-1。另一方面,在接触判定部234判定附随物件进入判定区域的情况(步骤S66-1处的“是”)下,控制器300基于在步骤S67-1检出并在步骤S68-1发送的、示意各键钮的按下状态的各检出值,判定是否检出抓取操作(步骤S69-1)。将何种操作作为抓取操作,并没有被特别地限定,但是,例如,可以将按下与各指对应的键钮直至虚拟手的拇指与食指和中指接触的操作作为抓取操作。
在接触判定部234判定不进行抓取操作的情况(步骤S69-1处的“否”)下,处理返回步骤S61-1。另一方面,接触判定部234,在判定已进行抓取操作的情况(步骤S69-1处的“是”)下,判定附随物件是否进入多个虚拟物件的判定区域(步骤S70)。另外,虚拟手控制部232,使虚拟手在虚拟空间26中执行抓取动作。此外,虽然省略了图示,但是,在视界图像26反映虚拟手的抓取动作。
在判定附随物件进入多个判定区域的情况(步骤S70处的“是”)下,接触判定部234,确定该多个判定区域之中的、与附随物件重叠的重叠体积更大的判定区域。此外,前述重叠体积,是作为附随物件的内部且作为判定区域的内部的区域的体积。例如,接触判定部234,在附随物件的一部分被第1判定区域包括,另一部分被第2判定区域包括的情况下,判定第1判定区域包括的前述一部和第2判定区域包括的前述另一部分中的哪个的体积大。
接着,判定已抓取与被确定重叠体积更大的判定区域相对应的虚拟物件(步骤S71)。另一方面,在判定附随物件进入1个判定区域的情况(步骤S70处的“否”)下,接触判定部234,判定已抓取与该判定区域对应的虚拟物件(步骤S72),将该虚拟物件和对应于该附随物件的虚拟手相关联。例如,将被抓取的虚拟物件和进行抓取的虚拟手相关联,在虚拟手移动时,使虚拟物件也与虚拟手连动地移动。
在步骤S73,控制器300,检出示意各键钮的按下状态的各检出值。在步骤S74,控制器300,向控制电路部200发送各检出值。在步骤S75,接触判定部234,基于示意各键钮的按下状态的各检出值,判定是否已解除抓取状态。例如,可以将这样的一种操作作为解除抓取状态的操作:在抓取虚拟物件的状态(例如,虚拟手的拇指与食指和中指接触的状态)下,使与各指对应的键钮的按下状态接近“0”直至虚拟手的拇指与食指和中指分离(将已弯曲的虚拟手的手指伸直)。
在接触判定部234判定维持抓取状态的情况(步骤S75处的“否”)下,处理返回步骤S73。另一方面,接触判定部234,在判定已解除抓取状态的情况(步骤S75处的“是”)下,判定从虚拟手已放开虚拟物件(步骤S76),解除该虚拟物件和对应于该附随物件的虚拟手的关联。另外,虚拟手控制部232,使虚拟手在虚拟空间26中执行放开已抓取的虚拟物件的动作。此外,虽然省略了图示,但是,在视界图像26反映虚拟手的放开虚拟物件的动作。判定已放开虚拟物件之后的处理,与游戏内容相应即可。例如,视界图像生成部223,可以将被一只虚拟手抓取并从该虚拟手被放开的虚拟物件再次返回另一只虚拟手(安置了虚拟物件的一侧的虚拟手)上的动画作为视界图像26,并使头戴式显示器110显示。然后,处理可以返回步骤S61-1。
(附随物件的示例)
在图25,示出了虚拟物件OA-1、OB-1和这些判定区域JA、JB,并且,示出了虚拟右手OR的附随物件ORA。握持虚拟物件OA-1、OB-1的虚拟左手OL省略了图示。此外,视界图像生成部223不必生成包括附随物件ORA的视界图像26,接触判定部234确定附随物件ORA的位置和范围即可。另外,在图25中,列举了虚拟右手OR的附随物件ORA,但是,在由虚拟左手OL选择虚拟物件的情况下,与附随物件ORA同样地,接触判定部234生成对应于虚拟左手OL的附随物件。后述的图26和图27的示例中,也是同样的。
附随物件ORA为球体状的物件,接触判定部234,在虚拟右手OR和附随物件ORA成为既定的位置关系的位置生成附随物件ORA。此外,附随物件ORA的形状未被特别地限定,例如可以为多面体。能够基于虚拟右手OR的位置而确定附随物件ORA的初始位置。例如,接触判定部234,可以为沿着虚拟右手OR的手臂的延伸方向的位置,在从手腕离开既定距离的位置配置附随物件ORA。
另外,接触判定部234,在虚拟右手OR的位置已移动的情况下,将附随物件ORA的位置更新,以维持移动后的虚拟右手OR和附随物件ORA的位置关系成为前述既定的位置关系的状态。由此,如图25所示,在虚拟右手OR的位置已移动的情况下,附随物件ORA的位置也与其连动地移动,维持附随物件ORA配置于从虚拟右手OR离开一定距离的位置的状态。
接触判定部234,可以根据使虚拟手的一部分(例如手指)运动的动作而使附随物件的位置移动,也可以不使附随物件的位置移动。例如,在如图26所述的虚拟右手OR和附随物件ORA的示例之中的(a)示例中,在由虚拟右手OR进行抓取动作的情况下,接触判定部234,使附随物件ORA的位置与虚拟右手OR的指尖的位置连动地变化。换言之,接触判定部234,根据抓取动作中的虚拟右手OR的运动,使附随物件ORA的位置变动。另一方面,在(b)示例中,接触判定部234,在虚拟右手OR的抓取动作的前后,维持附随物件ORA的位置。在通过由虚拟右手OR进行抓取动作而选择虚拟物件的情况下,优选在抓取动作中使附随物件ORA的位置不变化。这是因为,如果在抓取动作中附随物件的位置变化,则选择对象的虚拟物件有可能违反用户的意图而变化。另一方面,在通过由虚拟右手OR的指尖进行抓取动作而选择虚拟物件的情况下,优选使附随物件ORA的位置与虚拟右手OR的指尖的位置连动地变化。另外,接触判定部234,可以如(c)的示例所示,在虚拟右手OR的内部配置附随物件ORA。在虚拟右手OR的内部区域之中的哪个位置配置附随物件ORA并没有被特别地限定,但是,接触判定部234,例如可以在虚拟右手OR的内部区域之中的指尖的位置配置附随物件ORA。这种情况下,接触判定部234,能够进行与虚拟右手OR的指尖的微妙的运动相应的接触判定。进而,由于接触判定部234将用户能够辨认的虚拟右手OR的指尖部分用于接触判定,因而用户能够直观地选择虚拟物件。这些示例,可以说是将虚拟右手OR的一部分作为用于判定与虚拟物件的接触的判定区域的示例。另外,接触判定部234,将附随物件ORA配置在附随物件ORA的一部分成为虚拟右手OR的内部,另一部分成为虚拟右手ORA的外部的位置。
(附随物件进入多个判定区域的情况的判定的示例)
在图27,示出了虚拟物件OA-1、OB-1和这些判定区域JA、JB,并且,示出了虚拟右手OR的附随物件ORA。用于握持虚拟物件OA-1、OB-1的虚拟左手OL和对应于附随物件ORA的虚拟右手OR省略了图示。在该示例中,附随物件ORA,进入判定区域JA、JB这两者,因而如图24的步骤S71所述,接触判定部234,确定判定区域JA和JB之中的、与附随物件ORA重叠的重叠体积更大的判定区域。
在图27的示例中,判定区域JA和JB的边界为通过直线LA的平面,附随物件ORA之中的、前述平面的左侧的部分ORA1被判定区域JB包括,前述平面的右侧的部分ORA2被判定区域JA包括。另外,球体状的附随物件ORA的中心由C表示。在该示例中,接触判定部234,分别算出部分ORA1和部分ORA2的体积,比较已算出的体积,从而能够确定与附随物件ORA重叠的重叠体积更大的判定区域。
此外,在图27的示例中,通过直线LA的平面将球体状的附随物件ORA分为2个部分ORA1、ORA2,部分ORA1的全体被判定区域JB包括,部分ORA2的全体被判定区域JA包括。所以,接触判定部234,判定附随物件ORA的中心C相对于该平面位于哪个判定区域侧,从而能够确定与附随物件ORA重叠的重叠体积更大的判定区域。即,在图示的示例中,由于附随物件ORA的中心C为通过直线LA的平面的左侧(判定区域JB侧),因而接触判定部234能够确定判定区域JB的与附随物件ORA重叠的重叠体积更大。如此,使附随物件ORA为球体状,从而有时候能够以简易的演算算出重叠体积更大的判定区域。
此外,在附随物件进入3个以上的判定区域的情况下,接触判定部234,分别算出附随物件和各判定区域的重叠体积,从而能够确定重叠体积最大的判定区域。另外,接触判定部234,可以不使用附随物件而判定虚拟物件和虚拟手的接触。这种情况下,如果虚拟手进入多个虚拟物件的判定区域,那么,接触判定部234,分别算出虚拟手和各虚拟物件的重叠体积,从而能够确定重叠体积最大的判定区域。但是,虚拟手是形状复杂的虚拟物件,虚拟手和判定区域的重叠体积的演算复杂,因而,从将演算量抑制得较少的观点出发,优选采用使用附随物件的判定。
(判定已抓取虚拟物件的情况下的显示)
在图24的步骤S72中,基于图28,说明接触判定部234判定已抓取虚拟物件的情况下的显示。在图28的示例中,虚拟左手OL握持4个卡片虚拟物件OA-1~OD-1,这些虚拟物件的判定区域为判定区域JA~JD。判定区域JA的左侧的侧面为判定区域JA和JB的边界面,判定区域JB的左侧的侧面为判定区域JB和判定区域JC的边界面,判定区域JC的左侧的侧面为判定区域JC和判定区域JD的边界面。另外,附随物件ORA位于虚拟右手OR的近旁。此外,判定区域JA~JD和附随物件ORA没有必要作为视界图像26而显示。
由图中未显示的右控制器320进行抓取操作,使得虚拟右手OR成为抓取虚拟物件的形状(手指弯曲直至拇指和中指接触的形状)。附随于虚拟右手OR的附随物件ORA,被判定区域JB和JC这两者包括,但是,与判定区域JB重叠的重叠体积更大,因而,在该示例中,接触判定部234判定虚拟右手OR抓取虚拟物件OB-1。
这种情况下,视界图像生成部223,如图所示,可以生成并显示将被判定已抓取的虚拟物件OB-1移动至其他虚拟物件OA-1、OC-1、OD-1的上方且上面侧的视界图像26。由此,能够使用户明确地辨认已抓取虚拟物件OB-1,另外,能够使用户确认虚拟物件OB-1所记载的图画、文字等。再者,在图示的示例中,在已抓取的虚拟物件OB-1的周围显示框线FR,由此,使用户明确地辨认已抓取虚拟物件OB-1。
框线FR,可以在附随物件进入判定区域时显示。这种情况下,在图24的处理中,在接触判定部234判定附随物件进入判定区域(步骤S66-1处的“是”)之后,判定附随物件是否进入多个判定区域即可。然后,在接触判定部234判定附随物件进入多个判定区域的情况下,视界图像生成部223生成对于与重叠体积更大的判定区域相对应的虚拟物件附加框线FR的视界图像26即可。这种情况下,用户确认在期望的虚拟物件上显示框线FR之后,能够进行抓取虚拟物件的操作,因而能够更可靠地抓取期望的虚拟物件。
此外,用于使用户识别由虚拟手抓取的虚拟物件或者能够通过进行抓取操作而抓取的虚拟物件的显示,不限于框线FR的显示。另外,在图示的示例中,使虚拟物件OB-1移动至最前面(由虚拟左手OL握持的虚拟物件之中的最靠近虚拟摄像机1的位置),但是,不将判定区域JB从移动前的状态更新。这是因为,在虚拟物件OB-1被虚拟右手OR握持的状态下,不必进行与虚拟物件的接触判定。通过使判定区域的更新成为最小必要限度,从而能够将演算处理的负荷抑制得较低。
〔变形例〕
本发明不限于上述的各实施方式,能够在权利要求所示的范围进行各种变更。将不同的实施方式分别公开的技术手段适当地组合而得到实施方式,也被本发明的技术范围包括。通过将各实施方式分别公开的技术手段组合,从而能够形成新的技术特征。
在前述实施方式中,示出了区域确定部233在将判定区域设定于各虚拟物件之后,以在已设定的判定区域间不生成重叠部分的方式进行调整(排除重叠部分)的示例,但是,设定不重叠的判定区域的方法不限于此例。例如,区域确定部233,可以首先确定虚拟物件间的边界,以不超过已确定的边界(对于各虚拟物件,使判定区域从虚拟摄像机1可见的部分延伸,且不延伸至其他的虚拟物件上)的方式设定各虚拟物件的判定区域。
用户操作的虚拟物件,只要是与用户的头部以外的身体的一部分的运动连动地在虚拟空间2内移动的虚拟物件即可,不限于虚拟手。例如,如果是使用武器与虚拟空间2内的敌方人物(虚拟物件)战斗的游戏,那么,武器成为用户操作的虚拟物件。
确定何种虚拟物件的判定区域未被特别地限定,可以确定虚拟空间2中的全部虚拟物件的判定区域,也可以确定一部分虚拟物件的判定区域。另外,虚拟物件的形状也未被特别地限定。此外,对于在虚拟空间2中占据的体积大的虚拟物件而言,无需确定判定区域,用户就能够容易地选择,因而,可以仅对体积为阈值以下的虚拟物件或者厚度为阈值以下的虚拟物件确定判定区域。
另外,在通过将与虚拟物件的接触所产生的操作应用于MR等而提供虚拟体验的情况下,可以通过物理、光学的方法等检测用户的实际的头部以外的身体的一部分,以代替操作对象物件,并基于该身体的一部分和虚拟物件的位置关系,判定该身体的一部分和虚拟物件的接触。此外,在使用透过型头戴式显示器而提供虚拟体验的情况下,用户的基准视线,与非透过型头戴式显示器同样地,可以通过检测头戴式显示器的运动或者用户的视线而确定。对虚拟物件设定判定区域的方法以及基于已设定的判定区域的、用户的身体的一部分和虚拟物件的接触的判定方法等与上述实施方式说明的方法相同。
〔软件的实现示例〕
控制电路部200的控制块(检出部210、显示控制部220、虚拟空间控制部230、记忆部240以及通信部250),可以由形成于集成电路(IC芯片)等的逻辑电路(硬件)实现,也可以使用CPU由软件实现。
在后者的情况下,控制块,具备CPU、ROM或者记忆装置(这些被称为“记录介质”)以及RAM等,该CPU执行作为实现各功能的软件的程序的命令,该ROM或者记忆装置记录计算机(或CPU)可读取的前述程序和各种数据,该RAM等将前述程序展开。于是,计算机(或CPU)从前述记录介质读取前述程序并执行,达成本发明的目的。前述记录介质,能够使用“非暂存的有形的介质”,例如,磁带、磁盘、存储卡、半导体存储器以及可编程的逻辑电路等。另外,可以经由能够传输该程序的任意的传输介质(通信网络、广播波等)而向前述计算机供给前述程序。此外,本发明也能够以因电子传输而将前述程序有形化后的、嵌入于载波的数据信号的形态而实现。
〔附录事项〕
罗列本发明的一个方面涉及的内容,如下所示。
(项目1)一种向在头部佩戴了头戴式显示器的用户提供虚拟空间的方法,包括:确定配置于前述虚拟空间的多个虚拟物件并将与前述用户的头部以外的身体的一部分的运动连动地进行动作的操作对象物件配置于前述虚拟空间的步骤,确定前述用户的在前述虚拟空间中的基准视线的步骤,确定配置于前述虚拟空间并基于前述基准视线而规定使前述用户辨认的视界区域的虚拟摄像机的步骤,在前述多个虚拟物件之中的至少一个设定至少包括沿基于前述虚拟空间中的前述虚拟摄像机的位置或者前述基准视线的方向的延伸方向延伸的部分的、用于判定与前述操作对象物件的接触的区域的步骤,以及基于前述区域和前述操作对象物件的位置关系而判定设定有前述区域的前述虚拟物件和前述操作对象物件的接触的步骤。由于设定至少包括沿基于虚拟摄像机的位置或者基准视线的方向的延伸方向延伸的部分的区域,并基于该区域和操作对象物件的位置关系而判定接触,因而用户能够通过直观的操作而与期望的虚拟物件接触。
(项目2)项目1所述的方法中,前述部分从设定有前述区域的前述虚拟物件沿与前述基准视线的方向反向的前述延伸方向延伸。能够容易地选择相对于虚拟摄像机而位于基准视线的方向的虚拟物件(引起用户的注意的虚拟物件),难以选择相对于虚拟摄像机而从基准视线的方向偏离的位置的虚拟物件(未引起用户的注意的虚拟物件)。
(项目3)项目1或者2所述的方法中,还包括确定规定前述延伸方向的基准矢量的步骤,在前述设定的步骤中,基于前述虚拟摄像机的位置或者前述基准视线的方向而使前述基准矢量旋转,以旋转后的基准矢量为基准而设定前述区域。通过使用基准矢量的演算,用户能够在虚拟空间中直观地操作操作对象物件,并使其与期望的虚拟物件接触。
(项目4)项目3所述的方法中,在前述设定的步骤中,使前述基准矢量旋转成与前述基准视线的方向平行且反向。通过使用基准矢量的演算,能够容易地选择相对于虚拟摄像机而位于基准视线的方向的虚拟物件,难以选择相对于虚拟摄像机而从基准视线的方向偏离的位置的虚拟物件。
(项目5)项目3所述的方法中,在前述设定的步骤中,使前述基准矢量旋转成与从前述虚拟摄像机的位置向着设定有前述区域的前述虚拟物件的位置或者基于该虚拟物件的位置而确定的位置的方向平行且反向。即使在用户无法把握与虚拟物件的距离感,使操作对象物件移动至虚拟物件的跟前侧(虚拟物件的虚拟摄像机侧)的情况下,也能够领会欲接触虚拟物件的用户的意图,判定操作对象物件和虚拟物件接触。
(项目6)项目1至5中的任一项所述的方法中,还包括在前述虚拟摄像机的位置或者前述基准视线的方向变化的情况下,沿基于变化后的前述虚拟摄像机的位置或者变化后的前述基准视线的方向的前述延伸方向使前述部分延伸的步骤。即使在虚拟摄像机的位置或者基准视线的方向变化的情况下,用户也能够维持能够通过直观的操作而与期望的虚拟物件接触的状态。
(项目7)一种向在头部佩戴了头戴式显示器的用户提供虚拟体验的方法,包括:确定多个虚拟物件的步骤,确定前述用户的头部以外的身体的一部分的位置的步骤,确定前述用户的基准视线的步骤,在多个前述虚拟物件之中的至少一个设定至少包括沿基于前述基准视线的方向的延伸方向延伸的部分的区域的步骤,以及基于前述区域和前述身体的一部分的位置的位置关系而判定设定有前述区域的前述虚拟物件和前述身体的一部分的接触的步骤。由于设定至少包括沿基于基准视线的方向的延伸方向延伸的部分的区域,并基于该区域和用户的身体的一部分的位置的位置关系而判定接触,因而用户能够直观地接触期望的虚拟物件。
(项目8)项目7所述的方法中,前述部分从设定有前述区域的前述虚拟物件沿与前述基准视线的方向反向的前述延伸方向延伸。能够容易地选择位于基准视线的方向的虚拟物件(引起用户注意的虚拟物件),难以选择从基准视线的方向偏离的位置的虚拟物件(未引起用户的注意的虚拟物件)。
(项目9)项目7或者8所述的方法中,还包括确定规定前述延伸方向的基准矢量的步骤,在前述设定的步骤中,基于前述基准视线的方向而使前述基准矢量旋转,以旋转后的基准矢量为基准而设定前述区域。通过使用基准矢量的演算,用户能够直观地接触期望的虚拟物件。
(项目10)项目9所述的方法中,在前述设定的步骤中,使前述基准矢量旋转成与前述基准视线的方向平行且反向。通过使用基准矢量的演算,能够容易地选择位于基准视线的方向的虚拟物件,难以选择从基准视线的方向偏离的位置的虚拟物件。
(项目11)项目7至10中的任一项所述的提供虚拟体验的方法中,还包括在前述基准视线的方向变化的情况下,沿基于变化后的前述基准视线的方向的前述延伸方向使前述部分延伸的步骤。即使在基准视线的方向变化的情况下,用户也能够维持能够接触期望的虚拟物件的状态。
(项目12)一种程序,使计算机执行项目1至11中的任一项所述的方法的各步骤。
(项目13)一种计算机可读取的记录介质,记录项目12的程序。
〔附录事项〕
罗列本发明的另一方面涉及的内容,如下所示。
(项目1)一种向在头部佩戴了头戴式显示器的用户提供虚拟空间的方法,包括:确定配置于前述虚拟空间的至少包括第1虚拟物件和第2虚拟物件的多个虚拟物件并将与前述用户的头部以外的身体的一部分的运动连动地进行动作的操作对象物件配置于前述虚拟空间的步骤,确定前述用户的在前述虚拟空间中的基准视线的步骤,确定配置于前述虚拟空间并基于前述基准视线而设定使前述用户辨认的视界区域的虚拟摄像机的步骤,分别设定用于判定前述第1虚拟物件和前述操作对象物件的接触的、与前述第1虚拟物件相关联的第1区域和用于判定前述第2虚拟物件和前述操作对象物件的接触的、与前述第2虚拟物件相关联的第2区域的步骤,以及基于前述第1区域或前述第2区域和前述操作对象物件的位置关系而判定前述第1虚拟物件或前述第2虚拟物件和前述操作对象物件的接触的步骤,前述第1虚拟物件包括从前述虚拟摄像机观看时与前述第2虚拟物件重叠且位于前述第2虚拟物件的前面的重叠部分,分别设定从前述虚拟摄像机观看时与前述重叠部分重叠的前述第1区域和从前述虚拟摄像机观看时与前述重叠部分不重叠的前述第2区域。在作为第2虚拟物件的前面侧的、第1虚拟物件中的重叠部分,设定与该重叠部分重叠的第1区域,将第2区域设定成与重叠部分不重叠,因而,用户能够通过直观的操作而与期望的虚拟物件接触。
(项目2)项目1所述的方法中,前述第1区域包括在前述头戴式显示器的偏转方向上位于前述第1虚拟物件的上侧的部分。用户能够容易地使前述操作对象物件从第1虚拟物件的上侧接触于第1虚拟物件。
(项目3)项目1或者2所述的方法中,前述第2区域包括在前述头戴式显示器的偏转方向上位于前述第2虚拟物件的上侧的部分。用户能够容易地使前述操作对象物件从第2虚拟物件的上侧接触于第2虚拟物件。
(项目4)项目1或者2所述的方法中,还包括确定规定前述第1虚拟物件的外形且从前述虚拟摄像机观看时重叠于前述第2虚拟物件的线段的步骤,基于前述线段而设定前述第1区域和第2区域。前述线段为规定第1虚拟物件的外形且从虚拟摄像机观看时重叠于第2虚拟物件的线段,从虚拟摄像机观看时,成为第1虚拟物件和第2虚拟物件的分界线,因而,能够恰当地设定第1区域和第2区域。
(项目5)项目4所述的方法中,在确定多个不同的前述线段的情况下,基于最长的前述线段而设定前述第1区域和前述第2区域。与基于多个线段而设定第1区域和第2区域的情况相比,能够将设定第1区域和第2区域所需的演算量抑制得较低,同时大致恰当地设定第1区域和第2区域。
(项目6)项目4或者5所述的方法中,设定从前述虚拟摄像机观看时与前述线段的前述第2虚拟物件侧不重叠的前述第1区域和从前述虚拟摄像机观看时与前述线段的前述第1虚拟物件侧不重叠的前述第2区域。用户,能够通过从虚拟摄像机观看时使操作对象物件接近前述线段的第2虚拟物件侧而接触第2虚拟物件,能够通过使操作对象物件接近前述线段的第1虚拟物件侧而接触第1虚拟物件。所以,用户能够通过直观的操作而使操作对象物件与期望的虚拟物件接触。
(项目7)项目1至6中的任一项所述的方法,前述操作对象物件包括与前述用户的一只手的运动连动地进行动作的第1虚拟手和与前述用户的另一手的运动连动地进行动作的第2虚拟手,该方法还包括:基于前述用户对前述第1虚拟手的第1操作而与前述第1虚拟手相关联地使前述第1虚拟物件和前述第2虚拟物件从前述虚拟摄像机观看时重叠配置的步骤,以及基于前述第1操作之后的、前述用户对前述第1虚拟手的第2操作而使前述第1虚拟物件和前述第2虚拟物件中的至少1个移动,从而减小前述重叠部分的面积的步骤,基于前述第2操作之后的、前述用户对前述第2虚拟手的第3操作,判定前述第1虚拟物件或前述第2虚拟物件和前述第2虚拟手的接触。用户按照顺序进行对第1虚拟手的第1操作、对第1虚拟手的第2操作以及对第2虚拟手的第3操作,从而能够用第2虚拟手接触多个虚拟物件之中的期望的物件。
(项目8)一种向在头部佩戴了头戴式显示器的用户提供虚拟体验的方法,包括:确定至少包括第1虚拟物件和第2虚拟物件的多个虚拟物件的步骤,确定前述用户的头部以外的身体的一部分的位置的步骤,确定前述用户的基准视线的步骤,分别设定用于判定前述第1虚拟物件和前述身体的一部分的接触的、与前述第1虚拟物件相关联的第1区域和用于判定前述第2虚拟物件和前述身体的一部分的接触的、与前述第2虚拟物件相关联的第2区域的步骤,以及基于前述第1区域或前述第2区域和前述身体的一部分的位置关系而判定前述第1虚拟物件或前述第2虚拟物件和前述身体的一部分的接触的步骤,前述第1虚拟物件包括从前述用户观看时与前述第2虚拟物件重叠且位于前述第2虚拟物件的前面的重叠部分,分别设定从前述用户观看时与前述重叠部分重叠的前述第1区域和从前述用户观看时与前述重叠部分不重叠的前述第2区域。在作为第2虚拟物件的前面侧的、第1虚拟物件中的重叠部分,设定与该重叠部分重叠的第1区域,将第2区域设定成与重叠部分不重叠,因而,用户能够通过直观的操作而与期望的虚拟物件接触。
(项目9)一种程序,使计算机执行项目1至8中的任一项所述的方法的各步骤。
(项目10)一种计算机可读取的记录介质,记录项目9的程序。
〔附录事项〕
罗列本发明的再一方面涉及的内容,如下所示。
(项目1)一种向在头部佩戴了头戴式显示器的用户提供虚拟空间的方法,包括:确定配置于前述虚拟空间的至少包括第1虚拟物件和第2虚拟物件的多个虚拟物件并将与前述用户的头部以外的身体的一部分的运动连动地进行动作的操作对象物件配置于前述虚拟空间的步骤,分别设定用于判定前述第1虚拟物件和前述操作对象物件的接触的、与前述第1虚拟物件相关联的第1区域和用于判定前述第2虚拟物件和前述操作对象物件的接触的、与前述第2虚拟物件相关联的第2区域的步骤,以及在前述操作对象物件或附随于前述操作对象物件的附随物件之中的被前述第1区域包括的第1部分大于前述操作对象物件或前述附随物件之中的被前述第2区域包括的第2部分的情况下,判定前述操作对象物件与前述第1虚拟物件接触的步骤。在操作对象物件或附随物件之中的被第1区域包括的第1部分大于被第2区域包括的第2部分的情况下,认为用户具有使操作对象物件与第1虚拟物件接触的意图。所以,用户能够通过直观的操作而与期望的物件接触。
(项目2)项目1所述的方法中,还包括在前述判定的步骤中判定前述操作对象物件与前述第1虚拟物件接触之后,使前述操作对象物件执行第1动作,从而将前述第1虚拟物件与前述操作对象物件相关联的步骤。为了将第1虚拟物件与操作对象物件相关联,用户必须进行用于使操作对象物件执行第1动作的操作,因而能够防止进行用户无意的关联。
(项目3)项目2所述的方法中,还包括在执行前述关联的步骤之后使前述操作对象物件执行第2动作,从而解除前述第1虚拟物件和前述操作对象物件的关联的步骤。为了解除前述关联,用户必须进行用于使操作对象物件执行第2动作的操作,因而,能够防止用户无意地解除关联。
(项目4)项目2或者3所述的方法中,前述附随物件配置在从前述操作对象物件离开一定距离的位置,该方法还包括在执行前述第1动作的前后维持前述附随物件的位置的步骤。容易维持判定操作对象物件与该物件接触的状态,同时使操作对象物件执行第1动作。
(项目5)项目2或者3所述的方法中,还包括基于前述第1动作中的前述操作对象物件的运动而使前述附随物件的位置变动的步骤。与操作对象物件的运动相应的细小的接触判定成为可能。
(项目6)项目1至3以及5中的任一项所述的方法中,前述附随物件配置于前述操作对象物件的内部。能够当在操作对象物件和用户欲接触的物件之间空出距离时,防止判定操作对象物件与该物件接触。
(项目7)项目1至6中的任一项所述的方法中,前述第1区域和前述第2区域为六面体状的区域,前述附随物件为球体状的物件。能够通过简易的演算确定第1部分和第2部分中的哪个较大。
(项目8)一种向在头部佩戴了头戴式显示器的用户提供虚拟体验的方法,包括:确定至少包括第1虚拟物件和第2虚拟物件的多个虚拟物件的步骤,确定前述用户的头部以外的身体的一部分的位置的步骤,分别设定用于判定前述第1虚拟物件和前述身体的一部分的接触的、与前述第1虚拟物件相关联的第1区域和用于判定前述第2虚拟物件和前述身体的一部分的接触的、与前述第2虚拟物件相关联的第2区域的步骤,以及在前述身体的一部分或附随于前述身体的一部分的附随物件之中的被前述第1区域包括的第1部分大于前述身体的一部分或前述附随物件之中的被前述第2区域包括的第2部分的情况下,判定前述身体的一部分与前述第1虚拟物件接触的步骤。在身体的一部分或者附随物件之中的被第1区域包括的第1部分大于被第2区域包括的第2部分的情况下,认为用户具有使身体的一部分与第1虚拟物件接触的意图。所以,用户能够与期望的虚拟物件直观地接触。
(项目9)一种程序,使计算机执行项目1至8中的任一项所述的方法的各步骤。
(项目10)一种计算机可读取的记录介质,记录项目9的程序。
符号的说明
1 虚拟摄像机
2 虚拟空间
5 基准视线
21 中心
22 虚拟空间图像
23 视界区域
26 视界图像
27 基准位置
100 头戴式显示系统
110 头戴式显示器
112 显示屏
114、306 传感器
120 头戴传感器
130 注视传感器
140 控制传感器
200 控制电路部
210 检出部
211 头戴式显示器检出部
212 视线检出部
213 控制器检出部
220 显示控制部
221 虚拟摄像机控制部
222 视界区域决定部
223 视界图像生成部
230 虚拟空间控制部
231 虚拟空间规定部
232 虚拟手控制部
233 区域确定部
234 接触判定部
240 记忆部
241 样式存储部
242 内容存储部
250 通信部
300 控制器
302 操作键钮
302a~302d 拇指键钮
302e、302g 食指键钮
302f、302h 中指键钮
302i,302j 模拟摇杆
320 右控制器
322、332 顶面
324、334 握柄
326 框架
330 左控制器

Claims (13)

1.一种向在头部佩戴了头戴式显示器的用户提供虚拟空间的方法,包括:
确定配置于所述虚拟空间的多个虚拟物件并将与所述用户的头部以外的身体的一部分的运动连动地进行动作的操作对象物件配置于所述虚拟空间的步骤,
确定所述用户的在所述虚拟空间中的基准视线的步骤,
确定配置于所述虚拟空间并基于所述基准视线而规定使所述用户辨认的视界区域的虚拟摄像机的步骤,
在所述多个虚拟物件之中的至少一个,设定用于判定与所述操作对象物件的接触的区域的步骤,该区域至少包括沿基于所述虚拟空间中的所述虚拟摄像机的位置或者所述基准视线的方向的延伸方向延伸的部分,以及
基于所述区域和所述操作对象物件的位置关系而判定设定有所述区域的所述虚拟物件和所述操作对象物件的接触的步骤
其中,
所述区域从至少一个所述虚拟物件沿朝向所述虚拟摄像机的方向延伸,
响应于所述虚拟摄像机或所述基准视线在第一方向上的运动,用于确定所述接触的区域在与所述第一方向不同的第二方向上运动,并且所述第二方向不平行于所述第一方向,并且
用于确定所述接触的区域的所述运动包括旋转运动。
2.如权利要求1所述的方法,其中,所述部分从设定有所述区域的所述虚拟物件沿与所述基准视线的方向反向的所述延伸方向延伸。
3.如权利要求1或者2所述的方法,其中,还包括确定规定所述延伸方向的基准矢量的步骤,
在所述设定的步骤中,基于所述虚拟摄像机的位置或者所述基准视线的方向而使所述基准矢量旋转,以旋转后的基准矢量为基准而设定所述区域。
4.如权利要求3所述的方法,其中,在所述设定的步骤中,使所述基准矢量旋转成与所述基准视线的方向平行且反向。
5.如权利要求3所述的方法,其中,在所述设定的步骤中,使所述基准矢量旋转成与从所述虚拟摄像机的位置向着设定有所述区域的所述虚拟物件的位置或者基于该虚拟物件的位置而确定的位置的方向平行且反向。
6.如权利要求1或者2所述的方法,其中,还包括在所述虚拟摄像机的位置或者所述基准视线的方向变化的情况下,沿基于变化后的所述虚拟摄像机的位置或者变化后的所述基准视线的方向的所述延伸方向使所述部分延伸的步骤。
7.如权利要求3所述的方法,其中,还包括在所述虚拟摄像机的位置或者所述基准视线的方向变化的情况下,沿基于变化后的所述虚拟摄像机的位置或者变化后的所述基准视线的方向的所述延伸方向使所述部分延伸的步骤。
8.一种向在头部佩戴了头戴式显示器的用户提供虚拟体验的方法,包括:
确定多个虚拟物件的步骤,
确定所述用户的头部以外的身体的一部分的位置的步骤,
确定所述用户的基准视线的步骤,
在多个所述虚拟物件之中的至少一个设定至少包括沿基于所述基准视线的方向的延伸方向延伸的部分的区域的步骤,以及
基于所述区域和所述身体的一部分的位置的位置关系而判定设定有所述区域的所述虚拟物件和所述身体的一部分的接触的步骤,
响应于所述基准视线在第一方向上的运动,所述区域在不平行于所述第一方向的第二方向上运动,并且
所述区域的所述运动包括旋转运动。
9.如权利要求8所述的方法,其中,所述部分从设定有所述区域的所述虚拟物件沿与所述基准视线的方向反向的所述延伸方向延伸。
10.如权利要求8或者9所述的方法,其中,还包括确定规定所述延伸方向的基准矢量的步骤,
在所述设定的步骤中,基于所述基准视线的方向而使所述基准矢量旋转,以旋转后的基准矢量为基准而设定所述区域。
11.如权利要求10所述的方法,其中,在所述设定的步骤中,使所述基准矢量旋转成与所述基准视线的方向平行且反向。
12.如权利要求8或者9所述的方法,还包括在所述基准视线的方向变化的情况下,沿基于变化后的所述基准视线的方向的所述延伸方向使所述部分延伸的步骤。
13.如权利要求10所述的方法,还包括在所述基准视线的方向变化的情况下,沿基于变化后的所述基准视线的方向的所述延伸方向使所述部分延伸的步骤。
CN201780038446.5A 2016-07-20 2017-07-20 提供虚拟空间的方法、提供虚拟体验的方法、程序以及记录介质 Active CN109313511B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110157743.XA CN112783328B (zh) 2016-07-20 2017-07-20 提供虚拟空间的方法、提供虚拟体验的方法、程序以及记录介质

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP2016142759A JP6189495B1 (ja) 2016-07-20 2016-07-20 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体
JP2016142762A JP6189497B1 (ja) 2016-07-20 2016-07-20 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体
JP2016-142759 2016-07-20
JP2016142761A JP6189496B1 (ja) 2016-07-20 2016-07-20 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体
JP2016-142761 2016-07-20
JP2016-142762 2016-07-20
PCT/JP2017/026185 WO2018016553A1 (ja) 2016-07-20 2017-07-20 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110157743.XA Division CN112783328B (zh) 2016-07-20 2017-07-20 提供虚拟空间的方法、提供虚拟体验的方法、程序以及记录介质

Publications (2)

Publication Number Publication Date
CN109313511A CN109313511A (zh) 2019-02-05
CN109313511B true CN109313511B (zh) 2021-02-26

Family

ID=60988709

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110157743.XA Active CN112783328B (zh) 2016-07-20 2017-07-20 提供虚拟空间的方法、提供虚拟体验的方法、程序以及记录介质
CN201780038446.5A Active CN109313511B (zh) 2016-07-20 2017-07-20 提供虚拟空间的方法、提供虚拟体验的方法、程序以及记录介质

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202110157743.XA Active CN112783328B (zh) 2016-07-20 2017-07-20 提供虚拟空间的方法、提供虚拟体验的方法、程序以及记录介质

Country Status (3)

Country Link
US (2) US10198855B2 (zh)
CN (2) CN112783328B (zh)
WO (1) WO2018016553A1 (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9696795B2 (en) * 2015-02-13 2017-07-04 Leap Motion, Inc. Systems and methods of creating a realistic grab experience in virtual reality/augmented reality environments
US10198855B2 (en) * 2016-07-20 2019-02-05 Colopl, Inc. Method of providing virtual space, method of providing virtual experience, system and medium for implementing the methods
US20180024623A1 (en) * 2016-07-22 2018-01-25 Google Inc. Detecting user range of motion for virtual reality user interfaces
US10691233B2 (en) 2016-10-11 2020-06-23 Valve Corporation Sensor fusion algorithms for a handheld controller that includes a force sensing resistor (FSR)
US10649583B1 (en) 2016-10-11 2020-05-12 Valve Corporation Sensor fusion algorithms for a handheld controller that includes a force sensing resistor (FSR)
US11625898B2 (en) 2016-10-11 2023-04-11 Valve Corporation Holding and releasing virtual objects
US10307669B2 (en) 2016-10-11 2019-06-04 Valve Corporation Electronic controller with finger sensing and an adjustable hand retainer
US10888773B2 (en) 2016-10-11 2021-01-12 Valve Corporation Force sensing resistor (FSR) with polyimide substrate, systems, and methods thereof
US10987573B2 (en) 2016-10-11 2021-04-27 Valve Corporation Virtual reality hand gesture generation
US10391400B1 (en) 2016-10-11 2019-08-27 Valve Corporation Electronic controller with hand retainer and finger motion sensing
US11185763B2 (en) 2016-10-11 2021-11-30 Valve Corporation Holding and releasing virtual objects
US10549183B2 (en) 2016-10-11 2020-02-04 Valve Corporation Electronic controller with a hand retainer, outer shell, and finger sensing
US10354399B2 (en) * 2017-05-25 2019-07-16 Google Llc Multi-view back-projection to a light-field
US10874939B2 (en) 2017-06-16 2020-12-29 Valve Corporation Electronic controller with finger motion sensing
EP4235263A3 (en) 2017-09-29 2023-11-29 Apple Inc. Gaze-based user interactions
JP6513241B1 (ja) * 2018-01-30 2019-05-15 株式会社コロプラ プログラム、情報処理装置、及び情報処理方法
US10650609B2 (en) * 2018-02-23 2020-05-12 Sap Se Virtual prototyping and assembly validation
CN112041788B (zh) 2018-05-09 2024-05-03 苹果公司 使用眼睛注视来选择文本输入字段
CN112512648A (zh) * 2018-06-20 2021-03-16 威尔乌集团 握住和释放虚拟对象
WO2019246150A1 (en) * 2018-06-20 2019-12-26 Valve Corporation Holding and releasing virtual objects
US10909772B2 (en) 2018-07-31 2021-02-02 Splunk Inc. Precise scaling of virtual objects in an extended reality environment
US10692299B2 (en) 2018-07-31 2020-06-23 Splunk Inc. Precise manipulation of virtual object position in an extended reality environment
US10580389B1 (en) * 2018-08-17 2020-03-03 Rockwell Collins, Inc. Head tracking system for head wearable device including display device
WO2020114395A1 (zh) * 2018-12-03 2020-06-11 广东虚拟现实科技有限公司 虚拟画面的控制方法、终端设备及存储介质
WO2021020143A1 (ja) * 2019-07-30 2021-02-04 ソニー株式会社 画像処理装置、画像処理方法、及び記録媒体
US10705597B1 (en) * 2019-12-17 2020-07-07 Liteboxer Technologies, Inc. Interactive exercise and training system and method
WO2021192589A1 (ja) * 2020-03-24 2021-09-30 ソニーグループ株式会社 情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システム
JP2022037377A (ja) * 2020-08-25 2022-03-09 株式会社ワコム 入力システム及び入力方法
CN112206524B (zh) * 2020-09-16 2022-06-10 深圳市瑞立视多媒体科技有限公司 Ue4引擎中拾取虚拟物品的信息处理方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5520656B2 (ja) * 2010-03-30 2014-06-11 株式会社バンダイナムコゲームス プログラム及び画像生成装置
JP2015232783A (ja) * 2014-06-09 2015-12-24 株式会社バンダイナムコエンターテインメント プログラムおよび画像生成装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577981A (en) * 1994-01-19 1996-11-26 Jarvik; Robert Virtual reality exercise machine and computer controlled video system
JP2782428B2 (ja) * 1995-10-19 1998-07-30 株式会社エイ・ティ・アール通信システム研究所 仮想物体操作装置
JP2002042172A (ja) * 2000-07-25 2002-02-08 Matsushita Electric Works Ltd 仮想物体の選択方法、この方法が適用される記録媒体およびサービス
US20160267720A1 (en) * 2004-01-30 2016-09-15 Electronic Scripting Products, Inc. Pleasant and Realistic Virtual/Augmented/Mixed Reality Experience
JP4335160B2 (ja) 2005-03-02 2009-09-30 任天堂株式会社 衝突判定プログラムおよび衝突判定装置
JP2007209483A (ja) 2006-02-08 2007-08-23 Namco Bandai Games Inc 画像生成システム、プログラム及び情報記憶媒体
JP4989383B2 (ja) * 2007-09-10 2012-08-01 キヤノン株式会社 情報処理装置、情報処理方法
JP5374681B2 (ja) 2008-03-28 2013-12-25 株式会社セガ ゲーム装置及びプログラム
CN102939139B (zh) * 2010-04-13 2015-03-04 索尼电脑娱乐美国公司 共享虚拟空间中便携式设备的校准
JP2012058968A (ja) 2010-09-08 2012-03-22 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
JP5160680B1 (ja) * 2011-10-26 2013-03-13 株式会社コナミデジタルエンタテインメント 画像処理装置、画像処理装置の制御方法、及びプログラム
JP5951957B2 (ja) * 2011-10-27 2016-07-13 任天堂株式会社 ゲームシステム、ゲーム装置、ゲームプログラム、およびゲーム処理方法
US9398229B2 (en) * 2012-06-18 2016-07-19 Microsoft Technology Licensing, Llc Selective illumination of a region within a field of view
JP5824537B2 (ja) * 2014-01-16 2015-11-25 キヤノン株式会社 情報処理装置および情報処理方法
US9392212B1 (en) * 2014-04-17 2016-07-12 Visionary Vr, Inc. System and method for presenting virtual reality content to a user
JP2016126687A (ja) 2015-01-08 2016-07-11 セイコーエプソン株式会社 ヘッドマウントディスプレイ、操作受付方法および操作受付プログラム
US10198855B2 (en) * 2016-07-20 2019-02-05 Colopl, Inc. Method of providing virtual space, method of providing virtual experience, system and medium for implementing the methods

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5520656B2 (ja) * 2010-03-30 2014-06-11 株式会社バンダイナムコゲームス プログラム及び画像生成装置
JP2015232783A (ja) * 2014-06-09 2015-12-24 株式会社バンダイナムコエンターテインメント プログラムおよび画像生成装置

Also Published As

Publication number Publication date
CN109313511A (zh) 2019-02-05
US20190122420A1 (en) 2019-04-25
US10776991B2 (en) 2020-09-15
US10198855B2 (en) 2019-02-05
CN112783328B (zh) 2024-03-15
CN112783328A (zh) 2021-05-11
US20180025531A1 (en) 2018-01-25
WO2018016553A1 (ja) 2018-01-25

Similar Documents

Publication Publication Date Title
CN109313511B (zh) 提供虚拟空间的方法、提供虚拟体验的方法、程序以及记录介质
CN109690447B (zh) 信息处理方法、用于使计算机执行该信息处理方法的程序、以及计算机
JP6189497B1 (ja) 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体
JP6368411B1 (ja) 仮想体験を提供するためにコンピュータで実行される方法、プログラム及びコンピュータ
JP2018072604A (ja) Vr酔いを抑制するための方法、当該方法をコンピュータに実行させるためのプログラムおよび、情報処理装置
JP2018194889A (ja) 情報処理方法、コンピュータ及びプログラム
JP6203346B1 (ja) 仮想空間を提供する方法、プログラム、および記録媒体
JP2018028920A (ja) 仮想空間を提供する方法、プログラム、および記録媒体
JP6368404B1 (ja) 情報処理方法、プログラム及びコンピュータ
JP6779840B2 (ja) 仮想空間における入力を支援するための方法および装置ならびに当該方法をコンピュータに実行させるプログラム
JP6159455B1 (ja) 仮想空間を提供する方法、プログラム、および記録媒体
JP6728111B2 (ja) 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体
JP6209252B1 (ja) 仮想空間内のキャラクタを動作させる方法、当該方法をコンピュータに実行させるためのプログラム及びコンピュータ装置
JP2018206029A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP6966336B2 (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP7064265B2 (ja) 仮想体験を提供するためのプログラム、情報処理装置、及び情報処理方法
JP6893532B2 (ja) 情報処理方法、コンピュータ及びプログラム
JP6776155B2 (ja) 仮想現実を提供するための方法、および当該方法をコンピュータに実行させるためのプログラム、および当該プログラムを実行するための情報処理装置
JP2018014110A (ja) 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体
JP2018014084A (ja) 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体
JP6444345B2 (ja) 仮想空間における入力を支援するための方法および装置ならびに当該方法をコンピュータに実行させるプログラム
JP6275185B2 (ja) 仮想空間を提供する方法、プログラム、および記録媒体
JP6189495B1 (ja) 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体
JP6189496B1 (ja) 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体
JP2019016358A (ja) 情報処理方法、プログラム及びコンピュータ

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
GR01 Patent grant
GR01 Patent grant