# Patent

## Title
Storage medium having information processing program stored therein, information processing apparatus, information processing system, and information processing method

## Abstract

An information processing section of a game apparatus executes a program for implementing a step S100 of acquiring a camera image; a step S200 of detecting a marker; a step S400 of calculating a position and an orientation of a virtual camera; a step S600 of generating an animation in which a hexahedron is caused to appear on the marker when the start of a game is requested; a step S800 of generating an animation in which the hexahedron is unfolded so as to position thereon virtual objects representing targets; a step S900 of mapping the photographed image on objects; a step S1000 of taking an image of the objects by means of the virtual camera; and a step S1100, S1200 of displaying the camera image and an object image which is superimposed on the camera image.

## Background
CROSS REFERENCE TO RELATED APPLICATION
The disclosure of Japanese Patent Application No. 2010-134567, filed on Jun. 11, 2010, is incorporated herein by reference.
BACKGROUND
1. Field
Example embodiments of the present invention relate to an information processing technique for realizing a natural augmented reality effect by displaying an image in which a virtual object image is superimposed on a real space which is visible to a user, and more particularly to an information processing technique for enabling appearance of a virtual object while maintaining a natural augmented reality effect.
2. Description of the Background Art
A so-called augmented reality system is realized which displays, as if an object exists in a virtual space, an image in which a virtual object image is superimposed on a real world (a real space or a real environment). The augmented reality system provides a technique for displaying a virtual object in a real world, and the augmented reality system enables the virtual object to be displayed, without causing unnaturalness, by, for example, superimposing a previously generated image of the virtual object on a real space photographed by a camera. Japanese Laid-Open Patent Publication No. 2006-260602 (hereinafter, referred to as Document 1) discloses a game apparatus which displays a virtual object (character) which acts in cooperation with a motion of a real object (game card).
However, in the game apparatus disclosed in Document 1, the character is suddenly displayed on a screen when a game is started. Specifically, in this game apparatus, when a three-dimensional image representing the character is initially displayed for starting the game, a state of nothing being displayed is switched to a state of an image in which the three-dimensional image representing the character is superimposed on a frame image being displayed, or a state of a frame image being displayed is switched to a state of an image in which the three-dimensional image representing the character is superimposed on the frame image being displayed. When displays are switched in this manner, the three-dimensional image representing the character suddenly appears on the screen. Therefore, it is impossible to realize a natural augmented reality effect which enables a user to feel as if the three-dimensional image representing the character really exists in a real space.
In order to overcome the problems, in a game to which the augmented reality system is applied, it is important to enable appearance of a virtual character for starting a game while realizing a natural augmented reality effect. However, neither the game apparatus disclosed in Document 1 nor known techniques can solve these problems.
SUMMARY
Therefore, an object of the present invention is to provide a technique that enables appearance of a virtual object which is displayed so as to be superimposed on a real world, by applying an augmented reality system, in such manners that the realized natural augmented reality effect is not spoiled, and a user can become interested in an image displayed at the appearance.
Example embodiments of the present invention have the following features to attain the object mentioned above.
A computer-readable storage medium according to a first aspect of the present invention has an information processing program stored therein. A computer is included in an information processing apparatus which is connected to an imaging device, a display device for displaying a real space so as to be visible on a screen, and a storage device for storing object data representing a first virtual object which has inner surfaces and outer surfaces and which can form a closed space, and object data representing a second virtual object positioned in the closed space, and the information processing program stored in the computer-readable storage medium causes the computer of the information processing apparatus to function as: photographed image data acquisition means; virtual camera setting means; object positioning means; first object control means; second object control means; third object control means; texture mapping means; object image generation means; and display control means. The photographed image data acquisition means sequentially acquires photographed image data representing a photographed image taken by the imaging device. The virtual camera setting means sets a virtual camera in a virtual space. The object positioning means positions the first virtual object in the virtual space such that a part of the outer surfaces of the first virtual object can be captured by the virtual camera. The first object control means moves the first virtual object such that an entirety of the first virtual object can be captured by the virtual camera. The second object control means changes a shape of the first virtual object from a closed shape having the closed space formed by the inner surfaces of the first virtual object facing inward, to an opened shape formed when the first virtual object is unfolded so as to enable the inner surfaces to be captured by the virtual camera. The third object control means positions at least one second virtual object on the inner surfaces of the first virtual object, and changes a position and an orientation of the second virtual object in cooperation with the inner surfaces of the first virtual object in accordance with the shape of the first virtual object being changed. The texture mapping means maps, as a texture, an image of a region corresponding to a part of the outer surfaces of the first virtual object, on the outer surfaces of the first virtual object, and maps, as a texture, an image of a region corresponding to the first virtual object of the opened shape, on the inner surfaces of the first virtual object, and the image of the region corresponding to the part of the outer surfaces, and the image of the region corresponding to the first virtual object are each included in the photographed image represented by the photographed image data which is sequentially acquired by the photographed image data acquisition means. The object image generation means generates an object image based on each of the second virtual object, and the first virtual object on which the texture is mapped. The display control means sequentially displays, by means of the display device, a superimposed image in which the object image generated by the object image generation means is superimposed on the real space on the screen.
In these configurations, a superimposed image in which the object image representing both the first virtual object and the second virtual object is superimposed on a real space on the screen is displayed by means of the display device. In this case, the first virtual object has the inner surfaces and the outer surfaces, and the object positioning means positions the first virtual object such that a part of the outer surfaces of the first virtual object can be captured by the virtual camera, and thereafter the first object control means moves the first virtual object such that the entirety of the first virtual object can be captured by the virtual camera. The second object control means changes a shape of the first virtual object, from the closed shape having the closed space formed by the inner surfaces facing inward, to an opened shape formed when the closed space is opened so as to enable the inner surfaces to be captured by the virtual camera. At least one second virtual object is positioned on the inner surfaces of the first virtual object, and the third object control means changes a position and an orientation of the second virtual object in cooperation with the inner surfaces of the first virtual object in accordance with the shape of the first virtual object being changed (from the closed shape to the opened shape). For example, in a shooting game to which an augmented reality is applied, the second virtual object represents targets of a stage at which the game starts. In this case, the first virtual object is positioned in the virtual space such that a part of the first virtual object which confines the second virtual object in its closed space can be captured by the virtual camera. Thereafter, the first virtual object is moved such that the entirety of the first virtual object is captured by the virtual camera. The positions and the orientations of the targets represented by the second virtual object are changed in cooperation with the inner surfaces of the first virtual object. Namely, the positions and the orientations of the targets positioned on the inner surfaces of the first virtual object in the closed shape are changed in accordance with the first virtual object changing from the closed shape to the opened shape (in accordance with the first virtual object changing from the closed shape to the opened shape when the closed shape is formed by the hexahedron). Thus, the first virtual object is unfolded so as to shift from the closed shape to the opened shape, and an opened space in which the second virtual object is positioned appears. An image of a region which corresponds to a part of the outer surfaces of the first virtual object in the photographed image is mapped as a texture on the outer surfaces of the first virtual object in which the targets are positioned, and the photographed image of a region corresponding to the first virtual object in the opened shape is mapped as a texture on the inner surface of the first virtual object in which the targets are positioned. Therefore, a natural augmented reality effect is realized, and the first virtual object appears such that a state in which a part of the first virtual object appears shifts to a state in which an entirety of the first virtual object appears, and the first virtual object having thus appeared changes its shape from the closed shape to the opened shape, and the second virtual object is displayed on the layed-flat surfaces of the first virtual object. In this case, a user becomes interested in the appearance of the first virtual object (shift from appearance of the part thereof to appearance of the entirety thereof) and the change (from the closed shape to the opened shape) of the shape of the first virtual object, and the change (the second virtual object becomes visible as the first virtual object approaches the opened shape) of the position and orientation of the second virtual object. As a result, when the virtual objects which are displayed so as to be superimposed on a real world by applying the augmented reality system are caused to appear, the realized natural augmented reality effect is not spoiled, and a user can become interested in an image displayed at the appearance.
Preferably, the first object control means may change a position of the first virtual object in a form of an animation in which a moving state of the first virtual object is sequentially changed. In this case, the second object control means may change the shape of the first virtual object in a form of an animation in which an unfolded state of the first virtual object is sequentially changed. Further, the third object control means may change the position and the orientation of the second virtual object in accordance with progress of the animation representing the unfolded state of the first virtual object.
In these configurations, an animation sequentially representing a shift from appearance of a part of the first virtual object to appearance of the entirety of the first virtual object, an animation sequentially representing a state in which the first virtual object changes from the closed shape to the opened shape, and an animation sequentially representing a state in which the position and orientation of the second virtual object are changed in accordance with the animation of the first virtual object, are used, to cause the second virtual object to appear from the first virtual object. As a result, the change of the position of the first virtual object, the change of the shape of the first virtual object, and the change of the position and orientation of the second virtual object are sequentially performed. Therefore, the realized natural augmented reality effect is not spoiled, and a user can become interested in an image displayed at the appearance.
Preferably, the first virtual object may be a polyhedron formed of a plurality of surfaces which can be layed flat. In this case, the animation representing the unfolded state of the first virtual object may include a shift from a first state to a second state, and the first state represents a state in which the polyhedron forms the closed space, and the second state represents a state in which the plurality of surfaces of the polyhedron are rotated, the polyhedron is unfolded, and the second virtual object is positioned on the plurality of surfaces, of the polyhedron, which are layed flat.
In these configurations, an animation can be displayed which represents a state in which the surfaces of the hexahedron are rotated, the hexahedron are unfolded, and the second virtual object appear. Therefore, when the game is started, a realized natural augmented reality effect is not spoiled, and a user can become interested in an image displayed when the second virtual object appears.
Preferably, the animation representing the moving state of the first virtual object may include a state in which a part of the polyhedron appears.
In these configurations, an animation can be displayed which represents: a shift from a state in which only a real space is visible, to a state in which a part of the polyhedron corresponding to the first virtual object appears; a shift from the appearance of the part of the polyhedron to appearance of the entirety thereof; the unfolding of the polyhedron; and appearance of the second virtual object.
Preferably, the animation representing the unfolded state of the first virtual object may include a shift from the second state to disappearance of the plurality of surfaces, of the polyhedron, which are layed flat.
In these configurations, an animation can be displayed which represents a shift from a state in which the second virtual object (targets) is displayed on the layed-flat surfaces of the polyhedron, to disappearance of the layed-flat surfaces of the polyhedron which are not used in the game.
Preferably, the animation representing the unfolded state of the first virtual object may include a shift from the second state, through change of a color of the plurality of surfaces of the polyhedron or change of a color of a border line of the plurality of surfaces of the polyhedron, to the disappearance of the plurality of surfaces, of the polyhedron, which are layed flat.
In these configurations, after the polyhedron is unfolded, and the second virtual object is positioned on the layed-flat surfaces of the polyhedron, a color of the layed-flat surfaces of the polyhedron or a color of the sides of the layed-flat surfaces of the polyhedron is changed such that the layed-flat surfaces of the polyhedron disappear so as to sink. Therefore, a natural augmented reality effect can be realized.
Preferably, the third object control means may rotate the second virtual object in cooperation with rotation of the plurality of surfaces of the polyhedron, to change the position and the orientation of the second virtual object.
In these configurations, the first virtual object changes from the closed shape to the opened shape by the surfaces of the polyhedron being rotated. The second virtual object rotates in accordance with the rotation of the surfaces, thereby realizing a natural augmented reality effect.
Preferably, the first virtual object may be a polyhedron formed of a plurality of surfaces which can be layed flat. In this case, the part of the outer surfaces of the first virtual object positioned by the object positioning means may be one of the plurality of surfaces of the polyhedron.
In these configurations, a part of the outer surfaces of the first virtual object corresponds to one of the plurality of surfaces of the polyhedron. Therefore, the outer surface (for example, the top surface of the hexahedron) which appears earliest, is layed flat, to enable appearance of the second virtual object.
Preferably, the polyhedron may be a hexahedron. The hexahedron may include a cube, a rectangular parallelepiped, a prismoid, and the like.
In these configurations, the polyhedron which is a hexahedron is used, and the second virtual object is confined in the closed space formed in a cube, a rectangular parallelepiped, or the like. When the cube, the rectangular parallelepiped, or the like is unfolded, the second virtual object can appear. Thus, appearance of the virtual objects is enabled while realizing a natural augmented reality effect.
Preferably, the program may cause the computer to further function as: detection means for detecting a predetermined object, from the photographed image data which is sequentially acquired by the photographed image data acquisition means; and calculation means for calculating a relative positional relationship between the imaging device and the predetermined object, based on a result of the detection of the predetermined object. In this case, the object positioning means may position the first virtual object in the virtual space such that a position of the one of the plurality of surfaces of the polyhedron coincides with a position of the predetermined object.
In these configurations, one of the surfaces of the polyhedron is positioned on the position of the predetermined object (marker) which is required in the augmented reality system, and the first virtual object can appear on the marker. The second virtual object is confined in the first virtual object. As a result, the second virtual object can appear on the marker.
Preferably, the polyhedron may be a pyramidal shape, and the pyramidal shape includes a cone. The pyramidal shape includes a cone, an N-sided pyramid (N is a natural number greater than or equal to 3, that is, an (N+1)-hedron), and the like.
In these configurations, a pyramidal shape (cone, triangular pyramid, quadrangular pyramid, etc.,) is used as the polyhedron. The second virtual object is confined in the closed space formed by the polyhedron corresponding to the pyramidal shape. When the pyramidal shape is unfolded, the second virtual object can appear. In this case, appearance of a part of the pyramidal shape shifts to appearance of the entirety of the pyramidal shape such that appearance of the pyramidal shape starts from its vertex. Thus, a user's interest can be enhanced.
Preferably, the object positioning means may position the first virtual object in the virtual space such that a position of a vertex of the pyramidal shape coincides with a position of a predetermined object.
In these configurations, the vertex of the pyramidal shape appears on the position of the predetermined object (marker) which is required in the augmented reality system, and the first virtual object can appear so as to project from the marker.
Preferably, the display control means may make a display so as to prevent the second virtual object from being transmitted through surfaces forming the closed space.
In these configurations, as the first virtual object changes from the closed shape to the opened shape, the second virtual object becomes visible. Therefore, a user can become interested in the change. Further, before the first virtual object changes from the closed shape to the opened shape, the second virtual object is invisible to a user. Therefore, a realized natural augmented reality effect is not spoiled, and the user can become interested in an image displayed at the appearance.
Preferably, the program may cause the computer to further function as operation means for operating the second virtual object in accordance with an operation performed by a user,
In these configurations, information processing can be performed which realizes a shooting game in which, for example, a character which acts in accordance with an operation performed by a user is positioned as the second virtual object, and the character shoots targets.
Preferably, the texture mapping means may map, as a texture, the image of the region corresponding to the part of the outer surfaces of the first virtual object, on the part of the outer surfaces of the first virtual object, and may map, as a texture, the image of the region corresponding to the first virtual object of the opened shape, on the inner surfaces of the first virtual object, and each of the images is included in the photographed image.
In these configurations, before the first virtual object positioned in the virtual space is moved, the photographed image is mapped on a part of the outer surfaces which can be captured by the virtual camera, and the photographed image is mapped on the inner surface which appear when the first virtual object changes from the closed shape to the opened shape. Therefore, it is possible to prevent the virtual objects from being suddenly displayed in a real space. As a result, a realized natural augmented reality effect is not spoiled, and a user can become interested in an image displayed at the appearance.
An information processing apparatus according to a second aspect of the present invention includes: imaging means; display means for displaying a real space so as to be visible on a screen; storage means for storing object data representing a first virtual object which has inner surfaces and outer surfaces and which can form a closed space, and object data representing a second virtual object positioned in the closed space; photographed image data acquisition means for sequentially acquiring photographed image data representing a photographed image taken by the imaging means; virtual camera setting means for setting a virtual camera in a virtual space; object positioning means for positioning the first virtual object in the virtual space such that a part of the outer surfaces of the first virtual object can be captured by the virtual camera; first object control means for moving the first virtual object such that an entirety of the first virtual object can be captured by the virtual camera; second object control means for changing a shape of the first virtual object from a closed shape having the closed space formed by the inner surfaces of the first virtual object facing inward, to an opened shape formed when the first virtual object is unfolded so as to enable the inner surfaces to be captured by the virtual camera; third object control means for positioning at least one second virtual object on the inner surfaces of the first virtual object, and changing a position and an orientation of the second virtual object in cooperation with the inner surfaces of the first virtual object in accordance with the shape of the first virtual object being changed; texture mapping means for mapping, as a texture, an image of a region corresponding to a part of the outer surfaces of the first virtual object, on the outer surfaces of the first virtual object, and mapping, as a texture, an image of a region corresponding to the first virtual object of the opened shape, on the inner surfaces of the first virtual object, in which the image of the region corresponding to the part of the outer surfaces, and the image of the region corresponding to the first virtual object are each included in the photographed image represented by the photographed image data which is sequentially acquired by the photographed image data acquisition means; object image generation means for generating an object image based on each of the second virtual object, and the first virtual object on which the texture is mapped; and display control means for sequentially displaying, by means of the display means, a superimposed image in which the object image generated by the object image generation means is superimposed on the real space on the screen,
An information processing system according to a third aspect of the present invention includes; imaging means; display means for displaying a real space so as to be visible on a screen; storage means for storing object data representing a first virtual object which has inner surfaces and outer surfaces and which can form a closed space, and object data representing a second virtual object positioned in the closed space; photographed image data acquisition means for sequentially acquiring photographed image data representing a photographed image taken by the imaging means; virtual camera setting means for setting a virtual camera in a virtual space; object positioning means for positioning the first virtual object in the virtual space such that a part of the outer surfaces of the first virtual object can be captured by the virtual camera; first object control means for moving the first virtual object such that an entirety of the first virtual object can be captured by the virtual camera; second object control means for changing a shape of the first virtual object from a closed shape having the closed space formed by the inner surfaces of the first virtual object facing inward, to an opened shape formed when the first virtual object is unfolded so as to enable the inner surfaces to be captured by the virtual camera; third object control means for positioning at least one second virtual object on the inner surfaces of the first virtual object, and changing a position and an orientation of the second virtual object in cooperation with the inner surfaces of the first virtual object in accordance with the shape of the first virtual object being changed; texture mapping means for mapping, as a texture, an image of a region corresponding to a part of the outer surfaces of the first virtual object, on the outer surfaces of the first virtual object, and mapping, as a texture, an image of a region corresponding to the first virtual object of the opened shape, on the inner surfaces of the first virtual object, in which the image of the region corresponding to the part of the outer surfaces, and the image of the region corresponding to the first virtual object are each included in the photographed image represented by the photographed image data which is sequentially acquired by the photographed image data acquisition means; object image generation means for generating an object image based on each of the second virtual object, and the first virtual object on which the texture is mapped; and display control means for sequentially displaying, by means of the display means, a superimposed image in which the object image generated by the object image generation means is superimposed on the real space on the screen.
An information processing method according to a fourth aspect of the present invention includes: an imaging step of taking a photographed image by means of an imaging device; a display step of displaying a real space so as to be visible on a screen; a storage step of storing object data representing a first virtual object which has inner surfaces and outer surfaces and which can form a closed space, and object data representing a second virtual object positioned in the closed space; a photographed image data acquisition step of sequentially acquiring photographed image data representing a photographed image taken by the imaging step; a virtual camera setting step of setting a virtual camera in a virtual space; an object positioning step of positioning the first virtual object in the virtual space such that a part of the outer surfaces of the first virtual object can be captured by the virtual camera; a first object control step of moving the first virtual object such that an entirety of the first virtual object can be captured by the virtual camera; a second object control step of changing a shape of the first virtual object from a closed shape having the closed space formed by the inner surfaces of the first virtual object facing inward, to an opened shape formed when the first virtual object is unfolded so as to enable the inner surfaces to be captured by the virtual camera; a third object control step of positioning at least one second virtual object on the inner surfaces of the first virtual object, and changing a position and an orientation of the second virtual object in cooperation with the inner surfaces of the first virtual object in accordance with the shape of the first virtual object being changed; a texture mapping step of mapping, as a texture, an image of a region corresponding to a part of the outer surfaces of the first virtual object, on the outer surfaces of the first virtual object, and mapping, as a texture, an image of a region corresponding to the first virtual object of the opened shape, on the inner surfaces of the first virtual object, in which the image of the region corresponding to the part of the outer surfaces, and the image of the region corresponding to the first virtual object are each included in the photographed image represented by the photographed image data which is sequentially acquired by the photographed image data acquisition step; an object image generation step of generating an object image based on each of the second virtual object, and the first virtual object on which the texture is mapped; and a display control step of sequentially displaying, by means of the display step, a superimposed image in which the object image generated by the object image generation step is superimposed on the real space on the screen.
The information processing apparatus according to the second aspect of the present invention, the information processing system according to the third aspect of the present invention, and the information processing method according to the fourth aspect of the present invention realize the same operation and effect as obtained by the computer-readable storage medium according to the first aspect of the present invention.
According to example embodiment of the present invention, by applying an augmented reality system, the virtual object which is displayed so as to be superimposed on a real world can be caused to appear such that a realized natural augmented reality effect is not spoiled, and a user can become interested in an image displayed at the appearance.
These and other objects, features, aspects and advantages of example embodiments of the present invention will become more apparent from the following detailed description of example embodiments of the present invention when taken in conjunction with the accompanying drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a front view of a game apparatus 10 in an opened state;
FIG. 2 is a side view of the game apparatus 10 in the opened state;
FIG. 3 is a left side view, a front view, a right side view, and a rear view of the game apparatus 10 in a closed state;
FIG. 4 is a diagram illustrating a state in which a screen cover 27 is removed from an inner side surface of an upper housing 21;
FIG. 5 is a cross-sectional view of the upper housing 21 shown in FIG. 1 taken along a line A-A′;
FIG. 6A is a diagram illustrating a state in which a slider 25a of a 3D adjustment switch 25 is positioned at a lowermost position (a third position);
FIG. 6B is a diagram illustrating a state in which the slider 25a of the 3D adjustment switch 25 is positioned above the lowermost position (a first position);
FIG. 6C is a diagram illustrating a state in which the slider 25a of the 3D adjustment switch 25 is positioned at an uppermost position (a second position);
FIG. 7 is a block diagram illustrating an internal configuration of the game apparatus 10;
FIG. 8 is a diagram illustrating a memory map of a main memory 32 of the game apparatus 10;
FIG. 9 is a diagram illustrating virtual object data shown in FIG. 8;
FIG. 10 is a main flow chart showing in detail a virtual object display process according to one embodiment of the present invention;
FIG. 11 is a flow chart showing in detail an appearance animation generation process (step S600) shown in FIG. 10;
FIG. 12 is a flow chart showing in detail an unfolding-state animation generation process (step S800) shown in FIG. 10;
FIG. 13 is a diagram illustrating a state which is displayed on the upper LCD 22 before a shooting game starts;
FIG. 14A is a diagram illustrating a photographed image displayed on the upper LCD 22;
FIG. 14B is a diagram illustrating a shift from a state shown in FIG. 14A to a state in which a part of a hexahedron appears;
FIG. 14C is a diagram illustrating a state in which the appearance of the hexahedron in the state shown in FIG. 14B advances;
FIG. 14D is a diagram illustrating a state in which the appearance of the hexahedron in the state shown in FIG. 14C advances, and the entirety of the hexahedron has appeared;
FIG. 14E is a diagram illustrating a state in which the hexahedron in the state shown in FIG. 14D is being unfolded;
FIG. 14F is a diagram illustrating a state in which the hexahedron in the state shown in FIG. 14E has been completely unfolded;
FIG. 14G is a diagram illustrating a state in which a texture is eliminated in the state shown in FIG. 14F;
FIG. 14H is a diagram illustrating a state in which the game is started after the layed-flat surfaces of the unfolded hexahedron disappear;
FIG. 15 is a diagram illustrating a state which is displayed on the upper LCD 22 when the shooting game is started;
FIG. 16 is a diagram illustrating a case where a photographed image is texture-mapped on the surfaces of the hexahedron;
FIG. 17A is a diagram illustrating a state in which a part of a quadrangular pyramid appears according to a modification;
FIG. 17B is a diagram illustrating a state in which appearance of the quadrangular pyramid in the state shown in FIG. 17A advances;
FIG. 17C is a diagram illustrating a state in which appearance of the quadrangular pyramid in the state shown in FIG. 17B advances;
FIG. 17D is a diagram illustrating a state in which appearance of the quadrangular pyramid in the state shown in FIG. 17C advances, and the entirety of the quadrangular pyramid has appeared; and
FIG. 17E is a diagram illustrating a state in which the quadrangular pyramid in the state shown in FIG. 17D has been completely unfolded.



DESCRIPTION OF THE EXAMPLE EMBODIMENTS
(Structure of game apparatus)
Hereinafter, a game apparatus will be described as an information processing apparatus according to one embodiment of the present invention. The present invention is not limited to such an apparatus. The present invention may be implemented as an information processing program executed by such an apparatus, or as an information processing system associated with such an apparatus. Further, the present invention may be implemented as an information processing method performed by such an apparatus. In the present embodiment, a game performed by the game apparatus is a target shooting game, and virtual objects, such as targets, which are confined in a hexahedron forming a closed space appear when the game is started, and the virtual objects for starting the game appear when the hexahedron is unfolded. However, the present invention is not limited to such a shooting game. Further, the closed space may not necessarily be formed by a hexahedron.
FIG. 1 to FIG. 3 are each a plan view of an outer appearance of a game apparatus 10. The game apparatus 10 is a hand-held game apparatus, and is configured to be foldable as shown in FIG. 1 to FIG. 3. FIG. 1 and FIG. 2 show the game apparatus 10 in an opened state, and FIG. 3 shows the game apparatus 10 in a closed state. FIG. 1 is a front view of the game apparatus 10 in the opened state, and FIG. 2 is a right side view of the game apparatus 10 in the opened state. The game apparatus 10 is able to take an image by means of an imaging section, display the taken image on a screen, and store data of the taken image. The game apparatus 10 can execute a game program which is stored in an exchangeable memory card or a game program which is received from a server or another game apparatus, and can display, on the screen, an image generated by computer graphics processing, such as an image taken by a virtual camera set in a virtual space, for example.
Initially, an external structure of the game apparatus 10 will be described with reference to FIG. 1 to FIG. 3. The game apparatus 10 includes a lower housing 11 and an upper housing 21 as shown in FIG. 1 to FIG. 3. The lower housing 11 and the upper housing 21 are connected to each other so as to be openable and closable (foldable). In the present embodiment, the lower housing 11 and the upper housing 21 are each formed in a horizontally long plate-like rectangular shape, and are connected to each other at long side portions thereof so as to be pivotable with respect to each other.
As shown in FIG. 1 and FIG. 2, projections 11A each of which projects in a direction orthogonal to an inner side surface (main surface) 11B of the lower housing 11 are provided at the upper long side portion of the lower housing 11, whereas a projection 21A which projects from the lower side surface of the upper housing 21 in a direction orthogonal to the lower side surface of the upper housing 21 is provided at the lower long side portion of the upper housing 21. Since the projections 11A of the lower housing 11 and the projection 21A of the upper housing 21 are connected to each other, the lower housing 11 and the upper housing 21 are foldably connected to each other.
(Description of lower housing)
Initially, a structure of the lower housing 11 will be described. As shown in FIG. 1 to FIG. 3, in the lower housing 11, a lower LCD (Liquid Crystal Display) 12, a touch panel 13, operation buttons 14A to 14L (FIG. 1, FIG. 3), an analog stick 15, an LED 16A and an LED 16B, an insertion opening 17, and a microphone hole 18 are provided. Hereinafter, these components will be described in detail.
As shown in FIG. 1, the lower LCD 12 is accommodated in the lower housing 11. The lower LCD 12 has a horizontally long shape, and is located such that a long side direction thereof corresponds to a long side direction of the lower housing 11. The lower LCD 12 is positioned at the center of the lower housing 11. The lower LCD 12 is provided on the inner side surface (main surface) of the lower housing 11, and a screen of the lower LCD 12 is exposed at an opening of the lower housing 11. When the game apparatus 10 is not used, the game apparatus 10 is in the closed state, thereby preventing the screen of the lower LCD 12 from becoming unclean and damaged. The number of pixels of the lower LCD 12 may be, for example, 256 dots×192 dots (the horizontal line×the vertical line). The lower LCD 12 is a display device for displaying an image in a planar manner (not in a stereoscopically visible manner), which is different from the upper LCD 22 as described below. Although an LCD is used as a display device in the present embodiment, any other display device such as a display device using an EL (Electro Luminescence), or the like may be used. In addition, a display device having any resolution may be used as the lower LCD 12.
As shown in FIG. 1, the game apparatus 10 includes the touch panel 13 as an input device. The touch panel 13 is mounted on the screen of the lower LCD 12. In the present embodiment, the touch panel 13 may be, but is not limited to, a resistive film type touch panel. A touch panel of any type such as electrostatic capacitance type may be used, In the present embodiment, the touch panel 13 has the same resolution (detection accuracy) as that of the lower LCD 12. However, the resolution of the touch panel 13 and the resolution of the lower LCD 12 may not necessarily be the same, Further, the insertion opening 17 (indicated by dashed line in FIG. 1 and FIG. 3(d)) is provided on the upper side surface of the lower housing 11. The insertion opening 17 is used for accommodating a touch pen 28 which is used for performing an operation on the touch panel 13. Although an input on the touch panel 13 is usually made by using the touch pen 28, a finger of a user may be used for making an input on the touch panel 13, in addition to the touch pen 28.
The operation buttons 14A to 14L are each an input device for making a predetermined input. As shown in FIG. 1, among the operation buttons 14A to 14L, a cross button 14A (a direction input button 14A), a button 14B, a button 14C, a button 14D, a button 14E, a power button 14F, a selection button 14J, a HOME button 14K, and a start button 14L are provided on the inner side surface (main surface) of the lower housing 11. The cross button 14A is cross-shaped, and includes buttons for indicating an upward, a downward, a leftward, or a rightward direction. The button 14B, button 14C, button 14D, and button 14E are positioned so as to form a cross shape. The button 14A to 14E, the selection button 14J, the HOME button 14K, and the start button 14L are assigned functions, respectively, in accordance with a program executed by the game apparatus 10, as necessary. For example, the cross button 14A is used for selection operation and the like, and the operation buttons 14B to 14E are used for, for example, determination operation and cancellation operation. The power button 14F is used for powering the game apparatus 10 on/off.
The analog stick 15 is a device for indicating a direction, and is provided to the left of the lower LCD 12 in an upper portion of the inner side surface of the lower housing 11. As shown in FIG. 1, the cross button 14A is provided to the left of the lower LCD12 in the lower portion of the lower housing 11. That is, the analog stick 15 is provided above the cross button 14A. The analog stick 15 and the cross button 14A are positioned so as to be operated by a thumb of a left hand with which the lower housing is held. Further, the analog stick 15 is provided in the upper area, and thus the analog stick 15 is positioned such that a thumb of a left hand with which the lower housing 11 is held is naturally positioned on the position of the analog stick 15, and the cross button 14A is positioned such that the thumb of the left hand is positioned on the position of the cross button 14A when the thumb of the left hand is slightly moved downward from the analog stick 15. The analog stick 15 has a top, corresponding to a key, which slides parallel to the inner side surface of the lower housing 11. The analog stick 15 acts in accordance with a program executed by the game apparatus 10. For example, when a game in which a predetermined object emerges in a three-dimensional virtual space is executed by the game apparatus 10, the analog stick 15 acts as an input device for moving the predetermined object in the three-dimensional virtual space. In this case, the predetermined object is moved in a direction in which the top corresponding to the key of the analog stick 15 slides. As the analog stick 15, a component which enables an analog input by being tilted by a predetermined amount, in any direction, such as the upward, the downward, the rightward, the leftward, or the diagonal direction, may be used.
Four buttons, that is, the button 14B, the button 14C, the button 14D, and the button 14E, which are positioned so as to form a cross shape, are positioned such that a thumb of a right hand with which the lower housing 11 is held is naturally positioned on the positions of the four buttons. Further, the four buttons and the analog stick 15 are disposed on opposite sides of the lower LCD 12, so as to be bilaterally symmetrical in position with respect to each other. Thus, depending on a game program, for example, a left-handed person can make a direction instruction input by using these four buttons.
Further, the microphone hole 18 is provided on the inner side surface of the lower housing 11. Under the microphone hole 18, a microphone (see FIG. 7) is provided as a sound input device described below, and the microphone detects for a sound from the outside of the game apparatus 10.
FIG. 3(a) is a left side view of the game apparatus 10 in the closed state. FIG. 3(b) is a front view of the game apparatus 10 in the closed state. FIG. 3(c) is a right side view of the game apparatus 10 in the closed state. FIG. 3(d) is a rear view of the game apparatus 10 in the closed state. As shown in FIG. 3(b) and FIG. 3(d), an L button 14G and an R button 14H are provided on the upper side surface of the lower housing 11. The L button 14G is positioned on the left end portion of the upper side surface of the lower housing 11 and the R button 14H is positioned on the right end portion of the upper side surface of the lower housing 11. The L button 14G and the R button 14H act as shutter buttons (imaging instruction buttons) of the imaging section. Further, as shown in FIG. 3(a), a sound volume button 14I is provided on the left side surface of the lower housing 11. The sound volume button 14I is used for adjusting a sound volume of a speaker of the game apparatus 10.
As shown in FIG. 3(a), a cover section 11C is provided on the left side surface of the lower housing 11 so as to be openable and closable. Inside the cover section 11C, a connector (not shown) is provided for electrically connecting between the game apparatus 10 and an external data storage memory 45. The external data storage memory 45 is detachably connected to the connector. The external data storage memory 45 is used for, for example, recording (storing) data of an image taken by the game apparatus 10. The connector and the cover section 11C may be provided on the right side surface of the lower housing 11.
Further, as shown in FIG. 3(d), an insertion opening 11D through which an external memory 44 having a game program stored therein is inserted is provided on the upper side surface of the lower housing 11A connector (not shown) for electrically connecting between the game apparatus 10 and the external memory 44 in a detachable manner is provided inside the insertion opening 11D. A predetermined game program is executed by connecting the external memory 44 to the game apparatus 10. The connector and the insertion opening 11D may be provided on another side surface (for example, the right side surface) of the lower housing 11.
Further, as shown in FIG. 1 and FIG. 3(c), a first LED 16A for notifying a user of an ON/OFF state of a power supply of the game apparatus 10 is provided on the lower side surface of the lower housing 11, and a second LED 16B for notifying a user of an establishment state of a wireless communication of the game apparatus 10 is provided on the right side surface of the lower housing 11. The game apparatus 10 can make wireless communication with other devices, and the second LED 16B is lit up when the wireless communication is established. The game apparatus 10 has a function of connecting to a wireless LAN in a method based on, for example, IEEE802.11.b/g standard. A wireless switch 19 for enabling/disabling the function of the wireless communication is provided on the right side surface of the lower housing 11 (see FIG. 3(c)).
A rechargeable battery (not shown) acting as a power supply for the game apparatus 10 is accommodated in the lower housing 11, and the battery can be charged through a terminal provided on a side surface (for example, the upper side surface) of the lower housing 11.
(Description of upper housing)
Next, a structure of the upper housing 21 will be described. As shown in FIG. 1 to FIG. 3, in the upper housing 21, an upper LCD (Liquid Crystal Display) 22, an outer imaging section 23 (an outer imaging section (left) 23a and an outer imaging section (right) 23b), an inner imaging section 24, a 3D adjustment switch 25, and a 3D indicator 26 are provided. Hereinafter, theses components will be described in detail.
As shown in FIG. 1, the upper LCD 22 is accommodated in the upper housing 21. The upper LCD 22 has a horizontally long shape, and is located such that a long side direction thereof corresponds to a long side direction of the upper housing 21. The upper LCD 22 is positioned at the center of the upper housing 21. The area of a screen of the upper LCD 22 is set so as to be greater than the area of the screen of the lower LCD 12. Further, the screen of the upper LCD 22 is horizontally elongated as compared to the screen of the lower LCD 12. Specifically, a rate of the horizontal width in the aspect ratio of the screen of the upper LCD 22 is set so as to be greater than a rate of the horizontal width in the aspect ratio of the screen of the lower LCD 12.
The screen of the upper LCD 22 is provided on the inner side surface (main surface) 21B of the upper housing 21, and the screen of the upper LCD 22 is exposed at an opening of the upper housing 21. Further, as shown in FIG. 2 and FIG. 4, the inner side surface of the upper housing 21 is covered with a transparent screen cover 27. FIG. 4 is an exploded view illustrating a state in which the screen cover 27 is removed from the inner side surface of the upper housing 21. The screen cover 27 protects the screen of the upper LCD 22, and integrates the upper LCD 22 and the inner side surface of the upper housing 21 with each other, thereby achieving unity. The number of pixels of the upper LCD 22 may be, for example, 640 dots×200 dots (the horizontal line×the vertical line). Although, in the present embodiment, the upper LCD 22 is an LCD, a display device using an EL (Electro Luminescence), or the like may be used. In addition, a display device having any resolution may be used as the upper LCD 22.
The upper LCD 22 is a display device capable of displaying a stereoscopically visible image. Further, in the present embodiment, an image for a left eye and an image for a right eye are displayed by using substantially the same display area. Specifically, the upper LCD 22 may be a display device using a method in which the image for a left eye and the image for a right eye are alternately displayed in the horizontal direction in predetermined units (for example, every other line). Alternatively, a display device using a method in which the image for a left eye and the image for a right eye are alternately displayed for a predetermined time period may be used. Further, in the present embodiment, the upper LCD 22 is a display device capable of displaying an image which is stereoscopically visible with naked eyes. A lenticular lens type display device or a parallax barrier type display device is used which enables the image for a left eye and the image for a right eye, which are alternately displayed in the horizontal direction, to be separately viewed by the left eye and the right eye, respectively. In the present embodiment, the upper LCD 22 of a parallax barrier type is used. The upper LCD 22 displays, by using the image for a right eye and the image for a left eye, an image (a stereoscopic image) which is stereoscopically visible with naked eyes. That is, the upper LCD 22 allows a user to view the image for a left eye with her/his left eye, and the image for a right eye with her/his right eye by utilizing a parallax barrier, so that a stereoscopic image (a stereoscopically visible image) exerting a stereoscopic effect for a user can be displayed. Further, the upper LCD 22 may disable the parallax barrier. When the parallax barrier is disabled, an image can be displayed in a planar manner (it is possible to display a planar visible image which is different from a stereoscopically visible image as described above. Specifically, a display mode is used in which the same displayed image is viewed with a left eye and a right eye.). Thus, the upper LCD 22 is a display device capable of switching between a stereoscopic display mode for displaying a stereoscopically visible image and a planar display mode (for displaying a planar visible image) for displaying an image in a planar manner. The switching of the display mode is performed by the 3D adjustment switch 25 described below.
Two imaging sections (23a and 23b) provided on the outer side surface (the back surface reverse of the main surface on which the upper LCD 22 is provided) 21D of the upper housing 21 are generically referred to as the outer imaging section 23. The imaging directions of the outer imaging section (left) 23a and the outer imaging section (right) 23b are each the same as the outward normal direction of the outer side surface 21D. Further, these imaging sections are each designed so as to be positioned in a direction which is opposite to the normal direction of the display surface (inner side surface) of the upper LCD 22 by 180 degrees. Specifically, the imaging direction of the outer imaging section (left) 23a and the imaging direction of the outer imaging section (right) 23b are parallel to each other. The outer imaging section (left) 23a and the outer imaging section (right) 23b can be used as a stereo camera depending on a program executed by the game apparatus 10. Further, depending on a program, when any one of the two outer imaging sections (23a and 23b) is used alone, the outer imaging section 23 may be used as a non-stereo camera. Further, depending on a program, images taken by the two outer imaging sections (23a and 23b) may be combined with each other or may compensate for each other, thereby enabling imaging using an extended imaging range. In the present embodiment, the outer imaging section 23 is structured so as to include two imaging sections, that is, the outer imaging section (left) 23a and the outer imaging section (right) 23b. Each of the outer imaging section (left) 23a and the outer imaging section (right) 23b includes an imaging device, such as a CCD image sensor or a CMOS image sensor, having a common predetermined resolution, and a lens. The lens may have a zooming mechanism.
As indicated by dashed lines in FIG. 1 and by solid lines in FIG. 3(b), the outer imaging section (left) 23a and the outer imaging section (right) 23b forming the outer imaging section 23 are aligned so as to be parallel to the horizontal direction of the screen of the upper LCD 22. Specifically, the outer imaging section (left) 23a and the outer imaging section (right) 23b are positioned such that a straight line connecting between the two imaging sections is parallel to the horizontal direction of the screen of the upper LCD 22. Reference numerals 23a and 23b which are indicated as dashed lines in FIG. 1 represent the outer imaging section (left) 23a and the outer imaging section (right) 23b, respectively, which are positioned on the outer side surface reverse of the inner side surface of the upper housing 21. As shown in FIG. 1, when a user views the screen of the upper LCD 22 from the front thereof, the outer imaging section (left) 23a is positioned to the left of the upper LCD 22 and the outer imaging section (right) 23b is positioned to the right of the upper LCD 22. When a program for causing the outer imaging section 23 to function as a stereo camera is executed, the outer imaging section (left) 23a takes an image for a left eye, which is viewed by a left eye of a user, and the outer imaging section (right) 23b takes an image for a right eye, which is viewed by a right eye of the user. A distance between the outer imaging section (left) 23a and the outer imaging section (right) 23b is set so as to be approximately the same as a distance between both eyes of a person, that is, may be set so as to be within a range from 30 mm to 70 mm, for example, However, the distance between the outer imaging section (left) 23a and the outer imaging section (right) 23b is not limited to a distance within the range described above.
In the present embodiment, the outer imaging section (left) 23a and the outer imaging section (right) 23b are secured to the housing, and the imaging directions thereof cannot be changed.
Further, the outer imaging section (left) 23a and the outer imaging section (right) 23b are positioned to the left and to the right, respectively, of the upper LCD 22 (on the left side and the right side, respectively, of the upper housing 21) so as to be horizontally symmetrical with respect to the center of the upper LCD 22. Specifically, the outer imaging section (left) 23a and the outer imaging section (right) 23b are positioned so as to be symmetrical with respect to a line which divides the upper LCD 22 into two equal parts, that is, the left part and the right part. Further, the outer imaging section (left) 23a and the outer imaging section (right) 23b are positioned at positions which are reverse of positions above the upper edge of the screen of the upper LCD 22 and which are on the upper portion of the upper housing 21 in an opened state. Specifically, when the upper LCD 22 is projected on the outer side surface of the upper housing 21, the outer imaging section (left) 23a and the outer imaging section (right) 23b are positioned, on the outer side surface of the upper housing 21, at a position above the upper edge of the screen of the upper LCD 22 having been projected.
As described above, the two imaging sections (23a and 23b) of the outer imaging section 23 are positioned to the left and the right of the upper LCD 22 so as to be horizontally symmetrical with respect to the center of the upper LCD 22. Therefore, when a user views the upper LCD 22 from the front thereof, the imaging direction of the outer imaging section 23 can be the same as the direction of the line of sight of the user. Further, the outer imaging section 23 is positioned at a position reverse of a position above the upper edge of the screen of the upper LCD 22. Therefore, the outer imaging section 23 and the upper LCD 22 do not interfere with each other inside the upper housing 21. Therefore, the upper housing 21 may have a reduced thickness as compared to a case where the outer imaging section 23 is positioned on a position reverse of a position of the screen of the upper LCD 22.
The inner imaging section 24 is positioned on the inner side surface (main surface) 21B of the upper housing 21, and acts as an imaging section which has an imaging direction which is the same direction as the inward normal direction of the inner side surface. The inner imaging section 24 includes an imaging device, such as a CCD image sensor and a CMOS image sensor, having a predetermined resolution, and a lens. The lens may have a zooming mechanism.
As shown in FIG. 1, when the upper housing 21 is in the opened state, the inner imaging section 24 is positioned, on the upper portion of the upper housing 21, above the upper edge of the screen of the upper LCD 22. Further, in this state, the inner imaging section 24 is positioned at the horizontal center of the upper housing 21 (on a line which separates the upper housing 21 (the screen of the upper LCD 22) into two equal parts, that is, the left part and the right part). Specifically, as shown in FIG. 1 and FIG. 3(b), the inner imaging section 24 is positioned on the inner side surface of the upper housing 21 at a position reverse of the middle position between the left and the right imaging sections (the outer imaging section (left) 23a and the outer imaging section (right) 23b) of the outer imaging section 23. Specifically, when the left and the right imaging sections of the outer imaging section 23 provided on the outer side surface of the upper housing 21 are projected on the inner side surface of the upper housing 21, the inner imaging section 24 is positioned at the middle position between the left and the right imaging sections having been projected. The dashed line 24 indicated in FIG. 3(b) represents the inner imaging section 24 positioned on the inner side surface of the upper housing 21.
As described above, the inner imaging section 24 is used for taking an image in the direction opposite to that of the outer imaging section 23. The inner imaging section 24 is positioned on the inner side surface of the upper housing 21 at a position reverse of the middle position between the left and the right imaging sections of the outer imaging section 23. Thus, when a user views the upper LCD 22 from the front thereof, the inner imaging section 24 can take an image of a face of the user from the front thereof. Further, the left and the right imaging sections of the outer imaging section 23 do not interfere with the inner imaging section 24 inside the upper housing 21, thereby enabling reduction of the thickness of the upper housing 21.
The 3D adjustment switch 25 is a slide switch, and is used for switching a display mode of the upper LCD 22 as described above. Further, the 3D adjustment switch 25 is used for adjusting the stereoscopic effect of a stereoscopically visible image (stereoscopic image) which is displayed on the upper LCD 22. As shown in FIG. 1 to FIG. 3, the 3D adjustment switch 25 is provided at the end portions of the inner side surface and the right side surface of the upper housing 21, and is positioned at a position at which the 3D adjustment switch 25 is visible to a user when the user views the upper LCD 22 from the front thereof. Further, an operation section of the 3D adjustment switch 25 projects on the inner side surface and the right side surface, and can be viewed and operated from both sides. All the switches other than the 3D adjustment switch 25 are provided on the lower housing 11.
FIG. 5 is a cross-sectional view of the upper housing 21 shown in FIG. 1 taken along a line A-A′. As shown in FIG. 5, a recessed portion 21C is formed at the right end portion of the inner side surface of the upper housing 21, and the 3D adjustment switch 25 is provided in the recessed portion 21C. The 3D adjustment switch 25 is provided so as to be visible from the front surface and the right side surface of the upper housing 21 as shown in FIG. 1 and FIG. 2. A slider 25a of the 3D adjustment switch 25 is slidable to any position in a predetermined direction (along the longitudinal direction of the right side surface), and a display mode of the upper LCD 22 is determined in accordance with the position of the slider 25a. 
FIG. 6A to FIG. 6C are each a diagram illustrating a state in which the slider 25a of the 3D adjustment switch 25 slides. FIG. 6A is a diagram illustrating a state in which the slider 25a of the 3D adjustment switch 25 is positioned at the lowermost position (a third position). FIG. 6B is a diagram illustrating a state in which the slider 25a of the 3D adjustment switch 25 is positioned above the lowermost position (a first position). FIG. 6C is a diagram illustrating a state in which the slider 25a of the 3D adjustment switch 25 is positioned at the uppermost position (a second position).
As shown in FIG. 6A, when the slider 25a of the 3D adjustment switch 25 is positioned at the lowermost position (the third position), the upper LCD 22 is set to the planar display mode, and a planar image is displayed on the screen of the upper LCD 22 (the upper LCD 22 may remain set to the stereoscopic display mode, and the same image may be used for the image for a left eye and the image for a right eye, to perform planar display). On the other hand, when the slider 25a is positioned between a position shown in FIG. 6B (a position (first position) above the lowermost position) and a position shown in FIG. 6C (the uppermost position (the second position)), the upper LCD 22 is set to the stereoscopic display mode. In this case, a stereoscopically visible image is displayed on the screen of the upper LCD 22. When the slider 25a is positioned between the first position and the second position, a manner in which the stereoscopic image is visible is adjusted in accordance with the position of the slider 25a. Specifically, an amount of deviation in the horizontal direction between a position of an image for a right eye and a position of an image for a left eye is adjusted in accordance with the position of the slider 25a. The slider 25a of the 3D adjustment switch 25 is configured so as to be fixed at the third position, and is slidable, along the longitudinal direction of the right side surface, to any position between the first position and the second position. For example, the slider 25a is fixed at the third position by a projection (not shown) which projects, from the side surface of the 3D adjustment switch 25, in the lateral direction shown in FIG. 6A, and does not slide upward from the third position unless a predetermined force or a force greater than the predetermined force is applied upward. When the slider 25a is positioned between the third position and the first position, the manner in which the stereoscopic image is visible is not adjusted, which is intended as a margin. In another embodiment, the third position and the first position may be the same position, and, in this case, no margin is provided. Further, the third position may be provided between the first position and the second position. In this case, a direction in which an amount of deviation in the horizontal direction between a position of an image for a right eye and a position of an image for a left eye is adjusted when the slider is moved from the third position toward the first position, is opposite to a direction in which an amount of deviation in the horizontal direction between the position of the image for the right eye and the position of the image for the left eye is adjusted when the slider is moved from the third position toward the second position.
The program executed by the game apparatus according to the present embodiment includes a program for displaying a stereoscopic photograph, and a program for displaying a stereoscopic CG image. The program for displaying a stereoscopic CG image is used for taking an image of a virtual space by means of a virtual camera for a left eye and a virtual camera for a right eye to generate an image for the left eye and an image for the right eye. The game apparatus according to the present embodiment adjusts the stereoscopic effect by changing a distance between the two virtual cameras in accordance with the position of the slider 25a of the 3D adjustment switch 25 when executing such a program.
The 3D indicator 26 indicates whether or not the upper LCD 22 is in the stereoscopic display mode. The 3D indicator 26 is implemented as a LED, and is lit up when the stereoscopic display mode of the upper LCD 22 is enabled. The 3D indicator 26 may be lit up only when the program processing for displaying a stereoscopically visible image is performed (namely, image processing in which an image for a left eye is different from an image for a right eye is performed in the case of the 3D adjustment switch being positioned between the first position and the second position) in a state where the upper LCD 22 is in the stereoscopic display mode. As shown in FIG. 1, the 3D indicator 26 is positioned near the screen of the upper LCD 22 on the inner side surface of the upper housing 21. Therefore, when a user views the screen of the upper LCD 22 from the front thereof, the user can easily view the 3D indicator 26. Therefore, also when a user is viewing the screen of the upper LCD 22, the user can easily recognize the display mode of the upper LCD 22.
Further, a speaker hole 21E is provided on the inner side surface of the upper housing 21. A sound is outputted through the speaker hole 21E from a speaker 43 descried below.
(Internal configuration of game apparatus 10)
Next, an internal electrical configuration of the game apparatus 10 will be described with reference to FIG. 7. FIG. 7 is a block diagram illustrating an internal configuration of the game apparatus 10. As shown in FIG. 7, the game apparatus 10 includes, in addition to the components described above, electronic components such as an information processing section 31, a main memory 32, an external memory interface (external memory I/F) 33, an external data storage memory I/F 34, an internal data storage memory 35, a wireless communication module 36, a local communication module 37, a real-time clock (RTC) 38, an acceleration sensor 39, a power supply circuit 40, an interface circuit (I/F circuit) 41, and the like. These electronic components are mounted on an electronic circuit substrate, and accommodated in the lower housing 11 (or the upper housing 21).
The information processing section 31 is information processing means which includes a CPU (Central Processing Unit) 311 for executing a predetermined program, a GPU (Graphics Processing Unit) 312 for performing image processing, and the like. In the present embodiment, a predetermined program is stored in a memory (for example, the external memory 44 connected to the external memory I/F 33 or the internal data storage memory 35) inside the game apparatus 10. The CPU 311 of the information processing section 31 executes a virtual object display process (FIG. 10) described below by executing the predetermined program. The program executed by the CPU 311 of the information processing section 31 may be acquired from another device through communication with the other device. The information processing section 31 further includes a VRAM (Video RAM) 313. The GPU 312 of the information processing section 31 generates an image in accordance with an instruction from the CPU 311 of the information processing section 31, and renders the image in the VRAM 313. The GPU 312 of the information processing section 31 outputs the image rendered in the VRAM 313, to the upper LCD 22 and/or the lower LCD 12, and the image is displayed on the upper LCD 22 and/or the lower LCD 12.
To the information processing section 31, the main memory 32, the external memory I/F 33, the external data storage memory I/F 34, and the internal data storage memory 35 are connected. The external memory I/F 33 is an interface for detachably connecting to the external memory 44. The external data storage memory I/F 34 is an interface for detachably connecting to the external data storage memory 45.
The main memory 32 is volatile storage means used as a work area and a buffer area for (the CPU 311 of) the information processing section 31. That is, the main memory 32 temporarily stores various types of data used for the virtual object display process, and temporarily stores a program acquired from the outside (the external memory 44, another device, or the like), for example. In the present embodiment, for example, a PSRAM (Pseudo-SRAM) is used as the main memory 32.
The external memory 44 is nonvolatile storage means for storing a program executed by the information processing section 31. The external memory 44 is implemented as, for example, a read-only semiconductor memory. When the external memory 44 is connected to the external memory I/F 33, the information processing section 31 can load a program stored in the external memory 44. A predetermined process is performed by the program loaded by the information processing section 31 being executed. The external data storage memory 45 is implemented as a non-volatile readable and writable memory (for example, a NAND flash memory), and is used for storing predetermined data. For example, images taken by the outer imaging section 23 and/or images taken by another device are stored in the external data storage memory 45. When the external data storage memory 45 is connected to the external data storage memory I/F 34, the information processing section 31 loads an image stored in the external data storage memory 45, and the image can be displayed on the upper LCD 22 and/or the lower LCD 12.
The internal data storage memory 35 is implemented as a non-volatile readable and writable memory (for example, a NAND flash memory), and is used for storing predetermined data. For example, data and/or programs downloaded through the wireless communication module 36 by wireless communication is stored in the internal data storage memory 35.
The wireless communication module 36 has a function of connecting to a wireless LAN by using a method based on, for example, IEEE 802.11.b/g standard. The local communication module 37 has a function of performing wireless communication with the same type of game apparatus in a predetermined communication method (for example, infrared communication). The wireless communication module 36 and the local communication module 37 are connected to the information processing section 31. The information processing section 31 can perform data transmission to and data reception from another device via the Internet by using the wireless communication module 36, and can perform data transmission to and data reception from the same type of another game apparatus by using the local communication module 37.
The acceleration sensor 39 is connected to the information processing section 31. The acceleration sensor 39 detects magnitudes of accelerations (linear accelerations) in the directions of the straight lines along the three axial (xyz axial) directions, respectively. The acceleration sensor 39 is provided inside the lower housing 11. In the acceleration sensor 39, as shown in FIG. 1, the long side direction of the lower housing 11 is defined as x axial direction, the short side direction of the lower housing 11 is defined as y axial direction, and the direction orthogonal to the inner side surface (main surface) of the lower housing 11 is defined as z-axis direction, thereby detecting magnitudes of the linear accelerations for the respective axes. The acceleration sensor 39 is, for example, an electrostatic capacitance type acceleration sensor. However, another type of acceleration sensor may be used. The acceleration sensor 39 may be an acceleration sensor for detecting a magnitude of an acceleration for one axial direction or two-axial directions. The information processing section 31 can receive data (acceleration data) representing accelerations detected by the acceleration sensor 39, and detect an orientation and a motion of the game apparatus 10.
The RTC 38 and the power supply circuit 40 are connected to the information processing section 31. The RTC 38 counts time, and outputs the time to the information processing section 31. The information processing section 31 calculates a current time (date) based on the time counted by the RTC 38. The power supply circuit 40 controls power from the power supply (the rechargeable battery accommodated in the lower housing 11 as described above) of the game apparatus 10, and supplies power to each component of the game apparatus 10.
The I/F circuit 41 is connected to the information processing section 31. The microphone 42 and the speaker 43 are connected to the I/F circuit 41. Specifically, the speaker 43 is connected to the I/F circuit 41 through an amplifier which is not shown. The microphone 42 detects a voice from a user, and outputs a sound signal to the I/F circuit 41. The amplifier amplifies a sound signal outputted from the I/F circuit 41, and a sound is outputted from the speaker 43. The touch panel 13 is connected to the I/F circuit 41. The I/F circuit 41 includes a sound control circuit for controlling the microphone 42 and the speaker 43 (amplifier), and a touch panel control circuit for controlling the touch panel. The sound control circuit performs A/D conversion and D/A conversion on the sound signal, and converts the sound signal to a predetermined form of sound data, for example. The touch panel control circuit generates a predetermined form of touch position data based on a signal outputted from the touch panel 13, and outputs the touch position data to the information processing section 31. The touch position data represents a coordinate of a position, on an input surface of the touch panel 13, on which an input is made. The touch panel control circuit reads a signal outputted from the touch panel 13, and generates the touch position data every predetermined time. The information processing section 31 acquires the touch position data, to recognize a position on which an input is made on the touch panel 13.
The operation button 14 includes the operation buttons 14A to 14L described above, and is connected to the information processing section 31. Operation data representing an input state of each of the operation buttons 14A to 14L is outputted from the operation button 14 to the information processing section 31, and the input state indicates whether or not each of the operation buttons 14A to 14L has been pressed. The information processing section 31 acquires the operation data from the operation button 14 to perform a process in accordance with the input on the operation button 14.
The lower LCD 12 and the upper LCD 22 are connected to the information processing section 31. The lower LCD 12 and the upper LCD 22 each display an image in accordance with an instruction from (the GPU 312 of) the information processing section 31, In the present embodiment, the information processing section 31 causes the upper LCD 22 to display a stereoscopic image (stereoscopically visible image).
Specifically, the information processing section 31 is connected to an LCD controller (not shown) of the upper LCD 22, and causes the LCD controller to set the parallax barrier to ON or OFF. When the parallax barrier is set to ON in the upper LCD 22, an image for a right eye and an image for a left eye, which are stored in the VRAM 313 of the information processing section 31 are outputted to the upper LCD 22. More specifically, the LCD controller alternately repeats reading of pixel data of the image for a right eye for one line in the vertical direction, and reading of pixel data of the image for a left eye for one line in the vertical direction, thereby reading, from the VRAM 313, the image for a right eye and the image for a left eye. Thus, an image to be displayed is divided into the images for a right eye and the images for a left eye each of which is a rectangle-shaped image having one line of pixels aligned in the vertical direction, and an image, in which the rectangle-shaped image for the left eye which is obtained through the division, and the rectangle-shaped image for the right eye which is obtained through the division are alternately aligned, is displayed on the screen of the upper LCD 22. A user views the images through the parallax barrier in the upper LCD 22, so that the image for the right eye is viewed by the user's right eye, and the image for the left eye is viewed by the user's left eye. Thus, the stereoscopically visible image is displayed on the screen of the upper LCD 22.
The outer imaging section 23 and the inner imaging section 24 are connected to the information processing section 31. The outer imaging section 23 and the inner imaging section 24 each take an image in accordance with an instruction from the information processing section 31, and output data of the taken image to the information processing section 31. In the present embodiment, the information processing section 31 issues an instruction for taking an image to one of the outer imaging section 23 or the inner imaging section 24, and the imaging section which receives the instruction for taking an image takes an image and transmits data of the taken image to the information processing section 31. Specifically, in the present embodiment, a user selects the imaging section to be used through a touch operation using the touch panel 13. When the information processing section 31 (the CPU 311) detects that the imaging section is selected, the information processing section 31 instructs one of the outer imaging section 32 or the inner imaging section 24 to take an image.
The 3D adjustment switch 25 is connected to the information processing section 31. The 3D adjustment switch 25 transmits, to the information processing section 31, an electrical signal in accordance with the position of the slider 25a. 
The 3D indicator 26 is connected to the information processing section 31. The information processing section 31 controls whether or not the 3D indicator 26 is to be lit up. In the present embodiment, the information processing section 31 lights up the 3D indicator 26 when the upper LCD 22 is in the stereoscopic display mode. The game apparatus 10 has the internal configuration as described above.
(Details of virtual object display process)
Next, a virtual object display process according to the present embodiment will be described in detail with reference to FIG. 8 to FIG. 12. Initially, main data to be stored in the main memory 32 when the virtual object display process is executed will be described. FIG. 8 is a diagram illustrating a memory map of the main memory 32 of the game apparatus 10. As shown in FIG. 8, the main memory 32 has a data storage area 70. Camera selection data 71, image-for-left-eye position data 72, image-for-right-eye position data 73, display mode data 74, operation data 75, virtual camera data (position, orientation) 76, virtual object data 77, and the like are stored in the data storage area 70. In addition to the data described above, programs for executing the imaging process described above, data representing a touch position on the touch panel 13, data representing an image which is displayed on the lower LCD 12 for selection of a camera, and the like are stored in the main memory 32. In the following description, the “imaging section” may be referred to as a “camera”.
The camera selection data 71 represents the imaging section which has been most recently selected. The camera selection data 71 indicates whether the most recently selected imaging section is the outer imaging section 23 or the inner imaging section 24.
The image-for-left-eye position data 72 represents a position at which the image for a left eye which has been taken by the outer imaging section (left) 23a is displayed on the upper LCD 22, and represents a coordinate value of the image center of the image for the left eye. The image-for-right-eye position data 73 represents a position at which the image for a right eye which has been taken by the outer imaging section (right) 23b is displayed on the upper LCD 22, and represents a coordinate value of the image center of the image for the right eye.
The display mode data 74 indicates whether the display mode of the upper LCD 22 is the stereoscopic display mode or the planar display mode.
The operation data 75 represents an operation performed on each of the operation buttons 14A to 14E and 14G to 14H, and the analog stick 15. The operation data 75 represents an operation for moving a character, an operation for causing a character to perform the shooting, or the like in, for example, the shooting game in which a character representing a user is displayed on a screen.
The virtual camera data 76 is position data and orientation data representing a position and an orientation, respectively, of the virtual camera, which are calculated in a marker coordinate system based on marker recognition result described below.
The virtual object data 77 represents virtual objects displayed in a virtual space. Specifically, the virtual object data 77 indicates, for each stage of the shooting game, the virtual objects to be displayed in the stage, for example, as shown in FIG. 9.
As shown in FIG. 9, in the virtual object data, the virtual objects displayed in each stage are assigned virtual object numbers, respectively. The virtual objects are represented by virtual object names, position data representing the plane positions (in the marker coordinate system), and rotation axis data by using the virtual object numbers as keys, respectively. The virtual object data may not be necessarily represented by those described above.
The virtual object data 77 represents data of virtual objects which are positioned, when a hexahedron forming a closed space is completely unfolded, on the layed-flat surfaces of the unfolded hexahedron, as described below. Specifically, the virtual objects are virtual objects to be confined in the closed space formed by the hexahedron. The position data representing the plane positions indicates positions of the virtual objects, respectively, which are positioned on the layed-flat surfaces of the completely unfolded hexahedron forming the closed space. When the hexahedron formed by six surfaces to be layed flat shifts from the closed state to the opened state, positions and orientations of the virtual objects positioned on the surfaces of the hexahedron are changed in accordance with the form of the hexahedron being changed. At this time, one side of the bottom surface among the surfaces of the hexahedron on which the virtual objects are positioned acts as the center of rotation about which the corresponding virtual objects are rotated, and therefore data representing the one side is stored as the rotation axis data.
Next, the virtual object display process will be described in detail with reference to FIG. 10 to FIG. 12. FIG. 10 is a main flow chart showing the virtual object display process (main routine) according to the present embodiment. FIG. 11 is a flow chart showing an appearance animation generation process (sub-routine) of S600 shown in FIG. 10. FIG. 12 is a flow chart showing an unfolding-state animation generation process (sub-routine) of S800 shown in FIG. 10.
When the game apparatus 10 is powered on, the information processing section 31 (the CPU 311) of the game apparatus 10 executes a start-up program stored in a ROM which is not shown, thereby initializing the respective units such as the main memory 32. Next, a virtual object display program stored in the internal data storage memory 35 is loaded to the main memory 32, and the execution of the program is started by the CPU 311 of the information processing section 31. An image including the virtual objects is also displayed on the upper LCD 22 by using programs other than those described above. However, the programs other than those described above are less related to the fundamental part of example embodiments of the present invention, and the description thereof is not given.
A process loop of step S100 to step S1200 shown in FIG. 10 is repeatedly executed in each frame (one frame corresponds to, for example, 1/30 seconds, and this is referred to as a frame time or a cycle time). Since the program is repeatedly executed, the following animation is displayed when the shooting game is started.
For example, when a user requests start of the execution of the game program, virtual objects (targets to be shot) of a first stage are displayed on the upper LCD 22. Before the virtual objects of the first stage are displayed on the upper LCD 22, a hexahedron which has the virtual objects of the first stage confined therein, and has the top surface which is equal in size to a marker appears so as to ascend from the position of the marker. Subsequently, the hexahedron is unfolded such that the surfaces of the hexahedron are layed flat, and the virtual objects of the first stage are displayed. The layed flat surfaces of the hexahedron disappear, and the first stage (the starting stage of the game) is started. An animation representing these states is displayed until the game is started after a user requests the start of the game, by the program shown in FIG. 10 being repeatedly executed.
Further, in the following description, the outer imaging section 23 is selected as the imaging section, and the stereoscopic display mode is selected as the display mode. However, example embodiments of the present invention may be applied to the planar display mode as well as the stereoscopic display mode. Further, the information processing section 31 previously obtains positional information for the hexahedron or the surface (top surface) of the hexahedron, which is not described with reference to the following flow charts. At this time, the hexahedron may be set such that the top surface of the hexahedron is displayed at a predetermined position (for example, on a position of the marker) so as to have a predetermined size (for example, the same size as the marker). Alternatively, the position and the size of the top surface of the hexahedron may be determined, based on the positioning of the virtual objects for the start of the game, so as to display the virtual objects on the layed-flat surfaces of the hexahedron. In this case, each of the virtual objects to be displayed when the game is started needs to be positioned on any of the layed-flat surfaces of the unfolded hexahedron. The surfaces of the hexahedron are disposed such that the side surfaces (four surfaces) are positioned adjacent to four sides, respectively, of the bottom surface, and the top surface is positioned adjacent to any one of the side surfaces.
Initially, a main routine of the virtual object display process will be described with reference to FIG. 10. In step S100, the information processing section 31 acquires camera image data. Specifically, the information processing section 31 acquires image data representing an image photographed by a most recently selected camera, and stores the image data in the VRAM 313. In the present embodiment, the outer imaging section 23 is selected, and therefore the information processing section 31 acquires a right real world image and a left real world image each of which is photographed by the outer imaging section 23.
In step S200, the information processing section 31 detects the image photographed by the outer imaging section 23 for a marker. In the present embodiment, the marker includes a black square outline printed around the center of a piece of white paper, and an outline arrow printed in the square outline. However, the marker may not necessarily have such a shape, pattern, and color. The marker may have any shape, pattern, and color when the shape, pattern, and color enable identification of the position (positions of four points in the present embodiment) and the direction of the marker. Specifically, the information processing section 31 initially extracts an area formed by four line segments being connected, from the image photographed by the outer imaging section 23, and determines a pattern image in the extracted area formed by the four line segments. The information processing section 31 calculates a degree of similarity between pattern image data representing the determined pattern image and pattern image data which is previously stored in the external memory 44. When a value representing the degree of similarity which indicates the result of the calculation is greater than or equal to a predetermined threshold value, the marker is detected.
In step S300, the information processing section 31 calculates a positional relationship between the outer imaging section 23 (the game apparatus 10) and the marker, based on the result of the marker detection. In this case, for example, one of the outer imaging section 23 or the marker is used as a reference, and a three-dimensional position and orientation of the other of the outer imaging section 23 or the marker with respect to the reference is calculated as the positional relationship. As the process for calculating the positional relationship, a process similar to a process in a conventional technique for an augmented reality can be used.
In step S400, the information processing section 31 determines a position and an orientation of the virtual camera based on the positional relationship between the outer imaging section 23 and the marker. At this time, since the stereoscopic display mode is selected, the information processing section 31 calculates a position and an orientation of the virtual camera for a left eye based on the camera image data acquired by the outer imaging section (left) 23a, and calculates a position and an orientation of the virtual camera for a right eye based on the camera image data acquired by the outer imaging section (right) 23b. When the position and the orientation of the virtual camera are calculated, a view matrix of the virtual camera is calculated based on the positional relationship between the outer imaging section 23 and the marker, and the position and the orientation of the virtual camera are calculated based on the view matrix of the virtual camera having been calculated. The position data and the orientation data representing the determined position and the determined orientation, respectively, of the virtual camera are stored as the virtual camera data 76 in the data storage area 70 of the main memory 32. Further, the position and the orientation calculated, for one of the virtual cameras, based on the camera image data may be used to calculate the position and the orientation of the other of the virtual cameras.
In step S500, the information processing section 31 determines whether or not the hexahedron is appearing. At this time, it is determined that the hexahedron is appearing, until a predetermined first time period elapses after a user requests the start of the game. When it is determined that the hexahedron is appearing (YES in step S500), the process shifts to S600. Otherwise (NO in step S500), the process shifts to S700. A state in which the hexahedron is appearing represents, as described below, a shift from a state in which the top surface which is a part of the hexahedron starts to appear (in the present embodiment, although the top surface may be covered with the marker, it is assumed, also in this case, that the top surface which is a part of the hexahedron is visible), to a state in which the hexahedron has moved in the z-axis direction (upward) in the marker coordinate system, and the entirety of the hexahedron has appeared. When the virtual objects are positioned in the direction opposite to the z-axis direction in the marker coordinate system, the camera image is preferentially displayed on positions on which the virtual objects are positioned. Specifically, in the game of the present embodiment, a position which satisfies z=0 in the marker coordinate system is regarded as the ground, and the objects which are under the ground are displayed as the ground so as not to display the objects.
In step S600, the information processing section 31 performs the appearance animation generation process. The appearance animation generation process of step S600 is shown as a sub-routine, and will be described below in detail. Thereafter, the process shifts to step S900.
In step S700, the information processing section 31 determines whether or not the hexahedron is being unfolded. At this time, it is determined that the hexahedron is being unfolded, until a predetermined second time period elapses after the appearance of the hexahedron has been completed. When it is determined that the hexahedron is being unfolded (YES in step S700), the process shifts to S800. Otherwise (NO in step S700), the process is returned to S100.
In step S800, the information processing section 31 performs the unfolding-state animation generation process. The unfolding-state animation generation process of step S800 is shown as a sub-routine, and will be described below in detail. Thereafter, the process shifts to step S900.
In step S900, the information processing section 31 maps the photographed image on the inner surfaces of the polygon representing the surfaces of the hexahedron, and maps the object images on the polygons representing the virtual objects (texture mapping). Further, the information processing section 31 maps a predetermined image on the outer surface of the polygon representing the surfaces of the hexahedron. At this time, as a predetermined image to be mapped on the outer surface (the top surface in the present embodiment) of the polygon, the photographed image (for example, an image of the marker, or an image of a desk on which the marker is set) may be used. When the position of the marker coincides with the position of the top surface of the hexahedron, the marker can be displayed as if the marker ascends. When the position of the marker does not coincide with the position of the top surface of the hexahedron, the hexahedron can be displayed as if the hexahedron ascends from the surface of the desk. In either ease, a natural augmented reality effect can be realized. As an image to be mapped on the outer surface, any opaque image may be used instead of the photographed image. Alternatively, the same photographed image as used for the inner surfaces of the hexahedron may be used for the outer surfaces.
In step S1000, the information processing section 31 causes the virtual camera to take an image of the polygons on which the images are mapped, to generate object image (hexahedron image and virtual object images) data. At this time, since the stereoscopic display mode is selected, the object image for a left eye is generated based on a position and an orientation of the virtual camera for a left eye, and the object image for a right eye is generated based on a position and an orientation of the virtual camera for a right eye.
In step S1100, the information processing section 31 superimposes the object images on a camera image based on the camera image data and the object image data, to generate a superimposed image. At this time, since the stereoscopic display mode is selected, the information processing section 31 generates a superimposed image for a left eye by superimposing the object images for the left eye on a camera image photographed by the outer imaging section (left) 23a, and generates a superimposed image for a right eye by superimposing the object images for the right eye on a camera image photographed by the outer imaging section (right) 23b. 
In step S1100, a process for disappearance of the layed-flat surfaces of the hexahedron is also performed. In this case, in the process for disappearance of the layed-flat surfaces of the hexahedron, a color of the layed-flat surfaces of the hexahedron may be changed, or a color of a border line (that is, the sides of the layed-flat surfaces) of the layed-flat surfaces of the hexahedron may be changed, to realize the disappearance of the layed-flat surfaces of the hexahedron. In particular, it is preferable that the color gradually changes from a color different from a color of the photographed image to a color similar thereto such that the layed-flat surfaces of the hexahedron disappear so as to sink, thereby preventing sudden disappearance of the layed-flat surfaces of the hexahedron.
In step S1200, the information processing section 31 displays, on the upper LCD 22, the superimposed image in which the virtual object images are superimposed on the camera image. At this time, the superimposed image for the left eye and the superimposed image for the right eye are combined with each other so as to be stereoscopically visible. Thereafter, the process is returned to step S100, and the process described above is repeated.
When the hexahedron is neither appearing nor being unfolded (NO in step S500 and NO in step S700), it is determined that a user does not request the start of the game. In this case, a process for displaying an image in which the photographed image is superimposed on the virtual object images (step S900 to step S1200) is not performed, and only the photographed image is displayed on the upper LCD 22.
Next, a sub-routine of the appearance animation generation process will be described with reference to FIG. 11. In step S610, the information processing section 31 calculates an elapsed time from the start of the appearance. The elapsed time may be a time which elapses after a user has requested the start of the game.
In step S620, the information processing section 31 calculates an ascending distance H based on the elapsed time from the start of the appearance of the hexahedron. At this time, the information processing section 31 calculates the ascending distance H as, for example, (elapsed time)×(an ascending distance per unit time). The ascending distance H is greater than or equal to 0 and not greater than the height of the hexahedron. When the elapsed time is calculated based on the cycle time for the main flow chart, the ascending distance per unit time may be set as an ascending distance per the cycle time. The elapsed time and the ascending distance per unit time are determined so as to realize an animation representing a state in which the hexahedron smoothly appears. In the first time period described above, the entirety of the hexahedron appears.
In step S630, the information processing section 31 updates object data so as to represent the hexahedron which has ascended by the ascending distance H. Then, the appearance animation generation process is ended (the process is returned to the main routine).
Next, a sub-routine for the unfolding-state animation generation process will be described with reference to FIG. 12. In step S810, the information processing section 31 calculates an elapsed time from the start of the unfolding of the hexahedron.
In step S820, the information processing section 31 calculates a rotation angle B based on the elapsed time from the start of the unfolding. At this time, the information processing section 31 calculates the rotation angle B as, for example, (elapsed time)×(an unfolding rotation angle per unit time). The rotation angle B is greater than or equal to 0 degrees and not greater than 90 degrees. When the elapsed time is calculated based on the cycle time for the main flow chart, the unfolding rotation angle per unit time may be set as a rotation angle per the cycle time. The elapsed time and the unfolding rotation angle per unit time are determined so as to realize an animation representing a state in which the hexahedron is being smoothly unfolded. In the second time period described above, the surfaces of the hexahedron rotate 90 degrees, to completely unfold the hexahedron.
In step S830, the information processing section 31 updates object data so as to represent the hexahedron the surfaces of which have rotated by the rotation angle B in the unfolding direction. At this time, the bottom surface among the surfaces of the hexahedron does not rotate, and the side surfaces rotate by the rotation angle B about the sides, respectively, of the bottom surface, and the top surface rotates by the rotation angle B about the side of one of the side surfaces. As a result, the top surface rotates by twice the rotation angle B with respect to the bottom surface.
In step S840, the information processing section 31 updates object data so as to represent the virtual objects, on the surfaces of the hexahedron, which have been rotated by the rotation angle B in the unfolding direction. At this time, the object data is updated so as to represent the virtual objects each of which has been rotated, in the unfolding direction, by the rotation angle B about a rotation axis based on the rotation axis data represented by the virtual object data 77 stored in the data storage area 70. More specifically, the virtual objects positioned on the bottom surface among the surfaces of the hexahedron do not rotate, and the virtual objects positioned on the side surfaces rotate by the rotation angle B about the rotation axes (the sides of the bottom surface), respectively, and the virtual objects positioned on the top surface rotate by the rotation angle B about the rotation axis (the side of one of the side surfaces). As a result, the virtual objects positioned on the top surface rotate by twice the rotation angle B with respect to the bottom surface. The process as described above is a process for rotating the virtual objects on the plane position by a rotation angle of (90-B) degrees. The position data of the virtual objects on the plane position are stored as the virtual object data 77, for each virtual object, in the data storage area 70, and therefore the positions of the virtual objects on the surfaces being unfolded are calculated by using the stored position data. Thereafter, the unfolding-state animation generation process is ended (the process is returned to the main routine).
The operation performed by the game apparatus 10 according to the present embodiment based on the configuration and the flow charts as described above will be described with reference to FIG. 13 to FIG. 16. In FIG. 13 to FIG. 16, the game apparatus 10 performs a process for a shooting game. In the shooting game, a character representing a user is not displayed, and an arrow is shot in a user's line of sight direction (the direction in which the outer side surface of the upper housing 21 of the game apparatus 10 faces) by the user pressing a predetermined button (for example, the operation button 14B). Therefore, when a target which is not opposing the user's line of sight direction is aimed at, the user needs to change the direction in which the outer side surface of the upper housing 21 of the game apparatus 10 faces, so as to face the front of the target toward the user, thereby shooting an arrow. In the following description, when arrows which are shot in the manner as described above hit all the targets, a first stage is cleared, and the stage shifts to a second stage having a higher difficulty level (for example, a stage in which the number of targets is increased, and/or the targets face in various directions). An operation for causing, when such a shooting game is started (when the first stage is started), the virtual objects (targets and the like) of the first stage to appear while realizing a natural augmented reality effect, will be described. However, the application of the present invention is not limited to such a shooting game.
(Operation for displaying appearance of hexahedron)
A user makes settings such that the outer imaging section 23 is selected, and the stereoscopic display mode is selected, and the program described above is executed. When, for example, a user photographs an range including the marker on a desk, by using the outer imaging section 23, the camera image data is acquired (step S100). When the marker is detected (step S200), a positional relationship between the outer imaging section 23 and the marker is calculated based on the result of the detection of the marker (step S300), and the position and orientation of the virtual camera is determined based on the positional relationship having been calculated (step S400). A case where, in this state, the user requests the start of the shooting game, will be described.
FIG. 13 shows a screen displayed on the upper LCD 22 before the shooting game is started. An image, including the marker, photographed by the outer imaging section 23 is displayed on the upper LCD 22 in a stereoscopically visible manner.
When a user requests the start of the game in a state where a screen shown in FIG. 14A is displayed on the upper LCD 22, it is determined that the hexahedron is appearing (YES in step S500) until the first time period elapses after the start of the game has been requested. An elapsed time from the start of the appearance of the hexahedron is calculated (step S610), and the hexahedron which has a predetermined size and is gradually ascending from a predetermined position (such that the top surface, of the hexahedron, having a size equal to the marker appears from the position of the marker) is displayed, as shown in FIG. 14B and FIG. 14C. At this time, the photographed image is mapped on the outer surface of the hexahedron. In this case, the photographed image is a marker image representing the maker on the surface of the desk. However, an image to be mapped is not limited to any specific image, and any image which can prevent the inside of the hexahedron from being visible to a user may be mapped. As described above, when the marker image is mapped on the top surface of the hexahedron, the hexahedron appear so as to ascend from the marker. On the other hand, when the image representing the surface of the desk is mapped on the top surface of the hexahedron, the hexahedron appears so as to ascend from the surface of the desk. In either case, a natural augmented reality effect can be realized.
The hexahedron moves, over time, so as to ascend in the z-axis direction (upward) in the marker coordinate system. Thus, a process in which the hexahedron appears so as to ascend is performed until the first time period has elapsed from the start of the appearance, and the entirety of the hexahedron appears, as shown in FIG. 14D, when the first time period has elapsed.
In FIG. 14A to FIG. 14D, a state representing the continuous change is not shown. However, the main flow shown in the flow chart of FIG. 10 is repeated in a cycle of about 1/30 seconds in practice. Therefore, when a user requests the start of the game, an animation in which the hexahedron appears so as to gradually ascend is displayed. At this time, the marker is displayed so as to be positioned on the top surface of the hexahedron. The state in which the entirety of the hexahedron has appeared as shown in FIG. 14D may be maintained for a predetermined time period.
As shown in FIG. 14A to FIG. 14D, when, for example, the marker is positioned on the desk in a real space, and the shooting game is played on the desk, the hexahedron which ascends from the surface of the desk (in the present embodiment, from the surface of the marker) is displayed. At this time, when the marker is positioned on the lawn, instead of the desk, in a real space, and the shooting game is played on the lawn, the hexahedron ascends which has the top surface representing the lawn the size of which is equal to the size of the marker (in this case, the position of the marker does not coincide with the position of the hexahedron), and an image representing the ground is preferably displayed on the side surfaces (the outer surfaces other than the top surface and the bottom surface) of the hexahedron. Thus, the virtual objects can be displayed so as to appear from under the ground (from the underground), thereby enhancing a natural augmented reality effect.
It is determined that the hexahedron is being unfolded (YES in step S700) until a predetermined second time period elapses after appearance of the entirety of the hexahedron as shown in FIG. 14D. The elapsed time after the start of the unfolding of the hexahedron is calculated (step S810), and the unfolding of the hexahedron is started as shown in FIG. 14E.
The hexahedron is being unfolded over time. While the hexahedron is being unfolded (YES in step S700) until the second time period elapses after the appearance of the entirety of the hexahedron, a rotation angle B is calculated based on the elapsed time from the start of the unfolding (step S820). The object data representing the hexahedron having the surfaces to be layed flat is updated to the object data representing the hexahedron the surfaces of which have been rotated by the rotation angle B (step S830), and the object data representing the virtual objects (the house, the tree, and the targets of the first stage) positioned on the surfaces of the hexahedron is updated to the object data representing the virtual objects having been rotated by the rotation angle B (step S840).
At this time, the virtual objects (the house, the tree, and the targets of the first stage) on the surfaces of the hexahedron are positioned at positions obtained by the plane positions, of the virtual objects, represented by the position data being rotated by (90-B) degrees.
The photographed image is mapped on the inner surfaces of the polygon representing the surfaces of the hexahedron which have been rotated by the rotation angle B, and the object images are mapped on the polygons representing the virtual objects (the house, the tree, and the targets of the first stage) (step S900).
As described above, the hexahedron is unfolded, and the state (the state for the rotation angle B indicating 0 degrees) shown in FIG. 14D shifts to the state (the state for the rotation angle B indicating about 45 degrees) shown in FIG. 14E. FIG. 14E shows a state in which the photographed image is texture-mapped on the inner surfaces of the hexahedron.
The process for rotating and displaying the virtual objects as described above can be realized by the position and orientation of each virtual object in the world coordinate system being changed and then processed. The present invention is not limited to any specific manner, and any manner may be used which enables the positions and orientations of the virtual objects positioned on the surfaces of the hexahedron to be changed (rotated) in accordance with the hexahedron being unfolded.
Thus, the process for unfolding the hexahedron is performed until the second time period elapses after the start of the unfolding, and when the second time period has elapsed, the hexahedron has been completely unfolded such that the surfaces thereof are layed flat as shown in FIG. 14F. When the hexahedron is completely unfolded such that the surfaces thereof are layed flat as shown in FIG. 14F, the house, the tree, and the targets A to C of the first stage are displayed.
When the hexahedron is completely unfolded such that the surfaces thereof are layed flat, a color of the layed-flat surfaces of the hexahedron or a color of the sides of the layed-flat surfaces of the hexahedron may be gradually changed from the state indicated by the solid line in FIG. 14G to the state indicated by the dotted line in FIG. 14H, such that the layed-flat surfaces of the hexahedron gradually disappear so as to sink.
As described for FIG. 14A to FIG. 14E, FIG. 14E to FIG. 14H do not show a state in which the hexahedron is continuously changed. However, the main flow shown in the flow chart of FIG. 10 is repeated in a cycle of about 1/30 seconds in practice. Therefore, the following animation is displayed. When the folded hexahedron is unfolded, the virtual objects (the house, the tree, and the targets of the first stage) on the surfaces of the hexahedron are rotated in accordance with the surfaces of the hexahedron being rotated, and gradually become visible. When the hexahedron is completely unfolded, the virtual objects (the house, the tree, and the targets of the first stage) appear.
As described above, the screen displayed, as shown in FIG. 13, before the start of the game shifts to the screen (a game start screen) of the first stage as shown in FIG. 15.
FIG. 14E shows a state in which the photographed image of the region corresponding to the surfaces of the hexahedron is texture-mapped on the inner surfaces of the hexahedron. This will be described with reference to FIG. 16. As shown in FIG. 16, images of six regions corresponding to the layed-flat surfaces of the hexahedron which are positioned in a real world (real space) photographed by the outer imaging section 23 are texture-mapped on the six inner surfaces, respectively, of the hexahedron. Thus, the photographed image cut from the regions in which the surfaces of the hexahedron are positioned is displayed on the surfaces (inner surfaces) of the hexahedron also while the hexahedron is being unfolded, thereby realizing a natural augmented reality effect.
As described above, the game apparatus 10 of the present embodiment enables realization of the shooting game in which the virtual objects such as targets of the game are superimposed on a real world (real space) photographed by the outer imaging section 23 so as to enable a natural augmented reality effect to be provided to a user. In this case, when the game is started, the virtual objects (in particular, the targets) need to appear. At this time, the hexahedron which has appeared so as to ascend is unfolded, the targets of the first stage appear, and the layed-flat surfaces of the hexahedron disappear so as to sink. When the game is started (when the virtual objects appear) in this manner, the virtual objects can be caused to appear such that a natural augmented reality effect is not spoiled, and a user becomes interested in an image displayed when the game is started.
(Modification)
In the embodiment described above, the hexahedron appears from a position of the marker. However, the hexahedron may appear from a position different from the position of the marker. In this case, a camera image of a region corresponding to the position on which the hexahedron appears is mapped on the top surface. A solid shape (which can form a closed space) other than the hexahedron may be caused to appear. Namely, a position on which the hexahedron appears is not limited to any specific position, and the polyhedron is not limited to a hexahedron. The polyhedron may be any solid shape which has surfaces the number of which is greater than or equal to the number of surfaces of a tetrahedron (triangular pyramid), and which can form a closed space. Moreover, the polyhedron may be any solid shape which can form a closed space, and which can be unfolded to open the closed space. For example, the closed space may be formed by using a stretchable cloth.
FIG. 17A to FIG. 17E show a state in which a polyhedron which is a pentahedron (quadrangular pyramid) appears from a position different from the position of the marker. As shown in FIG. 17A, a part, of the quadrangular pyramid, including the vertex thereof starts to appear so as to break through the desk (the marker is set on the desk). At this time, the part, of the quadrangular pyramid, including the vertex is a part of the outer surfaces of the virtual object forming the closed space. The quadrangular pyramid in the state shown in FIG. 17A moves in the z-axis direction (upward) in the marker coordinate system, so as to ascend as shown in FIG. 17B and FIG. 17C. At this time, an animation in which the surface of the desk is broken, and the quadrangular pyramid ascends as if it expands, may be generated. FIG. 17D shows a state in which the entirety of the quadrangular pyramid has appeared. The quadrangular pyramid is unfolded such that the side surfaces of the quadrangular pyramid which are other than the bottom surface thereof and are in a state shown in FIG. 17D, rotate outward, by 90 degrees, about the rotation axes corresponding to the sides, respectively, shared by the side surfaces and the bottom surface, and the virtual objects (the house, the tree, and the targets of the first stage) appear as shown in FIG. 17E.
In this case, the quadrangular pyramid may appear from the position of the marker so as to break through the marker. Thus, a user's interest can be enhanced. Further, instead of the quadrangular pyramid (pentahedron), a cone, an N-sided pyramid (N is a natural number greater than or equal to 3, that is, an (N+1)-hedron), or the like may be used. In this case, the cone, the N-sided pyramid, or the like has its vertex oriented in the z-axis direction (upward) in the marker coordinate system.
Further, the sizes of the layed-flat surfaces of the hexahedron may be changed in accordance with states, in the stage, such as the positions at which the virtual objects are positioned, and the number of the positioned virtual objects, and/or the sizes of the virtual objects. Further, a large virtual object (for example, a tall tree) may be changed such that, when the hexahedron is unfolded, the tree confined in the hexahedron is gradually increased in height, in accordance with the hexahedron being unfolded.
Furthermore, example embodiments of the present invention are applicable to any mobile electronic devices (such as PDAs (Personal Digital Assistants) and mobile telephones), personal computers, cameras, and the like as well as to the game apparatus according to the present embodiment.
Further, the virtual object display process based on the flow chart described above is performed by a predetermined program being executed by the information processing section 31 of the game apparatus 10 of the present embodiment. However, the present invention is not limited thereto. A part or the entirety of the virtual object display process may be performed by a dedicated circuit included in the game apparatus 10.
Moreover, the process described above not only may be performed by one game apparatus (information processing apparatus), but also may be shared and performed by a plurality of information processing apparatuses connected to each other so as to communicate with each other.
In the present embodiment, a video see-through method in which the virtual objects (such as the targets of the shooting game) are superimposed on a camera image photographed by the outer imaging section 23 to display the superimposed image on the upper LCD 22 is described. However, the present invention is not limited thereto. For example, an optical see-through method may be realized. In this case, a head-mounted display including at least a camera is used, and a user can view a real space through a display section corresponding to lenses of glasses. The display section is formed of a material which enables the transmission of the real space, and enables the real space to be transmitted directly to eyes of a user. Further, an image representing virtual objects generated by a computer can be displayed on the display section. Thus, a user can view an image in which images of the virtual objects are superimposed on the real space. The camera included in the head-mounted display is used to detect for the marker disposed in the real space.
While example embodiments of the invention has been described in detail, the foregoing description is in all aspects illustrative and not restrictive. It is understood that numerous other modifications and variations can be devised without departing from the scope of the invention.

## Claims

1. A non-transitory computer-readable storage medium having stored therein an information processing program executed by a computer of an information processing apparatus which is connected to an imaging device, a display device for displaying a real space so as to be visible on a screen, and a storage device for storing object data representing a first virtual object which has inner surfaces and outer surfaces and which can form a closed space, and object data representing a second virtual object positioned in the closed space, the computer being caused to provide functionality comprising:
a photographed image data acquisition for sequentially acquiring photographed image data representing a photographed image taken by the imaging device;
a virtual camera setting for setting a virtual camera in a virtual space;
an object positioning for positioning the first virtual object in the virtual space such that a part of the outer surfaces of the first virtual object can be captured by the virtual camera;
a first object control for moving the first virtual object such that an entirety of the first virtual object can be captured by the virtual camera;
a second object control for changing a shape of the first virtual object from a closed shape having the closed space formed by the inner surfaces of the first virtual object facing inward, to an opened shape formed when the first virtual object is unfolded so as to enable the inner surfaces to be captured by the virtual camera;
a third object control for positioning at least one second virtual object on the inner surfaces of the first virtual object, and changing a position and an orientation of the second virtual object in cooperation with the inner surfaces of the first virtual object in accordance with the shape of the first virtual object being changed;
a texture mapping for mapping, as a texture, an image of a region corresponding to a part of the outer surfaces of the first virtual object, on the outer surfaces of the first virtual object, and mapping, as a texture, an image of a region corresponding to the first virtual object of the opened shape, on the inner surfaces of the first virtual object, wherein the image of the region corresponding to the part of the outer surfaces, and the image of the region corresponding to the first virtual object are each included in the photographed image represented by the photographed image data which is sequentially acquired by the photographed image data acquisition;
an object image generation for generating an object image based on each of the second virtual object, and the first virtual object on which the texture is mapped; and
a display control for sequentially displaying, via the display device, a superimposed image in which the object image generated by the object image generation is superimposed on the real space on the screen.

2. The non-transitory computer-readable storage medium having stored therein the information processing program according to claim 1, wherein
the first object control changes a position of the first virtual object in a form of an animation in which a moving state of the first virtual object is sequentially changed,
the second object control changes the shape of the first virtual object in a form of an animation in which an unfolded state of the first virtual object is sequentially changed, and
the third object control changes the position and the orientation of the second virtual object in accordance with progress of the animation representing the unfolded state of the first virtual object.

3. The non-transitory computer-readable storage medium having stored therein the information processing program according to claim 2, wherein
the first virtual object is a polyhedron formed of a plurality of surfaces which can be layed flat, and
the animation representing the unfolded state of the first virtual object includes a shift from a first state to a second state, and the first state represents a state in which the polyhedron forms the closed space, and the second state represents a state in which the plurality of surfaces of the polyhedron are rotated, the polyhedron is unfolded, and the second virtual object is positioned on the plurality of surfaces, of the polyhedron, which are layed flat.

4. The non-transitory computer-readable storage medium having stored therein the information processing program according to claim 3, wherein the animation representing the moving state of the first virtual object includes a state in which a part of the polyhedron appears.

5. The non-transitory computer-readable storage medium having stored therein the information processing program according to claim 3, wherein the animation representing the unfolded state of the first virtual object includes a shift from the second state to disappearance of the plurality of surfaces, of the polyhedron, which are layed flat.

6. The non-transitory computer-readable storage medium having stored therein the information processing program according to claim 5, wherein the animation representing the unfolded state of the first virtual object includes a shift from the second state, through change of a color of the plurality of surfaces of the polyhedron or change of a color of a border line of the plurality of surfaces of the polyhedron, to the disappearance of the plurality of surfaces, of the polyhedron, which are layed flat.

7. The non-transitory computer-readable storage medium having stored therein the information processing program according to claim 3, wherein the third object control rotates the second virtual object in cooperation with rotation of the plurality of surfaces of the polyhedron, to change the position and the orientation of the second virtual object.

8. The non-transitory computer-readable storage medium having stored therein the information processing program according to claim 1, wherein
the first virtual object is a polyhedron formed of a plurality of surfaces which can be layed flat, and
the part of the outer surfaces of the first virtual object positioned by the object positioning is one of the plurality of surfaces of the polyhedron.

9. The non-transitory computer-readable storage medium having stored therein the information processing program according to claim 3, wherein the polyhedron is a hexahedron.

10. The non-transitory computer-readable storage medium having stored therein the information processing program according to claim 9, wherein the program causes the computer to provide further functionality comprising:
a detection for detecting a predetermined object, from the photographed image data which is sequentially acquired by the photographed image data acquisition; and
a calculation for calculating a relative positional relationship between the imaging device and the predetermined object, based on a result of the detection of the predetermined object; and
the object positioning positions the first virtual object in the virtual space such that a position of the one of the plurality of surfaces of the polyhedron coincides with a position of the predetermined object.

11. The non-transitory computer-readable storage medium having stored therein the information processing program according to claim 3, wherein the polyhedron is a pyramidal shape, and the pyramidal shape includes a cone.

12. The non-transitory computer-readable storage medium having stored therein the information processing program according to claim 11, wherein the object positioning positions the first virtual object in the virtual space such that a position of a vertex of the pyramidal shape coincides with a position of a predetermined object.

13. The non-transitory computer-readable storage medium having stored therein the information processing program according to claim 1, wherein the display control makes a display so as to prevent the second virtual object from being transmitted through surfaces forming the closed space.

14. The non-transitory computer-readable storage medium having stored therein the information processing program according to claim 1, wherein the program causes the computer to provide further functionality comprising as operation for operating the second virtual object in accordance with an operation performed by a user.

15. The non-transitory computer-readable storage medium having stored therein the information processing program according to claim 1, wherein the texture mapping maps, as a texture, the image of the region corresponding to the part of the outer surfaces of the first virtual object, on the part of the outer surfaces of the first virtual object, and maps, as a texture, the image of the region corresponding to the first virtual object of the opened shape, on the inner surfaces of the first virtual object, and each of the images is included in the photographed image.

16. An information processing apparatus comprising:
an imaging device;
a display device configured to display a real space so as to be visible on a screen;
a storage medium configured to store object data representing a first virtual object which has inner surfaces and outer surfaces and which can form a closed space, and object data representing a second virtual object positioned in the closed space;
a photographed image data acquisition device configured to sequentially aquire photographed image data representing a photographed image taken by the imaging device;
a virtual camera setter configured to a virtual camera in a virtual space;
an object positioning device configured to position the first virtual object in the virtual space such that a part of the outer surfaces of the first virtual object can be captured by the virtual camera;
a first object controller configured to move the first virtual object such that an entirety of the first virtual object can be captured by the virtual camera;
a second object controller configured to change a shape of the first virtual object from a closed shape having the closed space formed by the inner surfaces of the first virtual object facing inward, to an opened shape formed when the first virtual object is unfolded so as to enable the inner surfaces to be captured by the virtual camera;
a third object controller configured to position at least one second virtual object on the inner surfaces of the first virtual object, and change a position and an orientation of the second virtual object in cooperation with the inner surfaces of the first virtual object in accordance with the shape of the first virtual object being changed;
a texture mapping device configured to map, as a texture, an image of a region corresponding to a part of the outer surfaces of the first virtual object, on the outer surfaces of the first virtual object, and map, as a texture, an image of a region corresponding to the first virtual object of the opened shape, on the inner surfaces of the first virtual object, wherein the image of the region corresponding to the part of the outer surfaces, and the image of the region corresponding to the first virtual object are each included in the photographed image represented by the photographed image data which is sequentially acquired by the photographed image data acquisition device;
an object image generator configured to generate an object image based on each of the second virtual object, and the first virtual object on which the texture is mapped; and
a display controller configured to sequentially display, using the display device, a superimposed image in which the object image generated by the object image generator is superimposed on the real space on the screen.

17. An information processing system comprising:
an imaging device;
a display device configured to display a real space so as to be visible on a screen;
a storage configured to store object data representing a first virtual object which has inner surfaces and outer surfaces and which can form a closed space, and object data representing a second virtual object positioned in the closed space;
a processing system, comprising at least one computer processor, the processing system being configured to at least:
sequentially acquire photographed image data representing a photographed image taken by the imaging device;
set a virtual camera in a virtual space;
position the first virtual object in the virtual space such that a part of the outer surfaces of the first virtual object can be captured by the virtual camera;
move the first virtual object such that an entirety of the first virtual object can be captured by the virtual camera;
change a shape of the first virtual object from a closed shape having the closed space formed by the inner surfaces of the first virtual object facing inward, to an opened shape formed when the first virtual object is unfolded so as to enable the inner surfaces to be captured by the virtual camera;
position at least one second virtual object on the inner surfaces of the first virtual object, and change a position and an orientation of the second virtual object in cooperation with the inner surfaces of the first virtual object in accordance with the shape of the first virtual object being changed;
map, as a texture, an image of a region corresponding to a part of the outer surfaces of the first virtual object, on the outer surfaces of the first virtual object, and map, as a texture, an image of a region corresponding to the first virtual object of the opened shape, on the inner surfaces of the first virtual object, wherein the image of the region corresponding to the part of the outer surfaces, and the image of the region corresponding to the first virtual object are each included in the photographed image represented by the photographed image data which is sequentially acquired;
generate an object image based on each of the second virtual object, and the first virtual object on which the texture is mapped; and
sequentially display, using the display device, a superimposed image in which the generated object image is superimposed on the real space on the screen.

18. An information processing method comprising:
taking a photographed image using an imaging device;
displaying a real space so as to be visible on a screen;
storing object data representing a first virtual object which has inner surfaces and outer surfaces and which can form a closed space, and object data representing a second virtual object positioned in the closed space;
sequentially acquiring photographed image data representing the taken photographed image;
setting, using at least one computer processor, a virtual camera in a virtual space;
positioning the first virtual object in the virtual space such that a part of the outer surfaces of the first virtual object can be captured by the virtual camera;
moving the first virtual object such that an entirety of the first virtual object can be captured by the virtual camera;
changing a shape of the first virtual object from a closed shape having the closed space formed by the inner surfaces of the first virtual object facing inward, to an opened shape formed when the first virtual object is unfolded so as to enable the inner surfaces to be captured by the virtual camera;
positioning at least one second virtual object on the inner surfaces of the first virtual object, and changing a position and an orientation of the second virtual object in cooperation with the inner surfaces of the first virtual object in accordance with the shape of the first virtual object being changed;
mapping, as a texture, an image of a region corresponding to a part of the outer surfaces of the first virtual object, on the outer surfaces of the first virtual object, and mapping, as a texture, an image of a region corresponding to the first virtual object of the opened shape, on the inner surfaces of the first virtual object, wherein the image of the region corresponding to the part of the outer surfaces, and the image of the region corresponding to the first virtual object are each included in the photographed image represented by the sequentially acquired photographed image data;
generating an object image based on each of the second virtual object, and the first virtual object on which the texture is mapped; and
sequentially displaying, by said displaying, a superimposed image in which the generated object image is superimposed on the real space on the screen.

19. The apparatus according to claim 16, wherein
the first object controller is configured to change a position of the first virtual object in a form of an animation in which a moving state of the first virtual object is sequentially changed,
the second object controller is configured to change the shape of the first virtual object in a form of an animation in which an unfolded state of the first virtual object is sequentially changed, and
the third object controller is configured to change the position and the orientation of the second virtual object in accordance with progress of the animation representing the unfolded state of the first virtual object.

20. The apparatus according to claim 16, wherein
the first virtual object is a polyhedron formed of a plurality of surfaces which can be layed flat, and
the part of the outer surfaces of the first virtual object positioned by the object positioning device is one of the plurality of surfaces of the polyhedron.

21. The apparatus according to claim 16, wherein the display controller is configured to make a display so as to prevent the second virtual object from being transmitted through surfaces forming the closed space.

22. The apparatus according to claim 16, wherein second virtual object is configured to be operated in accordance with an operation performed by a user.

23. The apparatus according to claim 16, wherein the texture mapping device is configured to map, as a texture, the image of the region corresponding to the part of the outer surfaces of the first virtual object, on the part of the outer surfaces of the first virtual object, and map, as a texture, the image of the region corresponding to the first virtual object of the opened shape, on the inner surfaces of the first virtual object, and each of the images is included in the photographed image.