Information processing device, information processing method, and program for 3D object selection and interaction

There is provided an information processing device including a display section configured to display a first object in a virtual three-dimensional space having a depth direction of a display screen, an operation section configured to acquire an operation for moving the first object in at least the depth direction, and a controller configured to move the first object on the display screen in accordance with the acquired operation, to execute, when a region of the first object overlaps a first overlap determination region, a first process to one or both of the first and second objects, and to execute, when the region of the first object overlaps a second overlap determination region, a second process to one or both of the first and second objects. The first overlap determination region may be a region obtained by extending the second overlap determination region in at least the depth direction.

BACKGROUND

The present disclosure relates to an information processing device, an information processing method, and a program. In particular, the present disclosure relates to an information processing device, an information processing method, and a program for displaying a GUI (Graphical User Interface) as a virtual three-dimensional space.

In recent years, GUIs provided to users via display screens have been more commonly displayed as virtual three-dimensional spaces. In a virtual three-dimensional space, objects such as content can be arranged not only in the horizontal direction and the vertical direction of the display screen, but also in the depth direction of the display screen. Therefore, on a GUI displayed as a virtual three-dimensional space, a space in the display screen can be effectively used. As an example of such technologies, JP 2009-265258A describes a technology for displaying a plurality of objects by superimposing them in the depth direction in order according to the operations of a user.

In regard to a GUI displayed as a virtual three-dimensional space such as the one described above, there have been developed technologies for acquiring an operation of a user not only in the horizontal direction and the vertical direction of the display screen but also in the depth direction of the display screen, so that an object such as content can also be moved in the depth direction. For example, JP 2009-15765A describes a technology for detecting an operation of a user in the depth direction with a controller on the basis of a change in the amplitude of radio waves of a millimeter-band. In addition, JP 2009-528514A describes a technology for detecting an operation in the depth direction from a gesture of a user through an analysis using optical ranging and speckle patterns.

SUMMARY

On a GUI displayed as a two-dimensional plane, an operation of superimposing the display positions of two objects is typically performed through a so-called drag-and-drop operation for executing some processes related to the two objects. However, when a plurality of objects can be displayed such that they overlap one another in the depth direction as described in JP 2009-265258A, there is a problem in that no operation corresponding to the aforementioned drag-and-drop operation exists. Further, when an object is moved in the depth direction through an operation of a user as described in JP 2009-15765A and JP 2009-528514A, there is a problem in that it is difficult for the user to perceive the position of the object in the depth direction of a virtual three-dimensional space, and thus the object is difficult to be moved to a desired position.

In light of the foregoing, it is desirable to provide a novel and improved information processing device, information processing method, and program that can improve the operability of a GUI displayed as a virtual three-dimensional space.

According to an embodiment of the present disclosure, there is provided an information processing device including a display section configured to display a first object in a virtual three-dimensional space, the virtual three-dimensional space having a depth direction of a display screen, an operation section configured to acquire an operation for moving the first object in at least the depth direction, and a controller configured to move a display of the first object on the display screen in accordance with the operation acquired by the operation section, to execute, in a first state in which a region of the first object overlaps a first overlap determination region that is set around a display region of a second object displayed on the display screen, a first process to one or both of the first object and the second object, and to execute, in a second state in which the region of the first object overlaps a second overlap determination region that is set around the display region, a second process that is different from the first process to one or both of the first object and the second object. The first overlap determination region may be a region obtained by extending the second overlap determination region in at least the depth direction.

According to the aforementioned configuration, it is possible to perform a process of informing (e.g., displaying) a user of the fact that, for example, objects are approaching each other in the depth direction of a virtual three-dimensional space. Therefore, when the user attempts to move an object in the virtual three-dimensional space, he can perceive the distance of the object in the depth direction and thus can easily move the object to a desired position.

The first process may be a process of displaying a visual effect region around one or each of the first object and the second object, the visual effect region having a different color from the virtual three-dimensional space, and the second process may be a process of changing the color of the visual effect region.

The first object may be a pointer object, and the second object may be an object operated by the pointer object.

The first object may be an object operated by a pointer object, the operation section may acquire as the operation for moving the first object an operation for moving the pointer object while causing the pointer object to hold the first object, and the controller may execute, when holding of the first object by the pointer object is released in the first state, a third process to one or both of the first object and the second object, and may execute, when holding of the first object by the pointer object is released in the second state, a fourth process that is different from the third process to one or both of the first object and the second object.

The third process may be a specific process represented by the second object and executed on the first object, and the fourth process may be a process of interchanging a display position of the first object and a display position of the second object.

The first overlap determination region may encompass the second overlap determination region, and the second overlap determination region may encompass the display region.

According to another embodiment of the present disclosure, there is provided an information processing method including displaying a first object in a virtual three-dimensional space, the virtual three-dimensional space having a depth direction of a display screen, acquiring an operation for moving the first object in at least the depth direction, and moving a display of the first object on the display screen in accordance with the acquired operation, executing, in a first state in which a region of the first object overlaps a first overlap determination region that is set around a display region of a second object displayed on the display screen, a first process to one or both of the first object and the second object, and executing, in a second state in which the region of the first object overlaps a second overlap determination region that is set around the display region, a second process that is different from the first process to one or both of the first object and the second object. The first overlap determination region may be a region obtained by extending the second overlap determination region in at least the depth direction.

According to still another embodiment of the present disclosure, there is provided a program for causing a computer to function as a display section configured to display a first object in a virtual three-dimensional space, the virtual three-dimensional space having a depth direction of a display screen, an operation section configured to acquire an operation for moving the first object in at least the depth direction, and a controller configured to move a display of the first object on the display screen in accordance with the operation acquired by the operation section, to execute, in a first state in which a region of the first object overlaps a first overlap determination region that is set around a display region of a second object displayed on the display screen, a first process to one or both of the first object and the second object, and to execute, in a second state in which the region of the first object overlaps a second overlap determination region that is set around the display region, a second process that is different from the first process to one or both of the first object and the second object. The first overlap determination region may be a region obtained by extending the second overlap determination region in at least the depth direction.

According to the embodiments of the present disclosure described above, the operability of a GUI displayed as a virtual three-dimensional space can be improved.

DETAILED DESCRIPTION OF THE EMBODIMENTS

The description will be given in the following order.

1. Configuration Common to Each Embodiment1-1. Device Configuration1-2. Structures of Displayed Objects

2. First Embodiment

3. Second Embodiment

<1. Configuration Common to Each Embodiment>

First, a configuration that is common to each embodiment of the present disclosure will be descried with reference toFIGS. 1 to 5.

FIG. 1is a diagram showing a schematic configuration of an information processing device100in accordance with each embodiment of the present disclosure.FIG. 2is a block diagram showing the function and the configuration of the information processing device100in accordance with each embodiment of the present disclosure. Referring toFIGS. 1 and 2, the information processing device100includes a display section110, an operation section120, a controller130, and a storage section140.

The display section110displays an object500in a virtual three-dimensional space that includes the depth direction of a display screen112. The coordinate axes of the virtual three-dimensional space are shown as an x-axis, a y-axis, and a z-axis. Herein, the direction of the x-axis is the horizontal direction of the display screen112. The direction of the y-axis is the vertical direction of the display screen112. The direction of the z-axis is the depth direction of the display screen112. The display section110can be, for example, a LCD (Liquid Crystal Display), a PDP (Plasma Display Panel), or an organic EL (Electro-Luminescence) panel.

The operation section120acquires an operation for moving the object500in a direction including at least the z-axis direction. The operation section120can be any type of device as long as it can acquire an operation of a user in the z-axis direction. For example, the operation section120can detect an operation of a user and acquire a result of the detection as a moving operation. In such a case, the operation of the user can be detected from the velocity of a controller gripped by the user or electromagnetic waves emitted from the controller. In addition, an operation such as a gesture of a user can be directly detected through, for example, optical ranging using an infrared laser, a TOF (Time Of Flight) scheme, and the like. Further, the operation section120can acquire the aforementioned detection result as an operation processed through an analysis using, for example, speckle patterns. In addition, the operation section120can be a pointing device such as a mouse that is developed for operation in a three-dimensional space.

Further, the operation section120can acquire as an operation for moving the object500an operation for causing a pointer object to hold the object500and moving the pointer object. The operation for causing the pointer object to hold the object500can be acquired through, for example, an operation of holding down a button of the aforementioned controller or pointing device such as a mouse. Alternatively, when an operation such as a gesture of a user is directly detected, the operation for causing the pointer object to hold the object500can be acquired through a specific operation of the user such as clenching or unclenching of his hand.

The controller130controls the display section110and the operation section120. The controller130can be either dedicated hardware that is implemented with a circuit configuration including an integrated circuit, for example, or a CPU (Central Processing Unit) that executes a program stored in the storage section140. The controller130can move the display of the object500on the display screen112in accordance with an operation acquired by the operation section120, and can further execute a first process to one or both of the object500and another object500in a first state in which a region of the object500overlaps a first overlap determination region that is set around a display region of the other object500displayed on the display screen112, and can also execute a second process that is different from the first process to one or both of the object500and another object500in a second state in which the region of the object500overlaps a second overlap determination region that is set around the display region. Note that the display region of the object500, the first overlap determination region, the second overlap determination region, the first process, and the second process are described below.

The controller130can, when holding of the object500by the pointer object is released in the aforementioned first state, execute a third process to one or both of the object500and the other object500. Meanwhile, the controller130can, when holding of the object500by the pointer object is released in the aforementioned second state, execute a fourth process that is different from the third process to one or both of the object500and the other object500. The third process and the fourth process are described below.

The aforementioned display section110, operation section120, and controller130can be either provided separately as shown inFIG. 1or be integrated into one. The function of the controller130can be either provided by a device that is directly connected to the display section110and the operation section120as shown, or by a server that is connected over a network.

The storage section140stores data that is necessary to perform a process in the information processing device100. The storage section140can be implemented by combining as appropriate a storage device such as ROM (Read Only Memory) or RAM (Random Access Memory) and a removable storage medium such as an optical disc, a magnetic disk, or semiconductor memory. When the controller130is a CPU, the storage section140can store a program to be executed by the CPU. Such program can be downloaded from a server (not shown) on a network via a communication section (not shown) of the information processing device100and then stored into the storage device. Alternatively, such program can be provided by being stored in the aforementioned removable storage medium.

In addition to the foregoing, the information processing device100can also include as appropriate an audio output section (not shown) for outputting audio for the user, a physical feedback section (not shown) for outputting physical feedback such as a vibration of the controller for the user, and the like.

(Example of Acquisition of Operation)

In each embodiment of the present disclosure, the operation section120can acquire as an operation for moving the object500an operation for causing a pointer object to hold the object500and moving the pointer object. As an example of such operation, description will now be made more specifically of a case in which the operation section120shown inFIG. 1acquires the aforementioned operation from a gesture of a user. Note that a similar operation can also be acquired with the other configurations of the operation section120as described above.

First, a user moves his hand in any of an up-and-down direction, a right-and-left direction, and a back-and-forth direction in front of the display screen112and the operation section120. At this time, the operation section120acquires the movement of the hand of the user as an operation for moving a pointer object. Then, the controller130moves the display of the pointer object on the display screen112in accordance with the acquired operation. Specifically, when the user moves his hand to the right in front of the display screen112, the operation section120acquires such operation as an operation for moving the pointer object to the right, and thus the controller130moves the display of the pointer object in the positive direction of the x-axis. Meanwhile, when the user moves his hand to the front in front of the display screen112, namely, in a direction approaching the display screen112, the operation section120acquires such operation as an operation for moving the pointer object to the front, and thus the controller130moves the display of the pointer object in the positive direction of the z-axis.

Next, when the user clenches his hand, the operation section120acquires such gesture as an operation for causing the pointer object to hold the object500, and thus the controller130causes the pointer object to hold the object500whose region overlaps the pointer object. While the operation section120is recognizing that the user is clenching his hand, the controller130moves the display of the object500on the display screen112along with the movement of the pointer object.

Further, when the user unclenches his hand, the operating unit120acquires such gesture as an operation for releasing the holding of the object500by the pointer object, and thus the controller130releases the object500held by the pointer object.

(1-2. Structures of Displayed Objects)

(Display of Pointer Object and Content Object)

FIG. 3is a diagram showing an example of a screen displayed on the display screen112in accordance with each embodiment of the present disclosure. Referring toFIG. 3, the display screen112displays a pointer object500pand content objects500ato500gas the objects500.

The pointer object500pis an object displayed for operating the content objects500ato500g. Although the pointer object500pis shown as being approximately circular in shape, the present disclosure is not limited thereto, and the pointer object500pcan have a variety of shapes such as an arrow or a polyhedron. In order to show that the pointer object500pis displayed in a virtual three-dimensional space, the following visual effects can also be provided, for example: the display size is changed according to the difference in the display position in the z-axis direction, the width in the z-axis direction is displayed, or a shadow is displayed.

The content objects500ato500gare applications for playing content such as, for example, moving images, still images, music, or character information; or application windows such as Web browsers. Alternatively, the content objects500ato500gcan be icons representing content files. As a further alternative, the content objects500ato500gcan be operation button icons for executing operations such as playback, pause, and stop of content. Although each of the content objects500ato500gis shown in the shape of a rectangular solid, the present disclosure is not limited thereto, and the content objects500ato500gcan have a variety of shapes such as a sphere or a polyhedron. Further, in order to show that the content objects500ato500gare displayed in a virtual three-dimensional space, the following visual effects can also be provided, for example: the display size is changed according to the difference in the display position in the z-axis direction, the width in the z-axis direction is displayed, or a shadow is displayed.

Herein, the operation section120of the information processing device100can acquire as an operation to be performed on the pointer object500pan operation for moving the pointer object500pand an operation for causing the pointer object500pto hold one or more of the content objects500ato500g. In such a case, the controller130moves the pointer object500bin accordance with the aforementioned operation for moving the pointer object500bacquired by the operation section120. When the operation section120has acquired the aforementioned operation for causing the pointer object500bto hold one or more of the content objects500ato500gin a state in which a region of the pointer object500poverlaps a region(s) of any of the content objects500ato500g, the controller130causes the pointer object500pto hold the corresponding object(s) of the content objects500ato500g. One or more of the content objects500ato500gheld by the point object500pmove(s) with the movement of the pointer object500p.

(Problem with Display in Virtual Three-Dimensional Space)

A display region of each object500displayed in a virtual three-dimensional space such as the one described above is defined by the x-coordinate, the y-coordinate, and the z-coordinate. On the display screen112, coordinates that define the aforementioned display region are converted in dimension so that a perspective view seen from a particular viewpoint results. Consequently, the display region is represented by only the x-coordinate and the y-coordinate. Thus, even when display regions of the plurality of objects500are displayed as overlapping one another on the display screen112, the z-coordinates thereof may differ in a virtual three-dimensional space and thus the display regions of the plurality of objects500may not overlap one another. For example, on the display screen112shown inFIG. 3, display regions of the content objects500ato500cand display regions of the content objects500dto500gare displayed as overlapping one another. However, in a virtual three-dimensional space, the z-coordinate of the display region of each object differs (the display regions of the content objects500ato500care located on the front side). Therefore, in the virtual three-dimensional space, the display regions of the content objects500ato500cand the display regions of the content objects500dto500gdo not overlap one another.

In such a virtual three-dimensional space, it would be difficult for a user to accurately move the objects500in the z-axis direction by operating the operation section120. For example, assume that the user attempts to move the pointer object500pto place the display region of the pointer object500pover the display region of the content object500a. In such a case, even when the display region of the pointer object500poverlaps the display region of the content object500aon the display of the display screen112, the two display regions may not necessarily overlap each other in a virtual three-dimensional space as described above. In such a case, the user performs an operation of further moving the pointer object500pin the z-axis direction. However, the distance in the z-axis direction in the virtual three-dimensional space that is displayed on the display screen112is difficult to be perceived in comparison with the distances in the x-axis direction and the y-axis direction. Therefore, in the aforementioned case, it is difficult for the user to determine how much and in which direction the pointer object500pshould be moved.

Thus, it is considered that representing some feedback when the display regions of the plurality of objects500overlap one another may make it easier for the user to recognize that the display regions of the plurality of objects500overlap one another. As an example of such feedback, displaying some visual effects is considered. Alternatively, changing the display is considered such as, for example, moving one of the objects500for evacuation purposes and interchanging the positions of two objects500.

However, when each object500has the shape of a plate whose width in the z-axis direction of the display region is shorter than the widths in the x-axis and y-axis directions like the content objects500ato500gshown inFIG. 3, the time in which the display region of the pointer object500pthat is moving in the z-axis direction overlaps the display region of each of the content objects500ato500gis short. Therefore, even when some visual effects are displayed as described above, there is a possibility that the user may not be able to fully recognize that the regions overlap one another.

(Example of Regions Set for Object)

FIG. 4is a diagram illustrating an example of regions set for the object500in accordance with each embodiment of the present disclosure. Referring toFIG. 4, a display region502a, a reaction region510a, which is a first overlap determination region, and a collision region520a, which is a second overlap determination region, are set for the content object500athat is an example of the object500. Note that in the following description, the display region, the reaction region, and the collision region of each object500may collectively be referred to as a display region502, a reaction region510, and a collision region520, respectively.

The display region502ais a region where the content object500ais displayed. In the example ofFIG. 4, the content object500ais shown as an application window. In such a case, the display region502ais a region where the application window is displayed such that it is visible to a user.

The reaction region510ais the first overlap determination region that is set to determine if the content object500aoverlaps a region of another object500such as, for example, a display region of the pointer object500p. The reaction region510ashown in the drawing is a region that is used for the controller130to determine the presence of overlap. Thus, the reaction region510aneed not necessarily be displayed such that it is visible to the user on the display screen112. The reaction region510ais set around the display region502a. The reaction region510ais a region obtained by extending the collision region520aat least in the z-axis direction. In regard to the x-axis and the y-axis, the reaction region510acan coincide with the collision region520a, for example.

The collision region520ais the second overlap determination region that is set to determine if the content object500aoverlaps a region of another object500such as, for example, a display region of the pointer object500p. In the example shown in the drawing, the collision region520acoincides with the display region502a. As with the reaction region510a, the collision region520aneed not necessarily be displayed such that it is visible to the user on the display screen112.

(Variation of Regions Set for Object)

FIG. 5is a diagram illustrating another example of regions set for the object500in accordance with each embodiment of the present disclosure. Referring toFIG. 5, the reaction region510aencompasses the collision region520a, and the collision region520aencompasses the display region502a.

In each embodiment of the present disclosure, each region of the object500can also be set as shown inFIG. 5. Specifically, the reaction region510can be a region obtained by extending the collision region520not only in the z-axis direction but also in the x-axis direction and the y-axis direction. In addition, the collision region520can be a region obtained by extending the display region520in the x-axis, y-axis, or z-axis direction.

Next, the first embodiment of the present disclosure will be described with reference toFIGS. 6 to 9. In the first embodiment, the object500that is moved in response to an operation acquired by the operating unit120of the information processing device100is the pointer object500p. In addition, another object500whose region will overlap the pointer object500pas a result of the movement of the pointer object500pis the content object500a.

(Operation of when Reaction Region Overlaps)

FIG. 6is a diagram illustrating an example of determining if the objects overlap each other in accordance with the first embodiment of the present disclosure.FIG. 7is a diagram showing an example of a process executed in the case shown inFIG. 6.

Referring toFIG. 6, a region of the pointer object500poverlaps the reaction region510athat is the first overlap determination region set around the display region502aof the content object500a. Referring toFIG. 7, the controller130at this time displays a visual effect region550paround the pointer object500pas the first process executed in the aforementioned case. In addition, the controller130also displays a similar visual effect region550aaround the content object500a. The controller130can display only one of the visual effect regions550pand550a. Note that in the following description, a visual effect region displayed around each object500may collectively be referred to as a visual effect region550.

Herein, the visual effect region550can be displayed in a different color from the other portions in the virtual three-dimensional space displayed on the display screen112as in the example shown in the drawing, for example. In addition, the visual effect region550can be displayed with an illuminating visual effect. Further, the visual effect region550can be set such that it coincides with one of the reaction region510and the collision region520, or be set independently of such regions.

The first process can be a process of not only displaying the visual effect region550but also moving one or both of the pointer object500pand the content object500asuch that, for example, the pointer object500pand the content object500aare slightly moved to be pulled to each other or to repel each other. In addition, the first process can be a process of, when the information processing device100has an audio output section, outputting audio. Alternatively, the first process can be, when the information processing device100has a physical feedback section, outputting physical feedback such as a vibration of the controller. As a further alternative, the first process can be a combination of some or all of the aforementioned processes. In addition, the first process can differ for the pointer object500pand the content object500a. For example, in the example shown in the drawing, the colors of the visual effect region550pand the visual effect region550acan differ from each other.

(Operation of when Collision Region Overlaps)

FIG. 8is a diagram illustrating another example of determining if the objects overlap each other in accordance with the first embodiment of the present disclosure.FIG. 9is a diagram showing an example of a process executed in the case shown inFIG. 8.

Referring toFIG. 8, a region of the pointer object500poverlaps the collision region520athat is the second overlap determination region set around the display region502aof the content object500a. Referring toFIG. 9, the controller130at this time changes the color of the visual effect region550p, which is displayed around the pointer object500p, as the second process executed in the aforementioned case. In addition, the controller130similarly changes the color of the visual effect region550adisplayed around the content object500a. The controller130can change only one of the colors of the visual effect regions550pand550a.

Herein, the controller130can display the visual effect region550by adding an illuminating visual effect thereto. In addition, the second process can be a process of not only changing the display color of the visual effect region550but also moving one or both of the pointer object500pand the content object500asuch that, for example, the pointer object500pand the content object500aare slightly moved to be pulled to each other or to repel each other. In addition, the second process can be a process of, when the information processing device100has an audio output processing section, outputting audio. Alternatively, the second process can be, when the information processing device100has a physical feedback section, outputting physical feedback such as a vibration of the controller. As a further alternative, the second process can be a combination of some or all of the aforementioned processes. In addition, the second process can differ for the pointer object500pand the content object500a. For example, in the example shown in the drawing, the visual effect region550pand the visual effect region550acan be changed to different colors.

As described above, in the fist embodiment of the present disclosure, the collision region520aof the content object500aand the reaction region510athat is obtained by extending the collision region520ain the z-axis direction are used to determine if the content object500aand the pointer object500poverlap each other, and if they are determined to overlap each other, the visual effect region550is displayed around one or each of the content object500aand the pointer object500p, and further, the color of the visual effect region550is changed. According to such a structure, while a user is attempting to move the pointer object500pin the z-axis direction to superimpose the pointer object500pon the content object500a, he can recognize that the pointer object500pis moving closer to the content object500ain a range that is wider than the range of the content object500adisplayed on the display screen112. When the pointer object500pfurther moves closer to the content object500a, the color of the visual effect region550will change. Accordingly, the user can easily perceive if the pointer object500pis moving closer to or away from the content object500a.

Next, the second embodiment of the present disclosure will be described with reference toFIGS. 10 and 11. In the second embodiment, the object500that is moved in response to an operation acquired by the operation section120of the information processing device100is the content object500c. In addition, another object500whose region will overlap the content object500cas a result of the movement of the content object500cis the content object500b.

(Operation of when Reaction Region Overlaps)

FIG. 10is a diagram illustrating an example of a process executed in the second embodiment of the present disclosure. Referring toFIG. 10, the content object500bis an icon representing a folder, and the content object500cis an icon representing a file. The content object500cis held by the pointer object500p, and moves with the movement of the pointer object500p. In the second embodiment, a reaction region510band a collision region520bare set for the content object500b, and further, a reaction region510cand a collision region520care also set for the content object500c.

In the initial state before a process is performed, the reaction region510bof the content object500band the reaction region510cof the content object500coverlap each other. This state shall be referred to as a first state in which the object region of the content object500coverlaps the reaction region510bthat is the first overlap determination region set around the display region of the content object500b. In the example shown in the drawing, holding of the content object500cby the pointer object500pis released in the first state.

In this case, the controller130executes as the third process a specific process, which is represented by the content object500b, on the content object500c. As the content object500bis an icon representing a folder, the specific process represented by the content object500bherein is storage of a file into the folder. Accordingly, in a state after the process is performed, the file represented by the content object500cis stored in the folder represented by the content object500b.

(Operation of when Collision Region Overlaps)

FIG. 11is a diagram illustrating another example of a process executed in the second embodiment of the present disclosure. Referring toFIG. 11, the content object500bis an icon representing a folder, and the content object500cis an icon representing a file. The content object500cis held by the pointer object500p, and moves with the movement of the pointer object500p.

In a state before a process is performed, the collision region520bof the content object500band the collision region520cof the content object500coverlap each other. This state shall be referred to as a second state in which the object region of the content object500coverlaps the collision region520bthat is the second overlap determination region set around the display region of the content object500b. In the example shown in the drawing, holding of the content object500cby the pointer object500pis released in the second state.

In this case, the controller130executes as the fourth process a process of interchanging the display position of the content object500cand the display position of the content object500b. In a state after this process is performed, the content object500cis displayed in the front position in which the content object500bhad been located before the process, while the content object500bis displayed in the rear position in which the content object500chad been located before the process. As shown in the drawing, the controller130can further move the positions of the two objects500after the process so that their reaction regions510do not overlap each other.

As described above, in the second embodiment of the present disclosure, the collision regions520of the objects500and the reaction regions510that are obtained by extending the collision regions520in the z-axis direction are used to determine is the objects500overlap each other, and when holding of one of the objects500by the pointer object is released, a process that would differ depending on the degree of overlap of each region is executed. According to such a structure, it is possible to, when the plurality of objects500overlap in their reaction regions510, for example, execute a process like drag-and-drop on a two-dimensional GUI, and to execute, when the plurality of objects500overlap in their collision regions520, a process of interchanging the display positions of the objects500. According to such an operation, it is possible to implement an operation of adjusting the display positions by superimposing the regions in the z-axis direction and also implement an intuitive operation like drag-and-drop in a virtual three-dimensional space.

Next, the third embodiment of the present disclosure will be described with reference toFIG. 12. In the third embodiment, the visual effect region550described in the first embodiment is further displayed in the example of the content object500cand the content object500bdescribed in the second embodiment.

FIG. 12is a flowchart showing the process of the information processing device100in accordance with the third embodiment of the present disclosure. The process shown inFIG. 12is a process executed periodically for the content object500cthat is held by the pointer object500pand that moves with the movement of the pointer object500p.

Note that the controller130herein displays a visual effect region550caround the content object500cas the first process for the content object500c. At this time, the visual effect region550cis displayed in yellow with an illuminating visual effect. In addition, the controller130changes the color of the visual effect region550cto red as the second process for the content object500c. At this time, the visual effect region500cstill has an illuminating visual effect. Further, the controller130executes as the third process for the content object500ca drag-and-drop process between the content object500cand the content object500bsuch as, for example, storage of a file represented by the content object500cinto a folder represented by the content object500b. In addition, the controller130executes as the fourth process for the content object500ca process of interchanging the display position of the content object500cand the display position of the content object500b.

First, the controller130determines if the content objet500coverlaps a region of another object500in the reaction region510c(step S101). Herein, if the reaction region510cof the content object500cis not determined to overlap a region of another object500, the controller130determines that the content object500cdoes not overlap the other object500. Herein, the controller130, if the visual effect region550cis displayed, terminates the display, turning off the light illuminating the periphery of the content object500c(step S103), and terminates the process.

Meanwhile, if the content object500cis determined to overlap a region of the content object500bin the reaction region510cin step S101, the controller130further determines if the content object500coverlaps a region of the content object500bin the collision region520c(step S105). Herein, if the collision region520cof the content object500cis not determined to overlap a region of the content object500b, the controller130determines that the content object500coverlaps a region of the content object500bonly in the reaction region510c.

In such a case, the controller130further determines if the pointer object500p, which has held the content object500c, is still holding the content object500c(step S107). Herein, if the pointer object500pis not determined to be holding the content object500c, the controller130determines that holding of the content object500cby the pointer object500phas been released in the first state in which the content object500coverlaps a region of the content object500bin the reaction region510c. Herein, the controller130executes as the third process for the content object500ca drag-and-drop process between the content object500cand the content object500b(step S109), and terminates the process.

Meanwhile, if the pointer object500pis determined to be still holding the content object500cin step S107, the controller130determines that holding of the content object500cby the pointer object500phas been continuing in the first state in which the content object500coverlaps a region of the content object500bin the reaction region510c. Thus, the controller130, as the first process for the content object500c, displays the visual effect region550cand illuminates the periphery of the content object500cin yellow (step S111), and then terminates the process.

Meanwhile, if the collision region520cof the content object500cis determined to overlap a region of the content object500bin step S105, the controller130determines that the content object500coverlaps the content object500bin the collision region520cas well. In such a case, the controller130further determines if the pointer object500p, which has held the content object500c, is still holding the content object500c(step S113). Herein, if the pointer object500pis not determined to be holding the content object500c, the controller130determines that holding of the content object500cby the pointer object500phas been released in the second state in which the content object500coverlaps a region of the content object500bin the collision region520c. Thus, the controller130, as the fourth process for the content object500c, interchanges the display position of the content object500cand the display position of the content object500b(step S115), and terminates the process.

Meanwhile, if the pointer object500pis determined to be still holding the content object500cin step S113, the controller130determines that holding of the content object500cby the pointer object500phas been continuing in the second state in which the content object500coverlaps a region of the content object500bin the collision region520c. Thus, the controller130, as the second process for the content object500c, changes the color of the visual effect region550cand illuminates the periphery of the content object500cin red (step S117), and then terminates the process.

As described above, in the third embodiment of the present disclosure, when the object500moves while being held by a pointer object with the use of the reaction region510and the collision region520of the object500, displays of the object500and another object500whose region overlaps the former object500are changed in stages. In addition, when holding of the object500by the pointer object is released, a drag-and-drop process and a positional adjustment are selectively executed in accordance with the overlapping region of the object500and the other object500. With such a structure, the user can easily perceive the positional relationship of the object500with the other object500in the z-axis direction, and can also perform an operation of adjusting the display position as well as an intuitive operation like drag-and-drop in a virtual three-dimensional space.

Although the preferred embodiments of the present disclosure have been described in detail with reference to the appended drawings, the present disclosure is not limited thereto. It is obvious to those skilled in the art that various modifications or variations are possible insofar as they are within the technical scope of the appended claims or the equivalents thereof. It should be understood that such modifications or variations are also within the technical scope of the present disclosure.

The present disclosure contains subject matter related to that disclosed in Japanese Priority Patent Application JP 2010-155623 filed in the Japan Patent Office on Jul. 8, 2010, the entire content of which is hereby incorporated by reference.