WO2022014700A1 - 端末装置、仮想オブジェクト操作方法、及び仮想オブジェクト操作プログラム - Google Patents

端末装置、仮想オブジェクト操作方法、及び仮想オブジェクト操作プログラム Download PDF

Info

Publication number
WO2022014700A1
WO2022014700A1 PCT/JP2021/026792 JP2021026792W WO2022014700A1 WO 2022014700 A1 WO2022014700 A1 WO 2022014700A1 JP 2021026792 W JP2021026792 W JP 2021026792W WO 2022014700 A1 WO2022014700 A1 WO 2022014700A1
Authority
WO
WIPO (PCT)
Prior art keywords
operation target
terminal device
virtual object
augmented reality
reality space
Prior art date
Application number
PCT/JP2021/026792
Other languages
English (en)
French (fr)
Inventor
進之介 岩城
Original Assignee
株式会社ドワンゴ
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
Application filed by 株式会社ドワンゴ filed Critical 株式会社ドワンゴ
Priority to CN202180035237.1A priority Critical patent/CN115605919A/zh
Priority to US17/997,900 priority patent/US11960660B2/en
Publication of WO2022014700A1 publication Critical patent/WO2022014700A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • 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
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/163Indexing scheme relating to constructional details of the computer
    • G06F2200/1637Sensing arrangement for detection of housing movement or orientation, e.g. for controlling scrolling or cursor movement on the display of an handheld computer

Definitions

  • One aspect of the present disclosure relates to a terminal device, a virtual object operation method, and a virtual object operation program.
  • Patent Document 1 A mechanism is known to provide users with an augmented reality space in which virtual objects are superimposed and placed in the real space.
  • an indicator for adjusting parameters for each component of a virtual object (3D object) is displayed on the screen, and a corresponding component is received by receiving an instruction from a user via the indicator.
  • a mechanism for adjusting the position of is disclosed.
  • Patent Document 1 exemplifies a mechanism for adjusting the position of the nose of a virtual object up and down by moving the indicator corresponding to the nose of the virtual object left and right.
  • the position of the component of the virtual object can be adjusted by the user operation via the indicator.
  • a two-dimensional operation for example, an operation of sliding the indicator to the left or right as described above
  • Adjustments cannot be made intuitively.
  • one aspect of the present disclosure is to provide a terminal device, a virtual object operation method, and a virtual object operation program capable of intuitively adjusting the position of a virtual object in an augmented reality space.
  • the terminal device is a terminal device that presents an augmented reality space to a user, and is an augmented reality that includes an image pickup unit that images the real space, a real space imaged by the image pickup unit, and a virtual object.
  • An object that includes a display unit that displays an augmented reality space image that represents space, a determination unit that determines at least a part of a virtual object as an operation target, and an object control unit that controls the operation of the operation target in augmented reality space.
  • the control unit detects the movement direction and movement amount of the terminal device after the operation target is determined, and moves the operation target based on the detected movement direction and movement amount of the terminal device.
  • FIG. 1 It is a figure which shows an example of the hardware composition of the user terminal which is the terminal apparatus which concerns on embodiment. It is a figure which shows an example of the functional structure of the user terminal of FIG. It is a flowchart which shows an example of the processing procedure of the movement operation of a character object using the user terminal of FIG. It is a figure for demonstrating an example of the movement operation of a character object. It is a figure for demonstrating an example of the movement operation of a character object. It is a flowchart which shows an example of the processing procedure of the rotation operation of a character object using the user terminal of FIG. It is a figure for demonstrating an example of the rotation operation of a character object. It is a figure for demonstrating an example of the rotation operation of a character object. It is a figure which shows the rotation operation of the virtual object which concerns on a comparative example.
  • FIG. 1 is a diagram showing an example of a hardware configuration of a user terminal 10 which is a terminal device according to an embodiment.
  • the user terminal 10 is a computer used by the user.
  • the user terminal 10 mainly has a shooting function for shooting a real space and a display function for displaying an augmented reality space image representing an augmented reality space in which virtual objects are superimposed and arranged on the shot real space.
  • a shooting function for shooting a real space and a display function for displaying an augmented reality space image representing an augmented reality space in which virtual objects are superimposed and arranged on the shot real space.
  • a display function for displaying an augmented reality space image representing an augmented reality space in which virtual objects are superimposed and arranged on the shot real space.
  • a virtual object does not actually exist in the real space, but refers to all objects that give the user the impression that they exist in the real space by being placed superimposed on the real space.
  • virtual objects include character objects (avatars) that imitate living things such as humans and animals, objects that imitate inanimate objects such as vases, and objects that are used for user operations in augmented reality space (for example, positions in augmented reality space).
  • the user terminal 10 may be any terminal device having the above-mentioned shooting function and display function, and the type and configuration thereof are not limited.
  • the user terminal 10 is, for example, a high-performance mobile phone (smartphone), a tablet terminal, a wearable terminal (for example, a head-mounted display (HMD), smart glasses, etc.) and the like.
  • the user terminal 10 includes a processor 101, a main storage unit 102, an auxiliary storage unit 103, a communication unit 104, an image pickup unit 105, a touch panel 106 (display unit), and a sensor 107 as hardware components.
  • the processor 101 is an arithmetic unit that executes an operating system and an application program.
  • the processor 101 may be, for example, a CPU or a GPU, but the type of the processor 101 is not limited thereto.
  • the main storage unit 102 is a device that stores a program for realizing the user terminal 10, a calculation result output from the processor 101, and the like.
  • the main storage unit 102 is composed of, for example, a ROM, a RAM, or the like.
  • the auxiliary storage unit 103 is a device capable of storing a larger amount of data than the main storage unit 102 in general.
  • the auxiliary storage unit 103 is composed of a non-volatile storage medium such as a hard disk or a flash memory.
  • the auxiliary storage unit 103 stores the virtual object operation program P1 for making the computer function as the user terminal 10 and various data.
  • the auxiliary storage unit 103 may store data related to the virtual object.
  • the communication unit 104 is a device that executes data communication with another computer via a communication network.
  • the communication unit 104 is composed of, for example, a network card or a wireless communication module.
  • the communication unit 104 may download data related to a virtual object from an external server device via a communication network such as the Internet, and store the downloaded data in the auxiliary storage unit 103.
  • the image pickup unit 105 is a device for imaging a real space.
  • the image pickup unit 105 has a function of capturing an image of the real world.
  • the image pickup unit 105 is, for example, a camera.
  • the image pickup unit 105 may take a moving image (video) or a still image (photograph).
  • the imaging unit 105 acquires a series of frame images arranged in time series as a moving image by processing the video signal based on a given frame rate.
  • the touch panel 106 functions as an input interface for accepting user operations.
  • the touch panel 106 accepts a user's touch operation (for example, tap operation, swipe operation, multi-touch operation, etc.).
  • the touch panel 106 also functions as an output interface for outputting the data processed by the user terminal 10.
  • the touch panel 106 has a function of displaying an augmented reality space image representing an augmented reality space including a real space and a virtual object captured by the imaging unit 105. That is, the user terminal 10 presents the augmented reality space to the user by displaying the augmented reality space image on the touch panel 106.
  • the sensor 107 is a sensor for detecting the moving direction and the moving amount (displacement amount) of the user terminal 10.
  • the sensor 107 is, for example, an acceleration sensor.
  • the type of the sensor 107 is not limited to the above.
  • the sensor 107 may be configured by a geomagnetic sensor, a gyro sensor, or the like, or may be configured by a sensor group in which a plurality of different types of sensors are combined.
  • Each functional element of the user terminal 10 causes the processor 101 or the main storage unit 102 to read the virtual object operation program P1 and operates the virtual object. It is realized by executing the program P1.
  • the virtual object operation program P1 includes a code for realizing each functional element of the user terminal 10.
  • the processor 101 operates the communication unit 104, the image pickup unit 105, the touch panel 106, or the sensor 107 according to the virtual object operation program P1 to read and write data in the main storage unit 102 or the auxiliary storage unit 103. By this process, each functional element of the user terminal 10 is realized.
  • the virtual object operation program P1 may be provided after being fixedly recorded on a tangible recording medium such as a CD-ROM, a DVD-ROM, or a semiconductor memory. Alternatively, the virtual object operation program P1 may be provided via a communication network as a data signal superimposed on a carrier wave.
  • FIG. 2 is a diagram showing an example of the functional configuration of the user terminal 10.
  • the user terminal 10 includes a display control unit 11, a determination unit 12, an object control unit 13, and a virtual object information storage unit 14 as functional elements.
  • the virtual object information storage unit 14 stores virtual object information related to the virtual object.
  • the virtual object information storage unit 14 may be configured by, for example, the auxiliary storage unit 103 described above.
  • the virtual object information includes information for superimposing and arranging virtual objects on the real space.
  • the virtual object information includes placement information for specifying the position and posture (angle) of the virtual object in the augmented reality space.
  • the above-mentioned arrangement information is for specifying the position and posture for each part. May contain information about.
  • the information for specifying the position of each part of the virtual object can be represented by, for example, the coordinates of the three-dimensional coordinate space set in the real space imaged and recognized by the image pickup unit 105.
  • the virtual object information may include information that defines the specifications of the virtual object.
  • a virtual object specification is an arrangement or method for controlling a virtual object.
  • a virtual object specification includes at least one of the virtual object's configuration (eg, shape and dimensions), behavior, and audio.
  • the data structure of the model data of the virtual object is not limited and may be arbitrarily designed.
  • the model data of a character object includes information on a plurality of joints and bones constituting the character object, graphic data indicating the appearance design of the character object, and an ID which is an identifier for uniquely identifying the character object. , May be included.
  • Examples of information about joints and bones include the three-dimensional coordinates of individual joints and combinations of adjacent joints (ie, bones).
  • the structure of the information is not limited to these, and may be arbitrarily designed.
  • the display control unit 11 displays the augmented reality space image on the touch panel 106.
  • the display control unit 11 continuously acquires a real space image representing the real space captured by the image pickup unit 105, and acquires (references) the virtual object information stored in the virtual object information storage unit 14. Then, the display control unit 11 superimposes and arranges the virtual object on the real space image based on the arrangement information included in the virtual object information. As a result, an augmented reality space image is generated.
  • the display control unit 11 causes the touch panel 106 to display the augmented reality space image thus generated.
  • the determination unit 12 determines at least a part of the virtual object as an operation target.
  • each part can be determined as an operation target.
  • the determination unit 12 accepts, for example, an operation in which the user touches one part of the virtual object displayed on the touch panel 106 (for example, a tap operation, a long press operation, etc.), and determines the part touched by the user as an operation target. You may.
  • the operations that can be performed on the operation target include the movement operation and the rotation operation described later.
  • the object control unit 13 controls the operation of the operation target in the augmented reality space.
  • the object control unit 13 is configured to be able to execute a movement operation for moving the operation target according to the movement of the user terminal 10 and a rotation operation for rotating the operation target according to the user operation (swipe operation or the like) for the touch panel 106.
  • the movement operation or rotation operation of the virtual object is reflected in the augmented reality space image on the touch panel 106 by, for example, the following mechanism.
  • the object control unit 13 updates the virtual object information about the operation target stored in the virtual object information storage unit 14 to a value indicating the state (position, posture, etc.) of the operation target reflecting the movement operation or rotation operation. do.
  • the display control unit 11 updates the state of the operation target in the augmented reality space image based on the updated virtual object information.
  • the augmented reality space image reflecting the movement operation or the rotation operation is displayed on the touch panel 106.
  • FIG. 3 is a flowchart showing an example of a processing procedure for a character object movement operation using the user terminal 10.
  • 4 and 5 are diagrams for explaining an example of the movement operation of the character object.
  • FIG. 4 is a diagram showing a state before the movement of the character object.
  • FIG. 5 is a diagram showing a state after the movement of the character object.
  • step S1 the display control unit 11 displays the augmented reality space image on the touch panel 106.
  • the display control unit 11 is expanded by superimposing and arranging the character object on the real space image acquired by the imaging unit 105 based on the virtual object information stored in the virtual object information storage unit 14. Generate a real space image.
  • the display control unit 11 causes the touch panel 106 to display the augmented reality space image.
  • the augmented reality space image 23 in which the character object 22 is superimposed and arranged on the real space image 21 is displayed on the touch panel 106.
  • step S2 the determination unit 12 determines at least a part of the character object 22 as an operation target.
  • the left-hand portion of the character object 22 (for example, the joint corresponding to the left hand) is determined as the operation target T by being tapped by the user.
  • step S3 the object control unit 13 detects the movement direction and the movement amount of the user terminal 10 after the operation target T is determined.
  • FIG. 5 shows an example in which the user moves the user terminal 10 to the left front side when viewed from the user.
  • V1 shown in FIG. 5 is a displacement vector of the user terminal 10 (that is, a vector indicating the movement direction and the movement amount of the user terminal 10).
  • the displacement vector v1 is detected by, for example, the sensor 107 and transmitted to the object control unit 13. As a result, the object control unit 13 can detect the displacement vector v1.
  • step S4 the object control unit 13 moves the operation target T based on the detected displacement vector v1. That is, the object control unit 13 adjusts the position of the operation target T based on the displacement vector v1 in the augmented reality space (that is, the space having the same scale as the real space).
  • V2 shown in FIG. 5 is a displacement vector of the operation target T (that is, a vector indicating the movement direction and the movement amount of the operation target T).
  • the object control unit 13 moves the operation target T so that the displacement vector v1 and the displacement vector v2 are parallel to each other. That is, the object control unit 13 moves the operation target T in the same direction as the movement direction of the user terminal 10 in the real space.
  • the user can intuitively move the operation target T. That is, by moving the user terminal 10 in the real space, the operation target T can be smoothly moved not only in the two-dimensional directions of up, down, left, and right, but also in each of the three-dimensional directions including the depth (depth) direction. Is possible.
  • the user moves the user terminal 10 toward the left side when viewed from the user, so that the operation target T is in the same direction as the moving direction of the user terminal 10 (that is, the left front direction when viewed from the user). Is moving.
  • the bone connected to the operation target T in conjunction with the movement of the operation target T (the left hand of the character object 22), the bone connected to the operation target T (and other joints connected to the operation target T via the bone) are also I'm moving.
  • the movement direction and movement amount of the portion other than the operation target T are based on, for example, the positional relationship of the adjacent joints and the motion rules predetermined based on the rationality and consistency of the physical exercise. Can be calculated.
  • the positional relationship of the joints and the operation rules are included in, for example, the virtual object information regarding the character object 22.
  • the object control unit 13 determines the operation target T based on the detected movement amount of the user terminal 10 (that is, the magnitude of the displacement vector v1
  • the amount of movement may be determined.
  • the object control unit 13 may determine a value obtained by increasing the detected movement amount
  • the parameter a may be a coefficient larger than 1 multiplied by the movement amount
  • the object control unit 13 can determine the movement amount
  • of the operation target T is 5 cm.
  • the operability can be improved by increasing the movement amount of the operation target T larger than the actual movement amount of the user terminal 10.
  • Such an amplification operation in which the movement amount of the operation target T is larger than the actual movement amount of the user terminal 10 is effective, for example, when it is desired to change the position of the operation target T relatively large. For example, when it is desired to move the operation target T by 1 m, the user can move the operation target T only by moving the user terminal 10 by a shorter distance (20 cm).
  • the object control unit 13 may determine a value obtained by reducing the detected movement amount
  • the parameter a is not limited to the coefficient multiplied by the actual movement amount
  • the value of the parameter a may be a fixed value predetermined in the virtual object operation program P1 or a variable value that can be changed by a user setting or the like.
  • the parameter a is a variable value, the user can adjust the parameter a according to the usage scene. For example, as described above, it is possible to set the parameter a large when the operation target T is to be moved relatively large, and to set the parameter a small when the position of the operation target T is to be finely adjusted. Become.
  • step S4 it is conceivable to rotate the operation target T in accordance with the rotation of the user terminal 10 by completely linking the movement of the operation target T with the movement of the user terminal 10.
  • a mechanism for rotating the operation target T by completely linking the movement of the operation target T with the movement of the user terminal 10 is adopted, a subtle change (rotation) in the posture of the user terminal 10 that the user does not intend is an operation. It may be reflected in the posture of the target T.
  • the operation target T is desired to be rotated 180 degrees from the front side to the back side when viewed from the user, the user needs to rotate the user terminal 10 by 180 degrees in the same manner.
  • the orientation of the user terminal 10 changes from a state in which the touch panel 106 faces the user side to a state in which the touch panel 106 faces the side opposite to the user side.
  • the user after performing the above rotation operation, the user cannot confirm the touch panel 106 (that is, immediately confirm the state of the operation target T in the augmented reality space via the touch panel 106). ..
  • the object control unit 13 moves the operation target T based on the displacement vector v1 without rotating the operation target T according to the change in the posture of the user terminal 10. That is, the object control unit 13 realizes the rotation operation of the operation target T by using a framework different from the movement operation of the operation target T (the operation based on the movement direction and the movement distance of the user terminal 10). This makes it possible to prevent the above-mentioned problems from occurring.
  • FIG. 6 is a flowchart showing an example of the processing procedure of the rotation operation of the character object using the user terminal 10.
  • 7 and 8 are diagrams for explaining an example of the rotation operation of the character object.
  • FIG. 9 is a diagram showing a rotation operation of a virtual object according to a comparative example.
  • Steps S11 and S12 are the same as the processes (steps S1 and S2 in FIG. 3) when the character object 22 is moved. That is, in step S11, the display control unit 11 causes the augmented reality space image 23 to be displayed on the touch panel 106. Then, in step S12, the determination unit 12 determines at least a part of the character object 22 as the operation target T. In the example of FIG. 7, the right-hand portion of the character object 22 (for example, the joint corresponding to the right hand) is determined as the operation target T by being tapped by the user.
  • the object control unit 13 receives rotation operation information.
  • the rotation operation information is information for instructing the rotation operation of the operation target T.
  • the rotation operation information includes information indicating the rotation direction of the operation target T.
  • the rotation direction of the operation target T is designated based on the Cartesian coordinate system CS (see FIG. 7) set with reference to the image pickup direction of the image pickup unit 105.
  • the orthogonal coordinate system CS is set with reference to the viewpoint seen from the image pickup unit 105 (that is, the angle of the augmented reality space image 23 displayed on the touch panel 106). That is, the Cartesian coordinate system CS changes according to the change of the viewpoint seen from the image pickup unit 105.
  • the Cartesian coordinate system CS consists of three axes (X-axis, Y-axis, and Z-axis) that are orthogonal to each other.
  • the X-axis (pitch) corresponds to the left-right direction with respect to the image pickup direction of the image pickup unit 105 (that is, the left-right direction of the augmented reality space image 23 displayed on the touch panel 106).
  • the Y-axis (roll) corresponds to the front-back direction (that is, the depth direction of the augmented reality space image 23 displayed on the touch panel 106) with respect to the image pickup direction of the image pickup unit 105.
  • the Z-axis (yaw) corresponds to the vertical direction (that is, the vertical direction of the augmented reality space image 23 displayed on the touch panel 106) with respect to the image pickup direction of the image pickup unit 105.
  • the object control unit 13 When the object control unit 13 receives the rotation operation information, the object control unit 13 rotates the operation target T based on the rotation operation information (steps S14 to S17).
  • the state (A) shows the state before the operation target T is rotated
  • the state (B) shows the state after the operation target T is rotated.
  • FIG. 8 shows an example of a rotation operation performed to change the posture of the operation target T from the state (A) of FIG. 7 to the state (B) of FIG. 7.
  • the posture of the operation target T is changed from the state (A) of FIG. 8 to the state of FIG.
  • a rotation operation for changing to (B) (hereinafter referred to as "first rotation operation") and a rotation operation for changing the posture of the operation target T from the state (B) of FIG. 8 to the state (C) of FIG.
  • second rotation operation a rotation operation for changing the posture of the operation target T from the state (C) of FIG. 8 to the state (D) of FIG. 8
  • third rotation operation a rotation operation for changing the posture of the operation target T from the state (C) of FIG. 8 to the state (D) of FIG. 8
  • the first rotation operation (state (A) ⁇ state (B) in FIG. 8) can be executed, for example, by a lateral swipe operation with respect to the touch panel 106.
  • a lateral swipe operation For example, when the object control unit 13 detects a swipe operation in which the user's finger in contact with the touch panel 106 slides in the left-right direction (horizontal direction) (step S14: swipe operation (horizontal direction)), the operation target T is set to the Z axis.
  • Rotate around step S15). That is, the object control unit 13 accepts the lateral swipe operation with respect to the touch panel 106 as rotation operation information indicating that the operation target T is rotated around the Z axis.
  • the object control unit 13 accepts a swipe operation to the right as rotation operation information indicating that the operation target T is rotated clockwise when the operation target T faces the positive direction (upward) of the Z axis, and moves to the left.
  • the swipe operation to is accepted as rotation operation information indicating that the operation target T is rotated counterclockwise when facing the positive direction of the Z axis.
  • the object control unit 13 accepts a swipe operation to the right and changes the posture of the operation target T to the state based on the swipe operation. Change to (B).
  • the fingertip of the right hand (operation target T) of the character object 22 bent inward at a substantially right angle faces the left side when viewed from the image pickup unit 105 (state (A)), and is viewed from the image pickup unit 105. It changes to a state facing the front side (state (B)).
  • the second rotation operation (state (B) ⁇ state (C) in FIG. 8) can be executed, for example, by a vertical swipe operation on the touch panel 106.
  • a vertical swipe operation for example, when the object control unit 13 detects a swipe operation in which the user's finger in contact with the touch panel 106 slides in the vertical direction (vertical direction) (step S14: swipe operation (vertical direction)), the operation target T is set to the X axis.
  • Rotate around (step S16) That is, the object control unit 13 accepts the vertical swipe operation with respect to the touch panel 106 as rotation operation information indicating that the operation target T is rotated around the X axis.
  • the object control unit 13 accepts an upward swipe operation as rotation operation information indicating that the operation target T is rotated counterclockwise when facing the X-axis positive direction (right direction), and lower.
  • the swipe operation in the direction is accepted as rotation operation information indicating that the operation target T is rotated clockwise when the operation target T faces the positive direction of the X axis.
  • the object control unit 13 accepts an upward swipe operation and changes the posture of the operation target T to the state based on the swipe operation. Change to (C).
  • the right hand (operation target T) of the character object 22 bent inward at a substantially right angle changes to a straight extended state (state (C)).
  • the third rotation operation (state (C) ⁇ state (D) in FIG. 8) can be executed, for example, by a multi-touch rotation operation on the touch panel 106.
  • the multi-touch rotation operation is an operation in which two different points on the touch panel 106 are pressed by two fingers (for example, a thumb and an index finger), and the two fingers are slid along the same rotation direction.
  • step S14 multi-touch rotation operation
  • step S17 the object control unit 13 rotates the operation target T around the Y axis
  • the object control unit 13 accepts the multi-touch rotation operation for the touch panel 106 as rotation operation information indicating that the operation target T is rotated around the Y axis.
  • the object control unit 13 rotates the operation target T in the same rotation direction as the rotation direction of the multi-touch rotation operation. That is, the object control unit 13 rotates the counterclockwise multi-touch rotation operation with respect to the touch panel 106 counterclockwise when the operation target T faces the Y-axis positive direction (direction toward the back side of the screen). It is accepted as rotation operation information indicating that the touch panel 106 is subjected to a clockwise multi-touch rotation operation as rotation operation information indicating that the operation target T is rotated clockwise when the operation target T faces the positive direction of the Y axis.
  • the object control unit 13 accepts a counterclockwise multi-touch rotation operation with respect to the touch panel 106 when the posture of the operation target T is the state (C), and is based on the multi-touch rotation operation. Then, the posture of the operation target T is changed to the state (D). As a result, the right hand (operation target T) of the character object 22 extending straight in the vertical direction changes to a state (state (D)) slightly tilted to the left.
  • the rotation amount (angle) of the operation target T in steps S15 to S17 can be determined, for example, by the slide amount (distance of the sliding section) on the touch panel 106, the slide speed, and the like. Further, the first rotation operation and the second rotation operation described above may be executed at the same time. For example, it is conceivable that the user swipes the touch panel 106 in an oblique direction (for example, a direction toward the upper left, a direction toward the lower left, a direction toward the upper right, a direction toward the lower right, etc.) by sliding the finger. Be done. Such a swipe operation can be decomposed into a component of a horizontal swipe operation and a component of a vertical swipe operation by vector decomposition. In this case, the object control unit 13 rotates the operation target T around the Z axis based on the component of the horizontal swipe operation, and rotates the operation target T around the X axis based on the component of the vertical swipe operation. You may let me.
  • the user terminal 10 is a terminal device that presents an augmented reality space to the user, and is an image pickup unit 105 that images the real space and a real space imaged by the image pickup unit 105.
  • the touch panel 106 display unit
  • the determination unit 12 that determines at least a part of the virtual object as the operation target T
  • the operation in the augmented reality space is provided.
  • the object control unit 13 detects the movement direction and movement amount of the user terminal 10 after the operation target T is determined (displacement vector v1 in the above embodiment), and the detected movement direction and movement amount of the user terminal 10.
  • the operation target T is moved based on.
  • the virtual object operation method includes a step of displaying an augmented reality space image 23 representing an augmented reality space including a real space and a virtual object captured by the imaging unit 105 on the touch panel 106, and a virtual object.
  • the virtual object operation program P1 includes a step of displaying an augmented reality space image 23 representing an augmented reality space including a real space and a virtual object captured by the imaging unit 105 on the touch panel 106, and a virtual object.
  • the step of determining at least a part of the object as the operation target T, the step of detecting the movement direction and the movement amount of the user terminal 10 after the operation target T is determined, and the detected user terminal 10 in the augmented reality space.
  • the user terminal 10 is made to execute the step of moving the operation target T based on the movement direction and the movement amount of the above.
  • the operation target T (at least a part of the virtual object) in the augmented reality space can be moved according to the movement direction and the movement amount of the user terminal 10 in the real space. That is, according to the above aspect, it is possible to provide the user with a mechanism capable of intuitively adjusting the position of the operation target T in the augmented reality space which is a three-dimensional space. More specifically, the user can intuitively adjust the position of the operation target T in the augmented reality space by moving the user terminal 10 in the direction in which the operation target T is desired to be moved.
  • the virtual object displayed in the augmented reality space may have a plurality of parts, and the determination unit 12 determines one part of the virtual object as the operation target T. You may. In this case, fine position adjustment can be performed for each part of the virtual object.
  • the object control unit 13 is set with reference to the image pickup direction of the image pickup unit 105, and is composed of three axes (X-axis, Y-axis, and Z-axis) used as rotation axes of the operation target T, respectively, in a Cartesian coordinate system CS (FIG. 7) may be accepted for rotation operation information including the rotation direction of the operation target T specified based on). Then, the object control unit 13 may rotate the operation target T based on the rotation operation information.
  • the Cartesian coordinate system CS that defines the three rotation axes of the operation target T is determined with reference to the image pickup direction of the image pickup unit 105, it is possible to intuitively perform the rotation operation of the operation target T. That is, as shown in FIG. 8, the user can rotate the operation target T in an intuitively easy-to-understand direction with reference to the direction in which the augmented reality space is viewed through the touch panel 106.
  • the Cartesian coordinate system CS1 that defines the three rotation axes (X-axis, Y-axis, and Z-axis) of the virtual object 30 sees the augmented real space through the image pickup direction of the image pickup unit 105 (that is, the touch panel 106). It is determined based on the posture of the virtual object 30 instead of the direction).
  • the Cartesian coordinate system CS1 has an X-axis perpendicular to the first surface 31 of the cubic virtual object 30, a Y-axis perpendicular to the second surface 32, and a Z-axis perpendicular to the third surface 33. Consists of.
  • the first surface 31, the second surface 32, and the third surface 33 are adjacent to each other.
  • the state (B) in FIG. 9 shows the state after rotating the virtual object 30 around the X axis from the state (A) in FIG. At this time, as the virtual object 30 rotates around the X axis, the directions of the axes (Y axis and Z axis) other than the X axis constituting the Cartesian coordinate system CS1 change.
  • the state (C) of FIG. 9 shows the state after the virtual object 30 is further rotated about the Y axis from the state (B) of FIG. At this time, the directions of the axes (X-axis and Z-axis) other than the Y-axis constituting the Cartesian coordinate system CS1 change.
  • the orthogonal coordinate system CS1 when the orthogonal coordinate system CS1 is determined based on the posture of the virtual object 30, even if the imaging direction of the imaging unit 105 does not change, the orthogonal coordinates correspond to the change in the posture of the virtual object 30.
  • the orientation of the system CS1 changes. Therefore, even if the same type of rotation operation (for example, an operation of rotating the virtual object 30 around the Z axis) is performed, the rotation direction of the virtual object 30 as seen by the user depends on the posture of the virtual object 30 at that time. Change. For example, when the virtual object 30 is rotated about the Z axis in the state (A) of FIG. 9, the rotation direction seen by the user is the virtual object in the state (B) or the state (C) of FIG.
  • the Cartesian coordinate system CS (see FIG. 8) used for the rotation operation of the operation target T in the above embodiment is based on the image pickup direction of the image pickup unit 105 (that is, the direction in which the augmented reality space is viewed through the touch panel 106). It is defined and does not change depending on the posture of the operation target T. Therefore, according to the above embodiment, the user can always rotate the operation target T with the same operation feeling regardless of the posture of the operation target T.
  • some of the functions of the user terminal 10 described above may be executed by another computer device capable of communicating with the user terminal 10. That is, the above-mentioned function may be realized by the user terminal 10 causing another computer device to execute a part of the above-mentioned function and receiving the processing result from the other computer device.
  • the operations that can be performed on the operation target T determined by the determination unit 12 are not limited to the above-mentioned movement operation and rotation operation.
  • the operation possible for the operation target T may include an operation of selecting the shape of the operation target T from a plurality of pre-registered shapes.
  • the operations that can be performed on the operation target T are such that the shape of the hand portion is the state in which the hand is open, the state in which the hand is clasped, and the peace sign. It may include an operation of selecting from a plurality of pre-registered shapes such as a state in which the shape is closed.
  • a part (part) of the character object 22 is determined as the operation target T, but the operation target T may be the entire character object 22.
  • the entire character object 22 may be determined as the operation target T.
  • a virtual object other than the character object 22 for example, the above-mentioned inanimate object, an object imitating a cursor, etc. may be determined as the operation target T.
  • two or more virtual objects may be arranged in the augmented reality space.
  • a virtual object imitating an apple hereinafter, simply referred to as “apple”
  • a character object 22 are arranged in an augmented reality space.
  • the apple is determined as the operation target T, and a movement operation such as placing the apple on the head of the character object 22 may be executed.
  • the object control unit 13 the user can smoothly adjust the position of the apple by moving the user terminal 10, so that the movement operation as described above can be performed intuitively and easily. be able to.
  • the part of the virtual object (character object 22) determined as the operation target T is not limited to the part of the hand exemplified in the above embodiment.
  • parts other than the hands such as feet, elbows, knees, and hips (for example, parts corresponding to joints) may be determined as the operation target T.
  • parts other than joints such as eyes, mouth, and nose may be determined as the operation target T.
  • a guide (for example, a circular sign surrounding the portion) may be displayed on a portion of the virtual object that can be selected as the operation target T.
  • the guide may include information indicating the posture of the operation target T (for example, the front direction, the lateral direction, and the vertical direction preset in the operation target T).
  • the guide of the part selected as the operation target T has a different display mode (for example, a different color) from the guide of the part not selected as the operation target T so that the part selected as the operation target T can be known. It may be displayed as.
  • processing procedure of the method executed by the user terminal 10 is not limited to the example in the above embodiment (for example, the flowcharts of FIGS. 3 and 6).
  • some of the steps (processes) described above may be omitted, or the steps may be executed in a different order.
  • any two or more steps among the above-mentioned steps may be combined, or a part of the steps may be modified or deleted.
  • other steps may be performed in addition to each of the above steps.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

一実施形態に係る端末装置は、拡張現実空間をユーザに提示する端末装置であって、現実空間を撮像する撮像部と、撮像部により撮像された現実空間と仮想オブジェクトとを含む拡張現実空間を表す拡張現実空間画像を表示する表示部と、仮想オブジェクトの少なくとも一部を操作対象として決定する決定部と、拡張現実空間における操作対象の動作を制御するオブジェクト制御部と、を備え、オブジェクト制御部は、操作対象が決定された後の端末装置の移動方向及び移動量を検知し、検知された端末装置の移動方向及び移動量に基づいて操作対象を移動させる。

Description

端末装置、仮想オブジェクト操作方法、及び仮想オブジェクト操作プログラム
 本開示の一側面は、端末装置、仮想オブジェクト操作方法、及び仮想オブジェクト操作プログラムに関する。
 現実空間に仮想オブジェクトを重畳配置した拡張現実空間をユーザに提供する仕組みが知られている。例えば、特許文献1には、仮想オブジェクト(3Dオブジェクト)の構成要素毎のパラメータを調整するためのインジケータを画面上に表示し、インジケータを介したユーザからの指示を受け付けることにより、対応する構成要素の位置を調整する仕組みが開示されている。特許文献1には、具体例として、仮想オブジェクトの鼻に対応するインジケータを左右に動かすことで、仮想オブジェクトの鼻の位置を上下に調整する仕組みが例示されている。
特開2020-46863号公報
 特許文献1に開示された仕組みによれば、インジケータを介したユーザ操作によって仮想オブジェクトの構成要素の位置を調整することができる。しかし、画面上に表示されるインジケータを用いる仕組みでは、2次元的な操作(例えば、上述したようにインジケータを左右にスライドさせる操作)を行うことしかできないため、3次元空間における上記構成要素の位置調整を直感的に行うことができない。
 そこで、本開示の一側面は、拡張現実空間における仮想オブジェクトの位置調整を直感的に行うことが可能な端末装置、仮想オブジェクト操作方法、及び仮想オブジェクト操作プログラムを提供することを目的とする。
 本開示の一側面に係る端末装置は、拡張現実空間をユーザに提示する端末装置であって、現実空間を撮像する撮像部と、撮像部により撮像された現実空間と仮想オブジェクトとを含む拡張現実空間を表す拡張現実空間画像を表示する表示部と、仮想オブジェクトの少なくとも一部を操作対象として決定する決定部と、拡張現実空間における操作対象の動作を制御するオブジェクト制御部と、を備え、オブジェクト制御部は、操作対象が決定された後の端末装置の移動方向及び移動量を検知し、検知された端末装置の移動方向及び移動量に基づいて操作対象を移動させる。
 本開示の一側面によれば、拡張現実空間における仮想オブジェクトの位置調整を直感的に行うことができる。
実施形態に係る端末装置であるユーザ端末のハードウェア構成の一例を示す図である。 図1のユーザ端末の機能構成の一例を示す図である。 図1のユーザ端末を用いたキャラクタオブジェクトの移動操作の処理手順の一例を示すフローチャートである。 キャラクタオブジェクトの移動操作の一例を説明するための図である。 キャラクタオブジェクトの移動操作の一例を説明するための図である。 図1のユーザ端末を用いたキャラクタオブジェクトの回転操作の処理手順の一例を示すフローチャートである。 キャラクタオブジェクトの回転操作の一例を説明するための図である。 キャラクタオブジェクトの回転操作の一例を説明するための図である。 比較例に係る仮想オブジェクトの回転操作を示す図である。
 以下、添付図面を参照しながら本開示での実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
[ユーザ端末の構成]
 図1は、実施形態に係る端末装置であるユーザ端末10のハードウェア構成の一例を示す図である。ユーザ端末10は、ユーザによって用いられるコンピュータである。本実施形態では、ユーザ端末10は、主に、現実空間を撮影する撮影機能と、撮影された現実空間に仮想オブジェクトを重畳配置した拡張現実空間を表す拡張現実空間画像を表示する表示機能と、を有する。
 仮想オブジェクトは、実際には現実空間には存在しないが、現実空間に重畳して配置されることで、あたかも現実空間上に存在するかのような印象をユーザに与えるオブジェクト全般を指す。仮想オブジェクトの例としては、人や動物等の生物を模したキャラクタオブジェクト(アバター)、花瓶等の無生物を模したオブジェクト、拡張現実空間に対するユーザ操作に供するオブジェクト(例えば、拡張現実空間上の位置を指定するためのカーソル等を模したオブジェクト)等が挙げられる。
 ユーザ端末10は、上述した撮影機能と表示機能とを兼ね備えた端末装置であればよく、その種類及び構成は限定されない。ユーザ端末10は、例えば、高機能携帯電話機(スマートフォン)、タブレット端末、ウェアラブル端末(例えば、ヘッドマウントディスプレイ(HMD)、スマートグラス等)等である。
 一例として、ユーザ端末10は、ハードウェア構成要素として、プロセッサ101、主記憶部102、補助記憶部103、通信部104、撮像部105、タッチパネル106(表示部)、及びセンサ107を備える。
 プロセッサ101は、オペレーティングシステム及びアプリケーションプログラムを実行する演算装置である。プロセッサ101は、例えばCPU又はGPUであり得るが、プロセッサ101の種類はこれらに限定されない。
 主記憶部102は、ユーザ端末10を実現させるためのプログラム、プロセッサ101から出力された演算結果等を記憶する装置である。主記憶部102は、例えばROM又はRAM等により構成される。
 補助記憶部103は、一般に主記憶部102よりも大量のデータを記憶することが可能な装置である。補助記憶部103は、例えばハードディスク、フラッシュメモリ等の不揮発性記憶媒体によって構成される。補助記憶部103は、コンピュータをユーザ端末10として機能させるための仮想オブジェクト操作プログラムP1と各種のデータとを記憶する。例えば、補助記憶部103は、仮想オブジェクトに関するデータを記憶してもよい。
 通信部104は、通信ネットワークを介して他のコンピュータとの間でデータ通信を実行する装置である。通信部104は、例えばネットワークカード又は無線通信モジュールにより構成される。例えば、通信部104は、インターネット等の通信ネットワークを介して、外部のサーバ装置から仮想オブジェクトに関するデータをダウンロードし、ダウンロードしたデータを補助記憶部103に記憶させてもよい。
 撮像部105は、現実空間を撮像する装置である。撮像部105は、現実世界を写した画像を撮影する機能を有する。撮像部105は、例えばカメラである。撮像部105は、動画像(映像)を撮影してもよいし、静止画(写真)を撮影してもよい。動画像を撮影する場合には、撮像部105は、映像信号を所与のフレームレートに基づいて処理することにより、時系列に並ぶ一連のフレーム画像を動画像として取得する。
 タッチパネル106は、ユーザの操作を受け付ける入力インタフェースとして機能する。例えば、タッチパネル106は、ユーザのタッチ操作(例えば、タップ操作、スワイプ操作、マルチタッチ操作等)を受け付ける。タッチパネル106は、ユーザ端末10で処理されたデータを出力する出力インタフェースとしても機能する。タッチパネル106は、撮像部105により撮像された現実空間と仮想オブジェクトとを含む拡張現実空間を表す拡張現実空間画像を表示する機能を有する。すなわち、ユーザ端末10は、タッチパネル106に拡張現実空間画像を表示させることで、拡張現実空間をユーザに提示する。
 センサ107は、ユーザ端末10の移動方向及び移動量(変位量)を検知するためのセンサである。センサ107は、例えば加速度センサである。ただし、センサ107の種類は上記に限定されない。例えば、センサ107は、地磁気センサ、ジャイロセンサ等によって構成されてもよいし、複数の異なる種類のセンサを組み合わせたセンサ群によって構成されてもよい。
 ユーザ端末10の各機能要素(例えば、後述する表示制御部11、決定部12、及びオブジェクト制御部13)は、プロセッサ101又は主記憶部102に仮想オブジェクト操作プログラムP1を読み込ませ、当該仮想オブジェクト操作プログラムP1を実行させることにより実現される。仮想オブジェクト操作プログラムP1は、ユーザ端末10の各機能要素を実現するためのコードを含む。プロセッサ101は、仮想オブジェクト操作プログラムP1に従って、通信部104、撮像部105、タッチパネル106、又はセンサ107を動作させ、主記憶部102又は補助記憶部103におけるデータの読み出し及び書き込みを行う。この処理により、ユーザ端末10の各機能要素が実現される。
 仮想オブジェクト操作プログラムP1は、CD-ROM、DVD-ROM、半導体メモリ等の有形の記録媒体に固定的に記録された上で提供されてもよい。或いは、仮想オブジェクト操作プログラムP1は、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。
[ユーザ端末の機能構成]
 図2は、ユーザ端末10の機能構成の一例を示す図である。ユーザ端末10は、機能要素として、表示制御部11、決定部12、オブジェクト制御部13、及び仮想オブジェクト情報記憶部14を備える。仮想オブジェクト情報記憶部14は、仮想オブジェクトに関する仮想オブジェクト情報を記憶する。仮想オブジェクト情報記憶部14は、例えば、上述した補助記憶部103によって構成され得る。
 仮想オブジェクト情報は、現実空間上に仮想オブジェクトを重畳配置するための情報を含んでいる。例えば、仮想オブジェクト情報は、拡張現実空間上における仮想オブジェクトの位置及び姿勢(角度)を特定するための配置情報を含んでいる。仮想オブジェクトが、複数の部位(例えば、後述するジョイント等)を含んでおり、部位毎に位置調整を行うことが可能な場合には、上記配置情報は、部位毎の位置及び姿勢を特定するための情報を含み得る。仮想オブジェクトの各部位の位置を特定する情報は、例えば、撮像部105によって撮像及び認識された現実空間に設定される3次元座標空間の座標によって表され得る。
 仮想オブジェクト情報は、仮想オブジェクトの仕様を規定する情報を含み得る。仮想オブジェクトの仕様とは、仮想オブジェクトを制御するための取り決め又は方法のことをいう。例えば、仮想オブジェクトの仕様は、仮想オブジェクトの構成(例えば形状及び寸法)、動作、及び音声のうちの少なくとも一つを含む。仮想オブジェクトのモデルデータのデータ構造は限定されず、任意に設計されてよい。例えば、キャラクタオブジェクトのモデルデータは、キャラクタオブジェクトを構成する複数のジョイント及び複数のボーンに関する情報と、キャラクタオブジェクトの外観デザインを示すグラフィックデータと、キャラクタオブジェクトを一意に特定するための識別子であるIDと、を含んでもよい。ジョイント及びボーンに関する情報の例として、個々のジョイントの3次元座標と、隣り合うジョイントの組合せ(すなわちボーン)とが挙げられる。ただし、当該情報の構成は、これらに限定されず、任意に設計されてよい。
 表示制御部11は、拡張現実空間画像をタッチパネル106に表示させる。例えば、表示制御部11は、撮像部105により撮像された現実空間を表す現実空間画像を継続的に取得すると共に、仮想オブジェクト情報記憶部14に記憶された仮想オブジェクト情報を取得(参照)する。そして、表示制御部11は、仮想オブジェクト情報に含まれる配置情報に基づいて、仮想オブジェクトを現実空間画像上に重畳配置する。これにより、拡張現実空間画像が生成される。表示制御部11は、このようにして生成された拡張現実空間画像をタッチパネル106に表示させる。
 決定部12は、仮想オブジェクトの少なくとも一部を操作対象として決定する。仮想オブジェクトが複数の部位を有しており、部位毎に操作することが可能に構成されている場合には、各部位が操作対象として決定され得る。決定部12は、例えば、タッチパネル106に表示された仮想オブジェクトの1つの部位をユーザがタッチする操作(例えば、タップ操作、長押し操作等)を受け付け、ユーザによりタッチされた部位を操作対象として決定してもよい。操作対象に対して可能な操作は、後述する移動操作及び回転操作を含んでいる。
 オブジェクト制御部13は、拡張現実空間における操作対象の動作を制御する。オブジェクト制御部13は、ユーザ端末10の移動に応じて操作対象を移動させる移動操作と、タッチパネル106に対するユーザ操作(スワイプ操作等)に応じて操作対象を回転させる回転操作と、を実行可能に構成されている。仮想オブジェクトの移動操作又は回転操作は、例えば以下のような仕組みによって、タッチパネル106上の拡張現実空間画像に反映される。例えば、オブジェクト制御部13は、仮想オブジェクト情報記憶部14に記憶された操作対象に関する仮想オブジェクト情報を、移動操作又は回転操作が反映された操作対象の状態(位置、姿勢等)を表す値に更新する。その後、表示制御部11が、更新後の仮想オブジェクト情報に基づいて、拡張現実空間画像における操作対象の状態を更新する。これにより、移動操作又は回転操作が反映された拡張現実空間画像が、タッチパネル106に表示される。
[キャラクタオブジェクトの移動操作]
 図3~図5を参照して、拡張現実空間におけるキャラクタオブジェクト(仮想オブジェクト)の移動操作を行う場合のユーザ端末10の動作の一例について説明する。図3は、ユーザ端末10を用いたキャラクタオブジェクトの移動操作の処理手順の一例を示すフローチャートである。図4及び図5は、キャラクタオブジェクトの移動操作の一例を説明するための図である。図4は、キャラクタオブジェクトの移動前の状態を示す図である。図5は、キャラクタオブジェクトの移動後の状態を示す図である。
 ステップS1において、表示制御部11は、拡張現実空間画像をタッチパネル106に表示させる。具体的には、表示制御部11は、仮想オブジェクト情報記憶部14に記憶された仮想オブジェクト情報に基づいて、キャラクタオブジェクトを撮像部105により取得された現実空間画像上に重畳配置することにより、拡張現実空間画像を生成する。そして、表示制御部11は、当該拡張現実空間画像をタッチパネル106に表示させる。これにより、図4に示されるように、現実空間画像21にキャラクタオブジェクト22を重畳配置した拡張現実空間画像23が、タッチパネル106上に表示される。
 ステップS2において、決定部12は、キャラクタオブジェクト22の少なくとも一部を操作対象として決定する。図4の例では、キャラクタオブジェクト22の左手の部分(例えば、左手に対応するジョイント)が、ユーザによってタップされることによって、操作対象Tとして決定されている。
 ステップS3において、オブジェクト制御部13は、操作対象Tが決定された後のユーザ端末10の移動方向及び移動量を検知する。図5は、ユーザがユーザ端末10をユーザから見て左手前側へと移動させる例を示している。図5に示されるv1は、ユーザ端末10の変位ベクトル(すなわち、ユーザ端末10の移動方向及び移動量を示すベクトル)である。変位ベクトルv1は、例えば、センサ107によって検知され、オブジェクト制御部13へと送信される。これにより、オブジェクト制御部13は、変位ベクトルv1を検知することができる。
 ステップS4において、オブジェクト制御部13は、検知された変位ベクトルv1に基づいて、操作対象Tを移動させる。すなわち、オブジェクト制御部13は、拡張現実空間(すなわち、現実空間と同じスケールの空間)において、変位ベクトルv1に基づいて操作対象Tの位置を調整する。図5に示されるv2は、操作対象Tの変位ベクトル(すなわち、操作対象Tの移動方向及び移動量を示すベクトル)である。オブジェクト制御部13は、変位ベクトルv1と変位ベクトルv2とが平行となるように、操作対象Tを移動させる。つまり、オブジェクト制御部13は、現実空間におけるユーザ端末10の移動方向と同一の方向に操作対象Tを移動させる。これにより、ユーザは、操作対象Tを直感的に移動させることが可能となる。すなわち、ユーザ端末10を現実空間上で移動させることによって、上下左右の2次元の方向だけでなく奥行(深さ)方向も含めた3次元の各方向に、操作対象Tをスムーズに移動させることが可能となる。
 図5の例では、ユーザがユーザ端末10をユーザから見て左手前方向へと移動させることにより、ユーザ端末10の移動方向(すなわち、ユーザから見た左手前方向)と同じ方向に操作対象Tが移動している。なお、この例では、操作対象T(キャラクタオブジェクト22の左手)の移動と連動して、操作対象Tと接続されたボーン(及び当該ボーンを介して操作対象Tと接続された他のジョイント)も移動している。このような操作対象T以外の部分の移動方向及び移動量は、例えば、隣り合うジョイントの位置関係と、身体運動の合理性及び整合性等に基づいて予め定められた動作ルールと、に基づいて算出され得る。ジョイントの位置関係及び動作ルールは、例えば、キャラクタオブジェクト22に関する仮想オブジェクト情報に含まれている。
 上述したステップS4では、オブジェクト制御部13は、検知されたユーザ端末10の移動量(すなわち、変位ベクトルv1の大きさ|v1|)と予め設定されたパラメータaとに基づいて、操作対象Tの移動量を決定してもよい。例えば、オブジェクト制御部13は、検知されたユーザ端末10の移動量|v1|をパラメータaに基づいて増大させた値を、操作対象Tの移動量|v2|として決定してもよい。例えば、パラメータaは、ユーザ端末10の移動量|v1|に掛けられる1よりも大きい係数であってもよい。この場合、オブジェクト制御部13は、下記式(1)に基づいて、操作対象Tの移動量|v2|を決定することができる。
|v2|=|v1|×a …(1)
 例えば、パラメータaが「5」である場合、ユーザ端末10の移動量|v1|が1cmである場合、操作対象Tの移動量|v2|は5cmとなる。このように、ユーザ端末10の実際の移動量よりも操作対象Tの移動量を大きくすることにより、操作性を向上させることができる。このようにユーザ端末10の実際の移動量よりも操作対象Tの移動量を大きくする増幅操作は、例えば、操作対象Tの位置を比較的大きく変化させたい場合に有効である。例えば、操作対象Tを1m移動させたい場合、ユーザは、それよりも短い距離(20cm)だけユーザ端末10を移動させるだけで、操作対象Tの移動操作を行うことが可能となる。
 或いは、オブジェクト制御部13は、検知されたユーザ端末10の移動量|v1|をパラメータaに基づいて減少させた値を、操作対象Tの移動量|v2|として決定してもよい。例えば、オブジェクト制御部13は、1よりも小さい値に設定されたパラメータaを1と上記式(1)とを用いることにより、ユーザ端末10の実際の移動量よりも操作対象Tの移動量を小さくすることができる。このような処理によれば、操作対象Tの細かい位置調整を行う場合の操作性を向上させることができる。すなわち、ユーザ端末10の移動に応じた操作対象Tの感度(移動量)をあえて小さくすることで、操作対象Tの位置調整を精度良く行うことが可能となる。
 なお、パラメータaは、上記式(1)のようにユーザ端末10の実際の移動量|v1|に乗算される係数に限られない。また、パラメータaの値は、仮想オブジェクト操作プログラムP1において予め定められた固定値であってもよいし、ユーザ設定等によって変更可能な可変値であってもよい。パラメータaが可変値である場合、ユーザは、利用シーンに応じて、パラメータaを調整することができる。例えば、上述したように操作対象Tを比較的大きく移動させたい場合にはパラメータaを大きく設定し、操作対象Tの位置を細かく調整したい場合にはパラメータaを小さく設定する、といったことが可能となる。
 ここで、ステップS4においては、操作対象Tの動きをユーザ端末10の動きと完全に連動させることで、ユーザ端末10の回転に応じて操作対象Tを回転させることも考えられる。しかし、操作対象Tの動きをユーザ端末10の動きと完全に連動させることで操作対象Tを回転させる仕組みを採用した場合、ユーザが意図しないユーザ端末10の微妙な姿勢の変化(回転)が操作対象Tの姿勢に反映されてしまう可能性がある。また、操作対象Tをユーザから見て手前側から奥側へと180度回転させたい場合、ユーザは、ユーザ端末10を同様に180度回転させる必要がある。この場合、ユーザ端末10の向きが、タッチパネル106がユーザ側を向いている状態からタッチパネル106がユーザ側とは反対側を向いている状態へと変化してしまう。その結果、上記の回転操作を行った後に、ユーザは、タッチパネル106を確認すること(すなわち、タッチパネル106を介して、拡張現実空間における操作対象Tの状態を直ちに確認すること)ができなくなってしまう。
 そこで、本実施形態では、オブジェクト制御部13は、ユーザ端末10の姿勢の変化に応じて操作対象Tを回転させることなく、変位ベクトルv1に基づいて操作対象Tを移動させる。すなわち、オブジェクト制御部13は、操作対象Tの回転操作については、操作対象Tの移動操作(ユーザ端末10の移動方向及び移動距離に基づく操作)とは異なる枠組みを用いて実現する。これにより、上述したような問題の発生を防止することができる。
[キャラクタオブジェクトの回転操作]
 図6~図9を参照して、拡張現実空間におけるキャラクタオブジェクト(仮想オブジェクト)の回転操作を行う場合のユーザ端末10の動作の一例について説明する。図6は、ユーザ端末10を用いたキャラクタオブジェクトの回転操作の処理手順の一例を示すフローチャートである。図7及び図8は、キャラクタオブジェクトの回転操作の一例を説明するための図である。図9は、比較例に係る仮想オブジェクトの回転操作を示す図である。
 ステップS11及びS12は、キャラクタオブジェクト22の移動操作を行う場合の処理(図3のステップS1及びS2)と同様である。すなわち、ステップS11において、表示制御部11は、拡張現実空間画像23をタッチパネル106に表示させる。そして、ステップS12において、決定部12は、キャラクタオブジェクト22の少なくとも一部を操作対象Tとして決定する。図7の例では、キャラクタオブジェクト22の右手の部分(例えば、右手に対応するジョイント)が、ユーザによってタップされることによって、操作対象Tとして決定されている。
 ステップS13において、オブジェクト制御部13は、回転操作情報を受け付ける。回転操作情報は、操作対象Tの回転操作を指示する情報である。回転操作情報は、操作対象Tの回転方向を示す情報を含んでいる。操作対象Tの回転方向は、撮像部105の撮像方向を基準として設定された直交座標系CS(図7参照)に基づいて指定される。言い換えれば、直交座標系CSは、撮像部105から見た視点(すなわち、タッチパネル106に表示される拡張現実空間画像23のアングル)を基準として設定される。つまり、直交座標系CSは、撮像部105から見た視点の変化に応じて変化する。
 図7の例では、直交座標系CSは、互いに直交する3つの軸(X軸、Y軸、及びZ軸)からなる。X軸(ピッチ)は、撮像部105の撮像方向を基準とした左右方向(すなわち、タッチパネル106に表示される拡張現実空間画像23の左右方向)に対応している。Y軸(ロール)は、撮像部105の撮像方向を基準とした前後方向(すなわち、タッチパネル106に表示される拡張現実空間画像23の奥行方向)に対応している。Z軸(ヨー)は、撮像部105の撮像方向を基準とした上下方向(すなわち、タッチパネル106に表示される拡張現実空間画像23の上下方向)に対応している。
 オブジェクト制御部13は、回転操作情報を受け付けると、当該回転操作情報に基づいて、操作対象Tを回転させる(ステップS14~S17)。図7において、状態(A)は操作対象Tを回転させる前の状態を示しており、状態(B)は操作対象Tを回転させた後の状態を示している。図8は、操作対象Tの姿勢を図7の状態(A)から図7の状態(B)へと変更するために行われる回転操作の一例を示している。この例では、操作対象Tの姿勢を図7の状態(A)から図7の状態(B)へと変更するために、操作対象Tの姿勢を図8の状態(A)から図8の状態(B)へと変化させる回転操作(以下「第1回転操作」という。)と、操作対象Tの姿勢を図8の状態(B)から図8の状態(C)へと変化させる回転操作(以下「第2回転操作」という。)と、操作対象Tの姿勢を図8の状態(C)から図8の状態(D)へと変化させる回転操作(以下「第3回転操作」という。)と、が実行されている。
 第1回転操作(図8の状態(A)→状態(B))は、例えば、タッチパネル106に対する横方向のスワイプ操作によって実行され得る。例えば、オブジェクト制御部13は、タッチパネル106に接触したユーザの指が左右方向(横方向)にスライドするスワイプ操作を検知した場合(ステップS14:スワイプ操作(横方向))、操作対象TをZ軸周りに回転させる(ステップS15)。すなわち、オブジェクト制御部13は、タッチパネル106に対する横方向のスワイプ操作を、操作対象TをZ軸周りに回転させることを示す回転操作情報として受け付ける。一例として、オブジェクト制御部13は、右方向へのスワイプ操作を、操作対象TをZ軸正方向(上方向)を向いた場合の時計回りに回転させることを示す回転操作情報として受け付け、左方向へのスワイプ操作を、操作対象TをZ軸正方向を向いた場合の反時計回りに回転させることを示す回転操作情報として受け付ける。
 図8の例では、オブジェクト制御部13は、操作対象Tの姿勢が状態(A)であるときに、右方向へのスワイプ操作を受け付け、当該スワイプ操作に基づいて、操作対象Tの姿勢を状態(B)に変化させる。これにより、略直角に内側に曲げられたキャラクタオブジェクト22の右手(操作対象T)の指先が、撮像部105から見て左側を向いた状態(状態(A))から、撮像部105から見て手前側を向いた状態(状態(B))へと変化する。
 第2回転操作(図8の状態(B)→状態(C))は、例えば、タッチパネル106に対する縦方向のスワイプ操作によって実行され得る。例えば、オブジェクト制御部13は、タッチパネル106に接触したユーザの指が上下方向(縦方向)にスライドするスワイプ操作を検知した場合(ステップS14:スワイプ操作(縦方向))、操作対象TをX軸周りに回転させる(ステップS16)。すなわち、オブジェクト制御部13は、タッチパネル106に対する縦方向のスワイプ操作を、操作対象TをX軸周りに回転させることを示す回転操作情報として受け付ける。一例として、オブジェクト制御部13は、上方向へのスワイプ操作を、操作対象TをX軸正方向(右方向)を向いた場合の反時計回りに回転させることを示す回転操作情報として受け付け、下方向へのスワイプ操作を、操作対象TをX軸正方向を向いた場合の時計回りに回転させることを示す回転操作情報として受け付ける。
 図8の例では、オブジェクト制御部13は、操作対象Tの姿勢が状態(B)であるときに、上方向へのスワイプ操作を受け付け、当該スワイプ操作に基づいて、操作対象Tの姿勢を状態(C)に変化させる。これにより、略直角に内側に曲げられたキャラクタオブジェクト22の右手(操作対象T)が、まっすぐに伸びた状態(状態(C))へと変化する。
 第3回転操作(図8の状態(C)→状態(D))は、例えば、タッチパネル106に対するマルチタッチ回転操作によって実行され得る。マルチタッチ回転操作は、タッチパネル106上の異なる2点を2つの指(例えば親指と人差し指)で押さえ、当該2つの指を同一の回転方向に沿ってスライドさせる操作である。例えば、オブジェクト制御部13は、タッチパネル106に対するマルチタッチ回転操作を検知した場合(ステップS14:マルチタッチ回転操作)、操作対象TをY軸周りに回転させる(ステップS17)。すなわち、オブジェクト制御部13は、タッチパネル106に対するマルチタッチ回転操作を、操作対象TをY軸周りに回転させることを示す回転操作情報として受け付ける。一例として、オブジェクト制御部13は、マルチタッチ回転操作の回転方向と同じ回転方向に、操作対象Tを回転させる。すなわち、オブジェクト制御部13は、タッチパネル106に対して反時計回りのマルチタッチ回転操作を、操作対象TをY軸正方向(画面奥側に向かう方向)を向いた場合の反時計回りに回転させることを示す回転操作情報として受け付け、タッチパネル106に対して時計回りのマルチタッチ回転操作を、操作対象TをY軸正方向を向いた場合の時計回りに回転させることを示す回転操作情報として受け付ける。
 図8の例では、オブジェクト制御部13は、操作対象Tの姿勢が状態(C)であるときに、タッチパネル106に対して反時計回りのマルチタッチ回転操作を受け付け、当該マルチタッチ回転操作に基づいて、操作対象Tの姿勢を状態(D)に変化させる。これにより、鉛直方向にまっすぐに伸びたキャラクタオブジェクト22の右手(操作対象T)が、左側に少し傾いた状態(状態(D))へと変化する。
 ステップS15~S17における操作対象Tの回転量(角度)は、例えば、タッチパネル106上におけるスライド量(スライドされる区間の距離)、スライド速度等によって決定され得る。また、上述した第1回転操作及び第2回転操作は、同時に実行されてもよい。例えば、ユーザが、タッチパネル106に対して、斜め方向(例えば、左上に向かう方向、左下に向かう方向、右上に向かう方向、右下に向かう方向等)に指をスライドさせるスワイプ操作を行うことも考えられる。このようなスワイプ操作は、ベクトル分解によって、横方向のスワイプ操作の成分と、縦方向のスワイプ操作の成分と、に分解することができる。この場合、オブジェクト制御部13は、横方向のスワイプ操作の成分に基づいて操作対象TをZ軸周りに回転させると共に、縦方向のスワイプ操作の成分に基づいて操作対象TをX軸周りに回転させてもよい。
[効果]
 以上説明したように、本開示の一側面に係るユーザ端末10は、拡張現実空間をユーザに提示する端末装置であり、現実空間を撮像する撮像部105と、撮像部105により撮像された現実空間と仮想オブジェクトとを含む拡張現実空間を表す拡張現実空間画像23を表示するタッチパネル106(表示部)と、仮想オブジェクトの少なくとも一部を操作対象Tとして決定する決定部12と、拡張現実空間における操作対象Tの動作を制御するオブジェクト制御部13と、を備える。オブジェクト制御部13は、操作対象Tが決定された後のユーザ端末10の移動方向及び移動量(上記実施形態では、変位ベクトルv1)を検知し、検知されたユーザ端末10の移動方向及び移動量に基づいて操作対象Tを移動させる。
 本開示の一側面に係る仮想オブジェクト操作方法は、撮像部105によって撮像された現実空間と仮想オブジェクトとを含む拡張現実空間を表す拡張現実空間画像23を、タッチパネル106に表示するステップと、仮想オブジェクトの少なくとも一部を操作対象Tとして決定するステップと、操作対象Tが決定された後のユーザ端末10の移動方向及び移動量を検知するステップと、拡張現実空間において、検知されたユーザ端末10の移動方向及び移動量に基づいて操作対象Tを移動させるステップと、を含む。
 本開示の一側面に係る仮想オブジェクト操作プログラムP1は、撮像部105によって撮像された現実空間と仮想オブジェクトとを含む拡張現実空間を表す拡張現実空間画像23を、タッチパネル106に表示するステップと、仮想オブジェクトの少なくとも一部を操作対象Tとして決定するステップと、操作対象Tが決定された後のユーザ端末10の移動方向及び移動量を検知するステップと、拡張現実空間において、検知されたユーザ端末10の移動方向及び移動量に基づいて操作対象Tを移動させるステップと、をユーザ端末10に実行させる。
 このような側面においては、現実空間におけるユーザ端末10の移動方向及び移動量に応じて、拡張現実空間における操作対象T(仮想オブジェクトの少なくとも一部)を移動させることができる。すなわち、上記側面によれば、3次元空間である拡張現実空間における操作対象Tの位置調整を直感的に行うことが可能な仕組みを、ユーザに提供することができる。より具体的には、ユーザは、操作対象Tを移動させたい方向にユーザ端末10を移動させることによって、拡張現実空間における操作対象Tの位置調整を直感的に行うことができる。
 拡張現実空間に表示される仮想オブジェクト(上記実施形態では、キャラクタオブジェクト22)は、複数の部位を有していてもよく、決定部12は、仮想オブジェクトの1つの部位を操作対象Tとして決定してもよい。この場合、仮想オブジェクトの部位毎に細かな位置調整を行うことができる。
 オブジェクト制御部13は、撮像部105の撮像方向を基準として設定され、それぞれ操作対象Tの回転軸として用いられる3つの軸(X軸、Y軸、及びZ軸)からなる直交座標系CS(図7参照)に基づいて指定された操作対象Tの回転方向を含む回転操作情報を受け付けてもよい。そして、オブジェクト制御部13は、当該回転操作情報に基づいて操作対象Tを回転させてもよい。この場合、操作対象Tの3つの回転軸を規定する直交座標系CSが、撮像部105の撮像方向を基準として定められるため、操作対象Tの回転操作を直感的に行うことが可能となる。すなわち、図8に示されるように、ユーザは、タッチパネル106を介して拡張現実空間を見る方向を基準として、操作対象Tを直感的に分かりやすい方向に回転させることができる。
 上記について、図9に示される比較例を用いて詳しく説明する。比較例では、仮想オブジェクト30の3つの回転軸(X軸、Y軸、Z軸)を規定する直交座標系CS1は、撮像部105の撮像方向(すなわち、タッチパネル106を介して拡張現実空間を見る方向)ではなく、仮想オブジェクト30の姿勢を基準として定められている。ここでは一例として、直交座標系CS1は、立方体状の仮想オブジェクト30の第1面31に垂直なX軸と、第2面32に垂直なY軸と、第3面33に垂直なZ軸と、からなる。ここで、第1面31、第2面32、及び第3面33は、互いに隣接している。
 図9の状態(B)は、図9の状態(A)から仮想オブジェクト30をX軸周りに回転させた後の状態を示している。このとき、仮想オブジェクト30がX軸周りに回転することによって、直交座標系CS1を構成するX軸以外の軸(Y軸及びZ軸)の方向が変化する。図9の状態(C)は、図9の状態(B)からさらに仮想オブジェクト30をY軸周りに回転させた後の状態を示している。このとき、直交座標系CS1を構成するY軸以外の軸(X軸及びZ軸)の方向が変化する。このように、仮想オブジェクト30の姿勢を基準として直交座標系CS1が定められる場合には、撮像部105の撮像方向が変化しない場合であっても、仮想オブジェクト30の姿勢の変化に応じて直交座標系CS1の向きが変化する。このため、同じ種類の回転操作(例えば、Z軸周りに仮想オブジェクト30を回転させる操作)を行ったとしても、そのときの仮想オブジェクト30の姿勢によって、ユーザから見た仮想オブジェクト30の回転方向が変化する。例えば、図9の状態(A)のときに仮想オブジェクト30をZ軸周りに回転させた場合のユーザから見た回転方向は、図9の状態(B)又は状態(C)のときに仮想オブジェクト30をZ軸周りに回転させた場合のユーザから見た回転方向とは一致しない。一方、上記実施形態において操作対象Tの回転操作に用いられる直交座標系CS(図8参照)は、撮像部105の撮像方向(すなわち、タッチパネル106を介して拡張現実空間を見る方向)を基準として定められており、操作対象Tの姿勢によって変化しない。このため、上記実施形態によれば、ユーザは、操作対象Tの姿勢によらずに、常に同じ操作感で操作対象Tを回転させることができる。
 [変形例]
 以上、本開示について、実施形態に基づいて詳細に説明した。しかし、本開示は、上記実施形態に限定されない。本開示は、その要旨を逸脱しない範囲で様々な変形が可能である。
 例えば、上述したユーザ端末10の機能の一部は、ユーザ端末10と通信可能な他のコンピュータ装置によって実行されてもよい。すなわち、ユーザ端末10が、上述した機能の一部を他のコンピュータ装置に実行させ、その処理結果を当該他のコンピュータ装置から受信することによって、上述した機能が実現されてもよい。
 また、決定部12により決定された操作対象Tに対して可能な操作は、上述した移動操作及び回転操作に限られない。例えば、操作対象Tに対して可能な操作は、操作対象Tの形状を予め登録された複数の形状のうちから選択する操作を含んでもよい。例えば、キャラクタオブジェクト22の手の部分が操作対象Tである場合、操作対象Tに対して可能な操作は、当該手の部分の形状を、手を開いた状態、手を握りしめた状態、ピースサインをした状態等の予め登録された複数の形状のうちから選択する操作を含んでもよい。
 また、上記実施形態では、キャラクタオブジェクト22の一部(部位)が操作対象Tとして決定されたが、操作対象Tは、キャラクタオブジェクト22の全体であってもよい。例えば、拡張現実空間においてキャラクタオブジェクト22を配置する位置を決定する場合等には、キャラクタオブジェクト22の全体が操作対象Tとして決定されてもよい。また、キャラクタオブジェクト22以外の仮想オブジェクト(例えば、上述した無生物、カーソル等を模したオブジェクト等)が、操作対象Tとして決定されてもよい。
 また、拡張現実空間には、2つ以上の仮想オブジェクトが配置されてもよい。例えば、拡張現実空間に、りんごを模した仮想オブジェクト(以下単に「りんご」という。)とキャラクタオブジェクト22とが配置される場合について考える。このような場合、りんごが操作対象Tとして決定され、例えばりんごをキャラクタオブジェクト22の頭の上に載せるような移動操作が実行されてもよい。上述したオブジェクト制御部13による移動操作によれば、ユーザは、ユーザ端末10を移動させることでりんごの位置をスムーズに調整することができるため、上記のような移動操作を直感的且つ容易に行うことができる。
 また、操作対象Tとして決定される仮想オブジェクト(キャラクタオブジェクト22)の部位は、上記実施形態で例示した手の部分に限られない。例えば足、肘、膝、腰等の手以外の部分(例えばジョイントに対応する部分)が、操作対象Tとして決定されてもよい。また、例えば眼、口、鼻等のジョイント以外のパーツが、操作対象Tとして決定されてもよい。
 また、拡張現実空間画像23において、仮想オブジェクトのうち操作対象Tとして選択可能な部位には、ガイド(例えば、当該部位を囲む円形状の標示等)が表示されてもよい。なお、ガイドには、操作対象Tの姿勢(例えば、操作対象Tに予め設定された正面方向、横方向、上下方向の向き)を示す情報が含まれていてもよい。また、操作対象Tとして選択されている部位がわかるように、操作対象Tとして選択されている部位のガイドは、操作対象Tとして選択されていない部位のガイドとは異なる表示態様(例えば異なる色)で表示されてもよい。
 また、ユーザ端末10により実行される方法(仮想オブジェクト操作方法)の処理手順は上記実施形態での例(例えば、図3及び図6のフローチャート)に限定されない。例えば、上述したステップ(処理)の一部が省略されてもよいし、別の順序で各ステップが実行されてもよい。また、上述したステップのうちの任意の2以上のステップが組み合わされてもよいし、ステップの一部が修正又は削除されてもよい。あるいは、上記の各ステップに加えて他のステップが実行されてもよい。
 10…ユーザ端末(端末装置)、11…表示制御部、12…決定部、13…オブジェクト制御部、14…仮想オブジェクト情報記憶部、21…現実空間画像、22…キャラクタオブジェクト(仮想オブジェクト)、23…拡張現実空間画像、101…プロセッサ、105…撮像部、106…タッチパネル(表示部)、107…センサ、CS…直交座標系、T…操作対象。

Claims (9)

  1.  拡張現実空間をユーザに提示する端末装置であって、
     現実空間を撮像する撮像部と、
     前記撮像部により撮像された前記現実空間と仮想オブジェクトとを含む前記拡張現実空間を表す拡張現実空間画像を表示する表示部と、
     前記仮想オブジェクトの少なくとも一部を操作対象として決定する決定部と、
     前記拡張現実空間における前記操作対象の動作を制御するオブジェクト制御部と、を備え、
     前記オブジェクト制御部は、
      前記操作対象が決定された後の前記端末装置の移動方向及び移動量を検知し、
      検知された前記端末装置の前記移動方向及び前記移動量に基づいて前記操作対象を移動させる、端末装置。
  2.  前記オブジェクト制御部は、検知された前記端末装置の前記移動量と予め設定されたパラメータとに基づいて、前記操作対象の移動量を決定する、請求項1に記載の端末装置。
  3.  前記オブジェクト制御部は、検知された前記端末装置の前記移動量を前記パラメータに基づいて増大させた値を、前記操作対象の移動量として決定する、請求項2に記載の端末装置。
  4.  前記オブジェクト制御部は、検知された前記端末装置の前記移動量を前記パラメータに基づいて減少させた値を、前記操作対象の移動量として決定する、請求項2に記載の端末装置。
  5.  前記オブジェクト制御部は、前記端末装置の姿勢の変化に応じて前記操作対象を回転させることなく、検知された前記端末装置の前記移動方向及び前記移動量に基づいて前記操作対象を移動させる、請求項1~4のいずれか一項に記載の端末装置。
  6.  前記仮想オブジェクトは、複数の部位を有しており、
     前記決定部は、前記仮想オブジェクトの1つの前記部位を前記操作対象として決定する、請求項1~5のいずれか一項に記載の端末装置。
  7.  前記オブジェクト制御部は、
      前記撮像部の撮像方向を基準として設定され、それぞれ前記操作対象の回転軸として用いられる3つの軸からなる直交座標系に基づいて指定された前記操作対象の回転方向を含む回転操作情報を受け付け、
      前記回転操作情報に基づいて前記操作対象を回転させる、請求項1~6のいずれか一項に記載の端末装置。
  8.  端末装置が備える撮像部によって撮像された現実空間と仮想オブジェクトとを含む拡張現実空間を表す拡張現実空間画像を、前記端末装置が備える表示部に表示するステップと、
     前記仮想オブジェクトの少なくとも一部を操作対象として決定するステップと、
     前記操作対象が決定された後の前記端末装置の移動方向及び移動量を検知するステップと、
     前記拡張現実空間において、検知された前記端末装置の前記移動方向及び前記移動量に基づいて前記操作対象を移動させるステップと、を含む仮想オブジェクト操作方法。
  9.  端末装置が備える撮像部によって撮像された現実空間と仮想オブジェクトとを含む拡張現実空間を表す拡張現実空間画像を、前記端末装置が備える表示部に表示するステップと、
     前記仮想オブジェクトの少なくとも一部を操作対象として決定するステップと、
     前記操作対象が決定された後の前記端末装置の移動方向及び移動量を検知するステップと、
     前記拡張現実空間において、検知された前記端末装置の前記移動方向及び前記移動量に基づいて前記操作対象を移動させるステップと、
    を前記端末装置に実行させる仮想オブジェクト操作プログラム。
PCT/JP2021/026792 2020-07-16 2021-07-16 端末装置、仮想オブジェクト操作方法、及び仮想オブジェクト操作プログラム WO2022014700A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202180035237.1A CN115605919A (zh) 2020-07-16 2021-07-16 终端装置、虚拟对象操作方法以及虚拟对象操作程序
US17/997,900 US11960660B2 (en) 2020-07-16 2021-07-16 Terminal device, virtual object manipulation method, and virtual object manipulation program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-121991 2020-07-16
JP2020121991A JP6801138B1 (ja) 2020-07-16 2020-07-16 端末装置、仮想オブジェクト操作方法、及び仮想オブジェクト操作プログラム

Publications (1)

Publication Number Publication Date
WO2022014700A1 true WO2022014700A1 (ja) 2022-01-20

Family

ID=73741044

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/026792 WO2022014700A1 (ja) 2020-07-16 2021-07-16 端末装置、仮想オブジェクト操作方法、及び仮想オブジェクト操作プログラム

Country Status (4)

Country Link
US (1) US11960660B2 (ja)
JP (2) JP6801138B1 (ja)
CN (1) CN115605919A (ja)
WO (1) WO2022014700A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11960660B2 (en) 2020-07-16 2024-04-16 Popopo Inc Terminal device, virtual object manipulation method, and virtual object manipulation program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014191718A (ja) * 2013-03-28 2014-10-06 Sony Corp 表示制御装置、表示制御方法および記録媒体
JP2018151855A (ja) * 2017-03-13 2018-09-27 株式会社コナミデジタルエンタテインメント 表示制御装置及びプログラム
JP2020091758A (ja) * 2018-12-07 2020-06-11 株式会社gumi プログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイ

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013164697A (ja) * 2012-02-10 2013-08-22 Sony Corp 画像処理装置、画像処理方法、プログラム及び画像処理システム
JP5568610B2 (ja) 2012-08-28 2014-08-06 株式会社プレミアムエージェンシー 拡張現実システム、映像合成装置、映像合成方法及びプログラム
CN105229720B (zh) * 2013-05-21 2018-05-15 索尼公司 显示控制装置、显示控制方法以及记录介质
JP6133344B2 (ja) * 2015-03-10 2017-05-24 株式会社コロプラ ヘッドマウントディスプレイへ表示するためのユーザインタフェース表示方法、及びプログラム
US10593116B2 (en) * 2016-10-24 2020-03-17 Snap Inc. Augmented reality object manipulation
US10657696B2 (en) 2016-12-13 2020-05-19 DeepMotion, Inc. Virtual reality system using multiple force arrays for a solver
US9983687B1 (en) * 2017-01-06 2018-05-29 Adtile Technologies Inc. Gesture-controlled augmented reality experience using a mobile communications device
DK180470B1 (en) * 2017-08-31 2021-05-06 Apple Inc Systems, procedures, and graphical user interfaces for interacting with augmented and virtual reality environments
JP6745852B2 (ja) 2018-01-24 2020-08-26 アップル インコーポレイテッドApple Inc. 3dモデルのシステム全体の挙動のためのデバイス、方法、及びグラフィカルユーザーインターフェース
JP6801138B1 (ja) 2020-07-16 2020-12-16 株式会社バーチャルキャスト 端末装置、仮想オブジェクト操作方法、及び仮想オブジェクト操作プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014191718A (ja) * 2013-03-28 2014-10-06 Sony Corp 表示制御装置、表示制御方法および記録媒体
JP2018151855A (ja) * 2017-03-13 2018-09-27 株式会社コナミデジタルエンタテインメント 表示制御装置及びプログラム
JP2020091758A (ja) * 2018-12-07 2020-06-11 株式会社gumi プログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11960660B2 (en) 2020-07-16 2024-04-16 Popopo Inc Terminal device, virtual object manipulation method, and virtual object manipulation program

Also Published As

Publication number Publication date
US11960660B2 (en) 2024-04-16
JP7513262B2 (ja) 2024-07-09
CN115605919A (zh) 2023-01-13
US20230367403A1 (en) 2023-11-16
JP2022018697A (ja) 2022-01-27
JP2022019501A (ja) 2022-01-27
JP6801138B1 (ja) 2020-12-16

Similar Documents

Publication Publication Date Title
EP3997552B1 (en) Virtual user interface using a peripheral device in artificial reality environments
KR101546654B1 (ko) 웨어러블 증강현실 환경에서 증강현실 서비스 제공 방법 및 장치
US10324293B2 (en) Vision-assisted input within a virtual world
KR101171660B1 (ko) 증강현실의 포인팅 장치
CN107646098A (zh) 用于在虚拟现实中跟踪手持式设备的系统
US10296359B2 (en) Interactive system control apparatus and method
KR20220012990A (ko) 인공 현실 시스템들을 위한 팔 응시-구동 사용자 인터페이스 요소 게이팅
EP3814876B1 (en) Placement and manipulation of objects in augmented reality environment
EP2558924B1 (en) Apparatus, method and computer program for user input using a camera
KR20220018561A (ko) 사용자 인터페이스 요소들을 게이팅하기 위한 개인 어시스턴트 요소를 갖는 인공 현실 시스템들
KR20220018562A (ko) 인공 현실 시스템을 위한 모서리-식별 제스처-구동 사용자 인터페이스 요소 게이팅
JP7454818B2 (ja) アニメーション制作方法
WO2022014700A1 (ja) 端末装置、仮想オブジェクト操作方法、及び仮想オブジェクト操作プログラム
JP2023116432A (ja) アニメーション制作システム
CN109814704B (zh) 一种视频数据处理方法和装置
JP2022153476A (ja) アニメーション制作システム
US20220351446A1 (en) Animation production method
GB2535730A (en) Interactive system control apparatus and method
JP7470347B2 (ja) アニメーション制作システム
US20220036616A1 (en) Animation production system
JP7115698B2 (ja) アニメーション制作システム
EP3062221A1 (en) Interactive system control apparatus and method
CN117234333A (zh) Vr物体选择方法、装置、电子设备及可读存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21842608

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21842608

Country of ref document: EP

Kind code of ref document: A1