WO2009119453A1 - ゲーム装置、ゲーム処理方法、情報記録媒体、ならびに、プログラム - Google Patents

ゲーム装置、ゲーム処理方法、情報記録媒体、ならびに、プログラム Download PDF

Info

Publication number
WO2009119453A1
WO2009119453A1 PCT/JP2009/055468 JP2009055468W WO2009119453A1 WO 2009119453 A1 WO2009119453 A1 WO 2009119453A1 JP 2009055468 W JP2009055468 W JP 2009055468W WO 2009119453 A1 WO2009119453 A1 WO 2009119453A1
Authority
WO
WIPO (PCT)
Prior art keywords
distance
viewpoint
movement
virtual space
unit
Prior art date
Application number
PCT/JP2009/055468
Other languages
English (en)
French (fr)
Inventor
幸博 山▲崎▼
Original Assignee
株式会社コナミデジタルエンタテインメント
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社コナミデジタルエンタテインメント filed Critical 株式会社コナミデジタルエンタテインメント
Priority to CN2009801065782A priority Critical patent/CN101970067A/zh
Priority to KR1020107005981A priority patent/KR101084030B1/ko
Priority to US12/934,600 priority patent/US20110014977A1/en
Publication of WO2009119453A1 publication Critical patent/WO2009119453A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/573Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using trajectories of game objects, e.g. of a golf ball according to the point of impact
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/426Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving on-screen location information, e.g. screen coordinates of an area at which the player is aiming with a light gun
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • A63F2300/646Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car for calculating the trajectory of an object
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6676Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera by dedicated player input

Definitions

  • the present invention relates to a game device, a game processing method, an information recording medium, and a program suitable for reducing a load caused by scroll processing of image display and improving visibility of a screen for a player.
  • Patent Document 1 discloses a device in which a player touches a touch panel using a stick and scrolls a screen in an arbitrary direction. According to this, not only can the screen be scrolled in a predetermined direction such as up, down, left and right, but also the screen can be scrolled in various directions according to the convenience of the player.
  • the position of the viewpoint and the direction of the line of sight in the virtual space are changed according to the change in the position and orientation of the controller that the player holds and operates with the hand.
  • the present invention solves such a problem, and is suitable for reducing the load caused by scroll processing of image display and improving the visibility of the screen for the player, a game processing method, an information recording medium, In addition, it aims to provide a program.
  • a game device includes a storage unit, a generation unit, a display unit, a distance calculation unit, a movement calculation unit, a correction unit, and an update unit.
  • the storage unit stores the position of the object arranged in the virtual space and the position of the viewpoint arranged in the virtual space.
  • the generation unit generates an image representing the object viewed from the viewpoint position in the virtual space.
  • the display unit displays the generated image.
  • the distance calculation unit obtains a distance between the position of the object in the virtual space and the stored viewpoint position.
  • the movement calculation unit calculates a movement direction and a movement distance for moving the position of the viewpoint.
  • the correction unit corrects the calculated moving distance based on the obtained distance.
  • the updating unit updates the stored viewpoint position so as to move in the calculated movement direction by the corrected movement distance. Then, the correction unit corrects the corrected travel distance so as to monotonously decrease with respect to the obtained distance.
  • the game executed by the game device of the present invention is, for example, a game in a three-dimensional or two-dimensional virtual space.
  • the monitor displays an image of the virtual space viewed from the viewpoint position in a predetermined line of sight.
  • One or more objects are arranged in the virtual space.
  • the player can operate the controller to instruct the viewpoint position to change in the specified direction by the specified amount.
  • the image displayed on the screen is also moved. In simple terms, the screen scrolls.
  • the game device When changing the position of the viewpoint, the game device is required to obtain the moving direction and moving distance of the viewpoint per unit time, in other words, the scroll direction and scroll amount of the screen per unit time.
  • the moving direction of the viewpoint is designated by, for example, the player moving the controller or pressing an operation button.
  • the movement distance of the viewpoint is obtained, for example, as a predetermined amount per operation or an amount that changes according to the operation method. However, the movement distance of the viewpoint obtained here is corrected as described below.
  • the game device calculates the distance between the object placed on the screen and the viewpoint.
  • the game apparatus corrects the viewpoint movement distance so that the movement distance of the viewpoint obtained as a result of the correction monotonously decreases with respect to the calculated distance between the object and the viewpoint.
  • the closer the object arranged in the screen is to the viewpoint the smaller the movement distance of the corrected viewpoint.
  • the closer the object placed in the screen is to the viewpoint the smaller the scroll will be.
  • the game device may obtain the total viewpoint movement direction and distance, not the viewpoint movement direction and distance per unit time. In this case, the closer the object arranged in the screen is to the viewpoint, the more slowly scrolls.
  • the screen may be difficult to see.
  • the player does not get drunk by frequently scrolling the screen.
  • a game device includes a storage unit, a generation unit, a display unit, a distance calculation unit, a movement calculation unit, a correction unit, and an update unit.
  • the storage unit stores the position of the object arranged in the virtual space, the position of the viewpoint arranged in the virtual space, and the direction of the line of sight.
  • the generation unit generates an image representing the object viewed in the direction of the line of sight from the position of the viewpoint in the virtual space.
  • the display unit displays the generated image.
  • the distance calculation unit obtains a distance between the position of the object in the virtual space and the stored viewpoint position.
  • the movement calculation unit calculates a rotation direction and a rotation angle for rotating the direction of the line of sight.
  • the correction unit corrects the calculated rotation angle based on the obtained distance.
  • the updating unit updates the direction of the stored line of sight to the calculated rotation direction by the corrected rotation angle. Then, the correction unit corrects the corrected rotation angle so as to monotonously decrease with respect to the obtained distance.
  • the game executed by the game device of the present invention is, for example, a game in a three-dimensional virtual space.
  • An image of the virtual space viewed from the viewpoint position in the direction of the line of sight is displayed on the monitor.
  • One or more objects are arranged in the virtual space.
  • the player can operate the controller to instruct to change the direction of the line of sight in the specified direction by a specified amount. Changing the direction of the line of sight moves the image displayed on the screen. That is, the screen scrolls.
  • the game device When changing the direction of the line of sight, the game device obtains the rotation direction and rotation angle of the line of sight per unit time. In other words, the scroll direction and scroll amount of the screen are obtained.
  • the direction of rotation of the line of sight is specified, for example, by the player moving the controller or pressing an operation button.
  • the rotation angle of the line of sight is obtained, for example, as a predetermined amount per operation or an amount that changes according to the operation method. However, the rotation direction of the line of sight obtained here is corrected as described below.
  • the game device calculates the distance between the object placed on the screen and the viewpoint.
  • the game apparatus corrects the rotation angle of the line of sight so that the rotation angle of the line of sight obtained as a result of the correction monotonously decreases with respect to the calculated distance between the object and the viewpoint. That is, the closer the object placed in the screen is to the viewpoint, the smaller the rotation angle of the line of sight after correction. In other words, the closer the object placed in the screen is to the viewpoint, the smaller the scroll will be.
  • the game device may obtain the total gaze rotation direction and rotation angle instead of the gaze rotation direction and rotation angle per unit time.
  • the screen may become difficult to see.
  • the player does not get drunk by frequently scrolling the screen.
  • the movement calculation unit may further calculate a movement direction and a movement distance for moving the position of the viewpoint.
  • the correction unit may further correct the calculated moving distance based on the obtained distance.
  • the updating unit may further update the stored viewpoint position by the corrected movement distance by the calculated movement direction. Further, the correction unit may correct the movement distance as a result of correction so as to monotonously decrease with respect to the obtained distance.
  • the player can change not only the direction of the line of sight but also the position of the viewpoint. That is, the screen can be scrolled to change the direction of the line of sight, and the screen can be scrolled to change the position of the viewpoint.
  • the game apparatus obtains not only the rotation direction and rotation angle of the line of sight but also the movement direction and movement distance of the viewpoint.
  • the moving direction of the viewpoint is designated by, for example, the player moving the controller or pressing an operation button.
  • the movement distance of the viewpoint is obtained, for example, as a predetermined amount per operation or an amount that changes according to the operation method. However, the movement distance of the viewpoint obtained here is corrected in the same manner as the line-of-sight rotation direction.
  • the game device corrects the viewpoint movement distance so that the viewpoint movement distance obtained as a result of the correction monotonously decreases with respect to the calculated distance between the object and the viewpoint, similarly to the direction of rotation of the line of sight.
  • the closer the object arranged in the screen is to the viewpoint the smaller the movement distance of the corrected viewpoint.
  • the closer the object placed in the screen is to the viewpoint the smaller (slowly) scrolling will be.
  • the present invention it is possible to prevent the image from becoming difficult to be seen as a whole due to the scroll amount of the screen being too large or too fast, and it is possible to improve the visibility of the screen for the player. .
  • the player does not get drunk by frequently scrolling the screen.
  • a plurality of objects may be arranged in the virtual space.
  • the storage unit may store the positions of the plurality of objects.
  • the distance calculation unit may obtain a distance between the position in the virtual space of the object drawn in the attention area in the generated image and the position of the stored viewpoint among the plurality of objects. Good.
  • the attention area is an area in which it is estimated that the degree of attention by the player is relatively higher than other areas.
  • the game apparatus corrects the viewpoint movement distance so that the movement distance of the viewpoint obtained as a result of the correction monotonously decreases with respect to the calculated distance between the object and the viewpoint. That is, the closer the object placed in the attention area of the screen is to the viewpoint, the smaller the movement distance of the corrected viewpoint. In other words, the closer the object placed in the attention area of the screen is to the viewpoint, the smaller the scroll will be.
  • the game device may obtain the total viewpoint movement direction and movement distance instead of the viewpoint movement direction and movement distance per unit time. In this case, the closer the object arranged in the attention area of the screen is to the viewpoint, the slower the scrolling is.
  • the game device corrects the rotation angle of the line of sight so that the rotation angle of the line of sight obtained as a result of the correction monotonously decreases with respect to the calculated distance between the object and the viewpoint.
  • the closer the object arranged in the attention area of the screen is to the viewpoint the smaller the rotation angle of the line of sight after correction.
  • the game device may obtain the total gaze rotation direction and rotation angle instead of the gaze rotation direction and rotation angle per unit time.
  • the attention area may be arranged at the center of the generated image.
  • the position of the region of interest used for correcting the scroll amount is fixed near the center of the screen.
  • the game apparatus may further include an input receiving unit that receives a selection instruction input for selecting the object from the user. Then, the distance calculation unit may set the attention area around the position of the selected object in the generated screen.
  • the player plays the game while frequently watching the vicinity of the selected object.
  • the player in a game in which the player can freely operate and move any of the objects arranged in the virtual space, it can be assumed that the game is played while closely watching the vicinity of the operation target object.
  • the position of the attention area used for correcting the scroll amount is arranged in the vicinity of the object selected by the player.
  • the selected object or other objects arranged in the vicinity thereof are closer to the viewpoint, it is assumed that the player is closely viewing the vicinity of the selected object, and scrolling is made smaller (slower). . Accordingly, it is possible to improve the visibility of the screen and reduce the scroll processing load.
  • the input receiving unit may further receive a movement instruction input for moving the position of the selected object from the user.
  • the storage unit may further store a history of a predetermined number of times of the movement instruction input.
  • the updating unit may further update the position of the selected object based on the movement instruction input.
  • the distance calculation unit performs the attention so as to follow the object based on the stored history after a predetermined time has elapsed since the start of the movement of the object.
  • the position of the region may be changed.
  • the position of the attention area used for correcting the scroll amount is arranged in the vicinity of the object selected by the player.
  • the position of the object is variable, and the position of the attention area is also variable. That is, when the game apparatus changes the position of the object, the position of the attention area changes accordingly. If the movement of the position of the object is too fast, it is expected that the player's eyes cannot follow the movement and are slightly delayed.
  • the position of the attention area is changed after a predetermined time delay. Therefore, the attention area, that is, the place where the degree of attention of the player is estimated to be relatively high can be moved in accordance with the actual situation of the player, so that the visibility of the screen can be further improved.
  • the input receiving unit may further receive a movement instruction input for moving the position of the selected object by a specified amount.
  • the storage unit may further store a history of a predetermined number of times of the movement instruction input.
  • the correction unit obtains a correction amount of the movement distance based on each designated amount indicated by the stored movement instruction input, and the corrected movement distance is monotonously decreased with respect to the obtained distance. You may correct to.
  • the position of the attention area used for correcting the scroll amount is arranged in the vicinity of the object selected by the player.
  • the position of the object is variable, and the position of the attention area is also variable. That is, when the game apparatus changes the position of the object, the position of the attention area changes accordingly.
  • the game apparatus can move the attention area along the same movement path.
  • the position of an object moves greatly or quickly due to camera shake or the like of the player, there is a possibility that the place watched by the player does not follow the movement path of the object.
  • the game apparatus can change the correction amount of the scroll amount as appropriate based on the movement history of the position of the object, and can move the attention area along a path different from the movement path of the object. For example, when a movement unintended by the player due to camera shake or the like, or when it is estimated that the movement is not intended by the player, the game device may cut the amount of movement of the object that exceeds the threshold, The movement amount may be corrected using a predetermined correction function. Therefore, the attention area, that is, the place where the degree of attention of the player is estimated to be relatively high can be changed according to the movement history of the object, so that the visibility of the screen can be further improved.
  • the distance calculation unit calculates the average value of the distances between the positions of the objects in the virtual space and the stored viewpoint positions. You may calculate. Then, the correction unit may correct the calculated moving distance so as to monotonously decrease with respect to the calculated average value.
  • the game device can employ any object in the region of interest as a target for calculating the distance from the viewpoint. Therefore, in the present invention, the distance from the viewpoint is obtained for each object in the attention area, and the correction amount of the movement distance is obtained so as to monotonously decrease with respect to the average distance. For example, if each object in the area where the degree of attention is estimated to be relatively high is close to the viewpoint as a whole, it can be estimated that the degree of attention of the player near the area of interest is high. Therefore, the place where the degree of attention of the player is relatively high can be estimated according to the actual situation of the player, so that the visibility of the screen can be further improved.
  • the distance calculation unit calculates the maximum value of each distance between the position of the object in the virtual space and the stored viewpoint position. You may calculate. Then, the correction unit may correct the calculated moving distance so as to monotonously decrease with respect to the calculated maximum value.
  • the game device can employ any object in the region of interest as a target for calculating the distance from the viewpoint. Therefore, in the present invention, the game device obtains the distance from the viewpoint for each object in the attention area, and obtains the correction amount of the movement distance so as to monotonously decrease with respect to the longest distance among them. For example, if an object that is presumed to have a high level of attention is located near the viewpoint among the regions that are estimated to have a relatively high level of attention, the degree of attention of the player near the target region is estimated to be particularly high . Therefore, the place where the degree of attention of the player is relatively high can be estimated according to the actual situation of the player, so that the visibility of the screen can be further improved.
  • the distance calculation unit calculates a minimum value of each distance between the position of the object in the virtual space and the stored viewpoint position. You may calculate. Then, the correction unit may correct the calculated moving distance so as to monotonously decrease with respect to the calculated minimum value.
  • the game device can employ any object in the region of interest as a target for calculating the distance from the viewpoint. Therefore, in the present invention, the game device obtains the distance from the viewpoint for each object in the attention area, and obtains the correction amount of the movement distance so as to monotonously decrease with respect to the shortest distance among them. For example, even if an object is relatively inconspicuous in a region that is estimated to have a high degree of attention, it can be estimated that the attention level of the player is high if it is near the viewpoint. Therefore, the place where the degree of attention of the player is relatively high can be estimated according to the actual situation of the player, so that the visibility of the screen can be further improved.
  • the distance calculation unit calculates a total value of the distances between the position of the object in the virtual space and the stored viewpoint position. You may calculate. Then, the correction unit may correct the calculated moving distance so as to monotonously decrease with respect to the calculated total value.
  • the game device can employ any object in the region of interest as a target for calculating the distance from the viewpoint. Therefore, in the present invention, the game device obtains the distance from the viewpoint for each object in the attention area and obtains the correction amount of the movement distance so as to monotonously decrease with respect to the total distance (total distance). . For example, even if each object in an area that is estimated to have a relatively high level of attention is far from the viewpoint as a whole, if the number of objects is large, the degree of attention of the player near the area of interest Can be estimated to be expensive. Therefore, the place where the degree of attention of the player is relatively high can be estimated according to the actual situation of the player, so that the visibility of the screen can be further improved.
  • a game processing method is a game processing method executed by a game device having a storage unit, and includes a generation step, a display step, a distance calculation step, a movement calculation step, a correction step, and an update step.
  • the storage unit stores the position of the object arranged in the virtual space and the position of the viewpoint arranged in the virtual space.
  • the generation step an image representing the object viewed from the viewpoint position in the virtual space is generated.
  • the display step the generated image is displayed.
  • the distance calculation step a distance between the position of the object in the virtual space and the stored viewpoint position is obtained.
  • the movement calculation step a movement direction and a movement distance for moving the position of the viewpoint are calculated.
  • the correction step the calculated moving distance is corrected based on the obtained distance.
  • updating step updating is performed so that the stored viewpoint position is moved in the calculated movement direction by the corrected movement distance.
  • correction step correction is performed so that the corrected movement distance is monotonously decreased with respect to the obtained distance.
  • the present invention it is possible to prevent the image from becoming difficult to be seen as a whole due to the scroll amount of the screen being too large or too fast, and it is possible to improve the visibility of the screen for the player. For example, the player does not get drunk by frequently scrolling the screen. Furthermore, it is possible to prevent the screen scrolling process from frequently occurring due to the movement of the viewpoint, and the load of the scrolling process can be reduced.
  • a game processing method is a game processing method executed by a game device having a storage unit, and includes a generation step, a display step, a distance calculation step, a movement calculation step, a correction step, and an update step.
  • the storage unit stores the position of the object arranged in the virtual space, the position of the viewpoint arranged in the virtual space, and the direction of the line of sight.
  • the generation step an image representing the object viewed in the direction of the line of sight from the position of the viewpoint in the virtual space is generated.
  • the display step the display unit displays the generated image.
  • the distance calculation step a distance between the position of the object in the virtual space and the stored viewpoint position is obtained.
  • a rotation direction and a rotation angle for rotating the direction of the line of sight are calculated.
  • the calculated rotation angle is corrected based on the obtained distance.
  • the stored line-of-sight direction is updated by the calculated rotation direction by the corrected rotation angle.
  • correction is performed so that the corrected rotation angle monotonously decreases with respect to the obtained distance.
  • the present invention it is possible to prevent the image from becoming difficult to be seen as a whole due to the scroll amount of the screen being too large or too fast, and it is possible to improve the visibility of the screen for the player. For example, the player does not get drunk by frequently scrolling the screen. Furthermore, it is possible to prevent the screen scrolling process from frequently occurring due to the movement of the viewpoint, and the load of the scrolling process can be reduced.
  • An information recording medium includes a computer, A storage unit for storing a position of an object arranged in the virtual space and a position of a viewpoint arranged in the virtual space; A generating unit that generates an image representing the object viewed from the position of the viewpoint in the virtual space; A display unit for displaying the generated image; A distance calculation unit for obtaining a distance between the position of the object in the virtual space and the position of the stored viewpoint; A movement calculation unit for calculating a movement direction and a movement distance for moving the position of the viewpoint, A correction unit that corrects the calculated moving distance based on the calculated distance; An updating unit that updates the stored viewpoint position to move in the calculated movement direction by the corrected movement distance. Function as The correction unit corrects the corrected travel distance so as to monotonously decrease with respect to the determined distance; To make it work.
  • the computer can function as a game device that operates as described above.
  • An information recording medium includes a computer, A storage unit for storing the position of an object arranged in the virtual space, the position of the viewpoint arranged in the virtual space, and the direction of the line of sight; A generating unit that generates an image representing the object viewed in the direction of the line of sight from the position of the viewpoint in the virtual space; A display unit for displaying the generated image; A distance calculation unit for obtaining a distance between the position of the object in the virtual space and the position of the stored viewpoint; A movement calculation unit for calculating a rotation direction and a rotation angle for rotating the direction of the line of sight, A correction unit that corrects the calculated rotation angle based on the obtained distance; An update unit that updates the stored direction of the line of sight to rotate in the calculated rotation direction by the corrected rotation angle, Function as The correction unit corrects the corrected rotation angle so as to monotonously decrease with respect to the determined distance; To make it work.
  • the computer can function as a game device that operates as described above.
  • a program provides a computer, A storage unit for storing a position of an object arranged in the virtual space and a position of a viewpoint arranged in the virtual space; A generating unit that generates an image representing the object viewed from the position of the viewpoint in the virtual space; A display unit for displaying the generated image; A distance calculation unit for obtaining a distance between the position of the object in the virtual space and the position of the stored viewpoint; A movement calculation unit for calculating a movement direction and a movement distance for moving the position of the viewpoint, A correction unit that corrects the calculated moving distance based on the calculated distance; An updating unit that updates the stored viewpoint position to move in the calculated movement direction by the corrected movement distance. Function as The correction unit corrects the corrected travel distance so as to monotonously decrease with respect to the determined distance; It is characterized by that.
  • the computer can function as a game device that operates as described above.
  • a program provides a computer, A storage unit for storing the position of an object arranged in the virtual space, the position of the viewpoint arranged in the virtual space, and the direction of the line of sight; A generating unit that generates an image representing the object viewed in the direction of the line of sight from the position of the viewpoint in the virtual space; A display unit for displaying the generated image; A distance calculation unit for obtaining a distance between the position of the object in the virtual space and the position of the stored viewpoint; A movement calculation unit for calculating a rotation direction and a rotation angle for rotating the direction of the line of sight, A correction unit that corrects the calculated rotation angle based on the obtained distance; An update unit that updates the stored direction of the line of sight to rotate in the calculated rotation direction by the corrected rotation angle, Function as The correction unit corrects the rotation angle as a result of the correction so that the rotation angle monotonously decreases with respect to the obtained distance. It is characterized by that.
  • the computer can function as a game device that operates as described above.
  • the program of the present invention can be recorded on a computer-readable information storage medium such as a compact disk, flexible disk, hard disk, magneto-optical disk, digital video disk, magnetic tape, and semiconductor memory.
  • a computer-readable information storage medium such as a compact disk, flexible disk, hard disk, magneto-optical disk, digital video disk, magnetic tape, and semiconductor memory.
  • the above program can be distributed and sold via a computer communication network independently of the computer on which the program is executed.
  • the information storage medium can be distributed and sold independently from the computer.
  • Embodiment 2 it is an example of the image showing the virtual space displayed on a screen. It is a figure for demonstrating the positional relationship of a viewpoint, an object, etc. in virtual space.
  • Embodiment 3 it is an example of the image showing the virtual space displayed on a screen. It is a figure for demonstrating the positional relationship of a viewpoint, an object, etc. in virtual space.
  • Embodiment 4 it is an example of the image showing the virtual space displayed on a screen. It is a figure for demonstrating the positional relationship of a viewpoint, an object, etc. in virtual space.
  • Embodiment 4 It is a figure for demonstrating the locus
  • Embodiment 4 it is a figure for demonstrating the locus
  • Embodiment 4 it is another example of the image showing the virtual space displayed on a screen. It is a figure for demonstrating the positional relationship of a viewpoint, an object, etc. in virtual space.
  • Embodiment 5 it is a figure which shows the functional structure of a game device.
  • Embodiment 5 it is an example of the image showing the virtual space displayed on a screen. It is a figure for demonstrating the positional relationship of a pseudo viewpoint or a character.
  • Embodiment 5 it is an example of an image when zoomed out. It is a figure for demonstrating the positional relationship of a pseudo viewpoint or a character. It is a flowchart for demonstrating an image display process.
  • FIG. 1 is a schematic diagram illustrating a schematic configuration of a typical information processing apparatus that performs functions of an apparatus according to an embodiment of the present invention by executing a program.
  • the information processing apparatus 100 includes a CPU (Central Processing Unit) 101, a ROM 102, a RAM (Random Access Memory) 103, an interface 104, a controller 105, an external memory 106, an image processing unit 107, and a DVD-ROM.
  • a (Digital Versatile Disc ROM) drive 108, a NIC (Network Interface Card) 109, an audio processing unit 110, and a microphone 111 are provided.
  • the CPU 101 controls the overall operation of the information processing apparatus 100 and is connected to each component to exchange control signals and data.
  • the CPU 101 uses arithmetic operations such as addition / subtraction / multiplication / division, logical sum, logical product using ALU (Arithmetic Logic Unit) (not shown) for a storage area called a register (not shown) that can be accessed at high speed.
  • Logic operations such as logical negation, bit operations such as bit sum, bit product, bit inversion, bit shift, and bit rotation can be performed.
  • the CPU 101 itself is configured and can be implemented with a coprocessor so that saturation operations such as addition, subtraction, multiplication, division, etc. for multimedia processing, and trigonometric functions, etc., can be performed at high speed. There is.
  • the ROM 102 records an IPL (Initial Program Loader) that is executed immediately after the power is turned on, and when this is executed, the program recorded on the DVD-ROM is read into the RAM 103 and the execution by the CPU 101 is started.
  • the ROM 102 stores an operating system program and various data necessary for operation control of the entire information processing apparatus 100.
  • the RAM 103 is for temporarily storing data and programs, and holds programs and data read from the DVD-ROM and other data necessary for game progress and chat communication.
  • the CPU 101 provides a variable area in the RAM 103, performs an operation by directly operating the ALU on the value stored in the variable, or temporarily stores the value stored in the RAM 103 in a register. Perform operations such as performing operations on registers and writing back the operation results to memory.
  • the controller 105 connected via the interface 104 receives an operation input performed when the user executes the game. Details of the controller 105 will be described later.
  • the external memory 106 detachably connected via the interface 104 stores data indicating game play status (past results, etc.), data indicating game progress, and log of chat communication in the case of a network match ( Data) is stored in a rewritable manner. The user can record these data in the external memory 106 as appropriate by inputting an instruction via the controller 105.
  • the DVD-ROM drive 108 On the DVD-ROM mounted on the DVD-ROM drive 108, a program for realizing the game and image data and sound data associated with the game are recorded. Under the control of the CPU 101, the DVD-ROM drive 108 performs a reading process on the DVD-ROM mounted thereon, reads necessary programs and data, and these are temporarily stored in the RAM 103 or the like.
  • the image processing unit 107 processes the data read from the DVD-ROM by the CPU 101 or an image arithmetic processor (not shown) included in the image processing unit 107, and then processes the processed data in a frame memory ( (Not shown).
  • the image information recorded in the frame memory is converted into a video signal at a predetermined synchronization timing and output to a monitor (not shown) connected to the image processing unit 107. Thereby, various image displays are possible.
  • the image calculation processor can execute a two-dimensional image overlay calculation, a transparency calculation such as ⁇ blending, and various saturation calculations at high speed.
  • polygon information that is arranged in the three-dimensional space and to which various texture information is added is rendered by the Z buffer method, and a predetermined viewpoint position is used. It is also possible to perform a high-speed execution of a calculation that obtains a rendering image obtained by looking down at a polygon arranged in the virtual space in the direction of a predetermined line of sight.
  • the CPU 101 and the image arithmetic processor work together to draw a character string as a two-dimensional image in the frame memory or on each polygon surface according to the font information that defines the character shape. is there.
  • the NIC 109 is used to connect the information processing apparatus 100 to a computer communication network (not shown) such as the Internet, and is used when configuring a LAN (Local Area Network) 10BASE-T / 100BASE-T standard. And analog modems for connecting to the Internet using telephone lines, ISDN (Integrated Services Digital Network) modems, ADSL (Asymmetric Digital Subscriber Line) modems, and cable television lines for connecting to the Internet It is composed of a cable modem and the like and an interface (not shown) that mediates between these and the CPU 101.
  • a computer communication network such as the Internet
  • analog modems for connecting to the Internet using telephone lines
  • ISDN Integrated Services Digital Network
  • ADSL Asymmetric Digital Subscriber Line
  • cable television lines for connecting to the Internet It is composed of a cable modem and the like and an interface (not shown) that mediates between these and the CPU 101.
  • the audio processing unit 110 converts audio data read from the DVD-ROM into an analog audio signal and outputs it from a speaker (not shown) connected thereto. Further, under the control of the CPU 101, sound effects and music data to be generated during the progress of the game are generated, and sound corresponding to this is output from the speaker.
  • the audio processing unit 110 converts the MIDI data into PCM data with reference to the sound source data included in the audio data. If the compressed audio data is in ADPCM format or Ogg Vorbis format, it is expanded and converted to PCM data.
  • the PCM data can be output by performing D / A (Digital / Analog) conversion at a timing corresponding to the sampling frequency and outputting it to a speaker.
  • a microphone 111 can be connected to the information processing apparatus 100 via the interface 104.
  • the analog signal from the microphone 111 is subjected to A / D conversion at an appropriate sampling frequency so that processing such as mixing in the sound processing unit 110 can be performed as a PCM format digital signal.
  • the information processing apparatus 100 uses a large-capacity external storage device such as a hard disk to perform the same function as the ROM 102, the RAM 103, the external memory 106, the DVD-ROM attached to the DVD-ROM drive 108, and the like. You may comprise.
  • a large-capacity external storage device such as a hard disk to perform the same function as the ROM 102, the RAM 103, the external memory 106, the DVD-ROM attached to the DVD-ROM drive 108, and the like. You may comprise.
  • the information processing apparatus 100 described above corresponds to a so-called “consumer video game apparatus”, but the present invention can be realized as long as it performs image processing that displays a virtual space. Therefore, the present invention can be realized on various computers such as a mobile phone, a portable game device, a karaoke apparatus, and a general business computer.
  • a general computer like the information processing apparatus 100, includes a CPU, RAM, ROM, DVD-ROM drive, and NIC, and an image processing unit that has simpler functions than the information processing apparatus 100.
  • a hard disk as an external storage device
  • a flexible disk a magneto-optical disk, a magnetic tape, and the like can be used.
  • a keyboard or a mouse is used as an input device.
  • a controller 105 that can measure various parameters such as a position and posture in a real space is employed.
  • FIG. 2 is an explanatory diagram showing the external appearance of the controller 105 and the information processing apparatus 100 that can measure various parameters such as position and posture in the actual space.
  • the controller 105 and the information processing apparatus 100 that can measure various parameters such as position and posture in the actual space.
  • the controller 105 includes a combination of the grip module 201 and the light emitting module 251.
  • the grip module 201 is communicably connected to the information processing apparatus 100 by wireless communication
  • the light emitting module 251 is communicably connected to the information processing apparatus 100 by wire.
  • the sound and image of the processing result of the information processing apparatus 100 are output and displayed by the television apparatus 291.
  • the grip module 201 has an appearance similar to the remote controller of the television device 291, and a CCD camera 202 is disposed at the tip thereof.
  • the light emitting module 251 is fixed to the upper part of the television device 291.
  • Light emitting diodes 252 are disposed at both ends of the light emitting module 251, and emits light when power is supplied from the information processing apparatus 100.
  • the CCD camera 202 of the grip module 201 takes a picture of the light emitting module 251.
  • Information on the captured image is transmitted to the information processing apparatus 100, and the CPU 101 of the information processing apparatus 100 determines the grip module for the light emitting module 251 based on the position where the light emitting diode 252 is captured in the captured image.
  • the position of 201 is acquired.
  • an acceleration sensor an angular acceleration sensor, an inclination sensor, and the like are built in the grip module 201, and the posture of the grip module 201 itself can be measured. This measurement result is also transmitted to the information processing apparatus 100.
  • a cross-shaped key 203 is arranged on the upper surface of the grip module 201, and the user can input various directions by pressing the cross-shaped key 203.
  • various buttons 206 are also arranged on the upper surface, and an instruction input associated with the button can be performed.
  • the B-button 205 is arranged on the lower surface of the grip module 201 and, in combination with the depression formed on the lower surface of the grip module 201, simulates a trigger in a handgun or a magic hand. .
  • a B-button 205 is used to input an instruction for firing with a handgun or holding with a magic hand in a virtual space.
  • the indicator 207 on the upper surface of the grip module 201 presents to the user the operation status of the grip module 201 and the status of wireless communication with the information processing apparatus 100.
  • the power button 208 prepared on the upper surface of the grip module 201 turns on / off the operation of the grip module 201 itself, and the grip module 201 is operated by a built-in battery (not shown).
  • a speaker 209 is disposed on the upper surface of the grip module 201 and outputs a sound based on a sound signal input from the sound processing unit 110.
  • a vibrator (not shown) is prepared inside the grip module 201 so that the presence / absence and strength of vibration can be controlled based on an instruction from the information processing apparatus 100.
  • the present invention is not limited to the above-described form, and even when the position and orientation of the controller 105 in the real world are measured using, for example, ultrasonic waves, infrared communication, GPS (Global Positioning System), or the like. Included in the range.
  • the magic hand has a rod-shaped “arm” that extends over a wider area than the reach of human hands, and “sucks” an object with the “hand” placed at the end of the “arm”. It means something that can be transported or stopped. Therefore, the magic hand can be considered to have a trimochi attached to the tip of the heel so that a distant object can be acquired by the trimochi.
  • a magic hand is grasping an object in accordance with daily text expressions.
  • FIG. 3 is an explanatory diagram showing the correspondence between the virtual space and the real world in such a game.
  • a description will be given with reference to FIG.
  • the magic hand 302 includes a handle 304 and a traction beam, and the traction beam occupies most of the entire length of the magic hand 302.
  • the “traction beam” is used as a setting in comics and animations, and means that the object can be grabbed by the tip of the tow beam and pulled.
  • the tow beam of the magic hand 302 in this game has a rod shape. And when this tow beam does not hold any object, the exit port at one end of the handle 304 of the magic hand 302 until it collides with any object (including objects of various obstacles such as walls). It extends in a straight line. Accordingly, the direction in which the magic hand 302 emits the traction beam is determined by the posture of the handle 304 of the magic hand 302.
  • the position / posture of the handle 304 of the magic hand 302 changes accordingly.
  • the position and posture of the grip module 201 are measured, and the handle 304 of the magic hand 302 is an instruction target. Then, based on the instruction “change in posture of the grip module 201”, the position and posture of the handle 304 of the magic hand 302 change in the virtual space 301.
  • the player fixes the grip module 201 at the place where it is most easily gripped at the start of the game. Then, the handle 304 of the magic hand 302 is arranged in the most natural posture at a position relatively determined with respect to the viewpoint 305 and the line of sight 306 arranged in the virtual space 301.
  • the grip module 201 is arranged at the “reference position” with respect to the player.
  • the handle 304 of the magic hand 302 is “reference” with respect to the viewpoint 305 and the line of sight 306. "Position”.
  • This “reference position” is determined relative to the viewpoint 305 and the line of sight 306 in the virtual space. This is because the position where the player holds the grip module 201 in the most natural posture is determined. It corresponds to being determined relative to the position.
  • the viewpoint 305 and the line of sight 306 in the virtual space 301 are the eyes of the character in the virtual space (also referred to as a subjective viewpoint) operated (played) by the player, and the eyes (also referred to as the objective viewpoint) viewing the character from behind.
  • this eye corresponds to the eye of the player. Therefore, the reference position of the handle 304 of the magic hand 302 is typically lower right or lower left than the viewpoint 305 depending on the dominant hand of the player.
  • the virtual projection plane 307 is orthogonal to the line of sight 306.
  • the state of the virtual space 301 is presented to the player by an image obtained by perspectively projecting the object 303 to be displayed on the screen and the tow beam of the magic hand 302 onto the projection plane 307.
  • a single point concentrated projection using a point where a straight line connecting the viewpoint 305 and the object 303 etc. intersects the projection plane 307 is typical, but the viewpoint 305 is arranged at infinity and the object 303 is arranged.
  • Parallel projection using a point that passes through the line 306 and intersects with the projection plane 307 may be adopted.
  • the pattern 304 of the magic hand 302 is generally not displayed on the screen.
  • the information processing apparatus 100 refers to the measurement result and determines the position and posture of the handle 304 of the magic hand 302 as the reference. Move from the position by a corresponding amount (typically the same amount as in the real world).
  • the relative position and posture of the handle 304 with respect to the viewpoint 305 and the line of sight 306 are interlocked with changes in the position and posture of the grip module 201.
  • the player uses the grip module 201 as an operation target, and changes the position and posture of the handle 304 of the magic hand 302 that is an instruction target.
  • the player changes the position and posture of the grip module 201 and operates the traction beam extending from the handle 304 of the magic hand 302 to collide with the desired object 303. Then, the B-button 205 of the grip module 201 is pressed. Then, the tip of the magic hand 302 grasps the object 303.
  • the tow beam of the magic hand 302 is directed from the injection point at one end of the handle 304 of the magic hand 302 with the position of the grasped object 303 as a target point. Therefore, the target position to which the tow beam should go is set by pressing the B-button 205, which corresponds to a state where a trigger is pulled in the shooting game. Further, in this embodiment, when the B-button 205 is not pressed, the position of the object 303 that the traction beam of the magic hand 302 collides for the first time is set as the target position of the traction beam.
  • the external force applied to the object 303 is as follows.
  • this corresponds to a force directed upward, downward, leftward, and rightward, and is determined by the direction in which the magic hand 302 is bent and its size.
  • FIG. 4 is an explanatory diagram showing the positional relationship between the handle 304 of the magic hand 302 and the object 303 and the direction of the force.
  • the magic hand 302 holding the object 303 expands and contracts or bends when the player changes the position or posture of the handle 304.
  • the traction beam of the magic hand 302 when the traction beam of the magic hand 302 is not grasping anything, the traction beam goes straight from the injection port provided at one end of the handle 304.
  • the direction 311 of the posture of the handle 304 of the magic hand 302 is “from the injection port provided at one end of the handle 304 when it is assumed that the tow beam of the magic hand 302 is not grasping anything. It is defined as “straight direction”.
  • the tow beam of the magic hand 302 when the tow beam of the magic hand 302 is gripping the object 303, the tow beam is bent by the weight of the object 303, so the orientation direction 311 of the handle 304 of the magic hand 302 and the handle 304 toward the object 303. There is a deviation from the direction.
  • the tow beam is fired so as to be in contact with the direction 311 of the posture of the handle 304, and then smoothly bends to draw a curve reaching the object 303.
  • various curves such as a spline curve obtained by spline interpolation and an arc can be used.
  • the direction of the traction beam in the object 303 can be easily calculated as a so-called open end.
  • the distance between the handle 304 (or the viewpoint 305) and the object 303 at the moment when the magic hand 302 starts to grasp the object 303 can be considered as the natural length of the magic hand 302. If this natural length is compared with the distance between the handle 304 and the object 303 in the current virtual space, a traction force (repulsive force) 411 corresponding to a spring can be simulated. That is, if a traction force (a repulsive force having an absolute value when the sign is negative) 411 is obtained by multiplying a value obtained by subtracting the natural length from the distance, a predetermined integer constant, it is simple. Can be simulated.
  • the force 412 for moving the object 303 up, down, left and right includes the posture of the handle 304 of the magic hand 302 (the direction in which the tow beam extends when the object 303 is not held) and the handle 304 (or the viewpoint). 305) to the object 303.
  • the direction of the up / down / left / right force 412 is the direction of the vector 323 obtained by subtracting the direction vector 322 in the direction from the handle 304 (or the viewpoint 305) to the object 303 from the direction vector 321 in the orientation direction 311 of the handle 304.
  • the magnitude of the force 412 is proportional to the magnitude of the vector 323.
  • the vertical and horizontal force 412 is further proportional to the distance between the handle 304 (or the viewpoint 305) and the object 303, it can be simulated easily. Can do.
  • the CPU 101 can calculate the acceleration applied to the object 303 by calculating the gravitational force, the static friction force, and the dynamic friction force in the same manner as in a normal physical simulation.
  • the position can be updated. As a result, the object 303 is moved.
  • the player moves the object 303 to a desired position, the player releases his / her finger and releases the pressing operation of the B-button 205.
  • the magic hand 302 stops gripping the object 303, and the tow beam extends in the direction 311 of the posture of the handle 304 of the magic hand 302 as before.
  • obstacle another object (hereinafter referred to as “obstacle”) 309 exists on the path of the tow beam while the magic hand 302 is holding the object 303, the state where the object 303 is held is released. . When released, the traction beam returns from a bent shape to a semi-linear shape.
  • the shape of the pulling beam of the magic hand 302 is a semi-linear shape when the object 303 is not grasped, and shows the direction 311 of the posture of the handle 304. Since it bends when the object 303 is gripped, another method of presenting the orientation direction 311 of the handle 304 to the player is required. Therefore, a cursor (indicating sign) is used.
  • FIG. 5 is an explanatory view showing a state in which a cursor (indicating sign), a magic hand, and an object are displayed on the screen.
  • This figure shows a state in which the magic hand 302 is grasping the object 303, and the direction 311 of the handle 304 does not coincide with the direction of the traction beam in the screen 501. That is, the cursor 308 is displayed on a straight line indicating the direction 311 of the handle 304, but this is not on the traction beam of the magic hand 302.
  • the image displayed on the screen 501 shows the appearance of the object projected on the projection plane 307.
  • the position of the cursor 308 in the projection plane 307 may be the position where the half line extending from the handle 304 to the posture direction 311 of the handle 304 intersects the projection plane 307. As a result, the player can appropriately understand the direction of the handle 304 of the magic hand 302 only by looking at the screen.
  • the direction 311 of the handle 304 coincides with the direction of the traction beam.
  • the cursor 308 will be displayed on the tow beam of the magic hand 302. .
  • the following modifications can be applied to the operation method of the magic hand 302. That is, while the B-button 205 is not pressed, the tow beam of the magic hand 302 is not emitted, and the display position of the cursor 308 in the screen 501 changes when the position or posture of the handle 304 changes.
  • the display position of the cursor 308 is a position where the projection direction 307 of the orientation direction 311 of the pattern 304 of the magic hand 302 intersects.
  • a straight line passing through “the position of the surface of another object 303 where the orientation direction 311 of the handle 304 of the magic hand 302 first collides” and the viewpoint 305 may intersect with the projection plane 307. In this case, it is possible to obtain an operational feeling as if a laser pointer is pointing to an object in the room.
  • a traction beam is emitted from the exit of the handle 304 of the magic hand 302, and if the object 303 that the traction beam collides for the first time is movable, it is adsorbed.
  • the display position of the cursor 308 adopts an aspect in which an object is pointed by a laser pointer, the object 303 displayed by overlapping the cursor 308 becomes the object 303 to be picked up, which is easy for the player to understand.
  • the movement of the attracted object 303 is the same as described above.
  • the operation of continuing to press the B-button 205 may be troublesome for the player.
  • the player presses and releases the B-button 205 the traction beam is emitted and attracted, and after moving the object 303 to a desired position, the player presses the B-button 205 again.
  • Start of receiving instruction input corresponds to “Start of pressing operation of B-button 205”
  • End of receiving input of instruction corresponds to “End of pressing operation of B-button 205”.
  • start of instruction input reception is “operation to press and release the B-button 205 in a state where the traction beam is not emitted”
  • end of instruction input reception is “the traction beam is emitted.
  • Which operation system is adopted can be appropriately changed depending on the proficiency level of the player and the type of game.
  • the assignment of a button for issuing an instruction input or the like can be appropriately changed according to the application, such as using the A-button 204 instead of the B-button 205.
  • FIG. 6 is an explanatory diagram for explaining the relationship between the position of the handle 304 of the magic hand and the direction of movement of the viewpoint 305.
  • FIG. 6 is an explanatory diagram for explaining the relationship between the position of the handle 304 of the magic hand and the direction of movement of the viewpoint 305.
  • the reference position 313 of the handle 304 of the magic hand 302 is determined relative to the viewpoint 305 and the line of sight 306 in the virtual space 301.
  • the viewpoint is moved in the direction of a vector 314 obtained by subtracting the position vector of the reference position 313 from the position vector of the current pattern 304 position.
  • the vector 314 (or a vector obtained by multiplying this by a constant) is set as the velocity vector of the moving speed of the viewpoint 305, and the viewpoint 305 is moved by an amount obtained by multiplying the predetermined unit time by the speed vector.
  • the vector 314 (or the like) The component in the direction parallel to the predetermined plane of the vector multiplied by a constant may be used as the velocity vector of the moving speed.
  • the movement of the viewpoint 305 itself is considered as a vector of an external force applied to the character including the viewpoint 305 or an acceleration vector (in these cases, it is typical to consider only a component parallel to the ground). It can also be simulated.
  • the grip module 201 When the player moves the grip module 201 forward (so as to approach the television device 291), the character having the viewpoint 305 in the virtual space 301 moves forward. Then, the magic hand 302 holding the object 303 is somewhat shrunk, and generally, a repulsive force to move away from the character having the viewpoint 305 is applied to the object 303, and the object 303 also advances from the front of the screen toward the back. .
  • the player may input an instruction to change the length of the magic hand 302 itself by using the A-button 204 and various buttons 206.
  • the posture of the handle 304 is shown by displaying the cursor 308 on the screen 501.
  • the position of the cursor 308 in the screen 501 can be easily changed by simply changing the posture of the grip module 201 by the player. Therefore, the CPU 101 changes the direction of the character, that is, the direction of the line of sight 306 based on the position of the cursor 308 displayed in the screen 501.
  • the screen 501 is divided into five regions: an upper edge portion 511, a right edge portion 512, a left edge portion 513, a lower edge portion 514, and a central portion 515.
  • the player instructs the movement of the line of sight 306 by changing the posture of the grip module 201 as follows.
  • (A) When the player wants to move the line of sight 306 upward, the player changes the posture of the grip module 201 so that the cursor 308 is displayed on the upper edge 511.
  • (B) When the player wants to move the line of sight 306 to the right, the player changes the posture of the grip module 201 so that the cursor 308 is displayed on the right edge portion 512.
  • the CPU 101 stops moving in the direction of the line of sight 306.
  • the CPU 101 identifies in which area in the screen 501 the position of the cursor 308 is included at unit time intervals (for example, every vertical synchronization interrupt cycle). If necessary, the CPU 101 changes the direction of the line of sight 306 in accordance with the movement amount and direction assigned to the area.
  • the CPU 101 changes the direction of the posture 311 of the handle 304 of the magic hand 302 in the virtual space so that the display position of the cursor 308 in the screen 501 does not change. It is desirable to update.
  • FIG. 7A to 7C are diagrams for explaining the process of moving the direction of the line of sight 306.
  • FIG. 7A to 7C are diagrams for explaining the process of moving the direction of the line of sight 306.
  • the CPU 101 acquires the position and posture of the handle 304 of the magic hand 302 relative to the viewpoint 305 and the line of sight 306 (FIG. 7A). (2) Next, the CPU 101 changes the direction of the character by changing the direction of the line of sight 306 around the viewpoint 305 (FIG. 7B). ) (3) Then, the CPU 101 updates the position and posture of the handle 304 of the magic hand 302 corresponding to the changed viewpoint 305 and line of sight 306 to the position and posture acquired in (1) (FIG. 7C). . The position and posture of the handle 304 of the magic hand 302 change with respect to the virtual space 301.
  • the position and posture of the handle 304 of the magic hand 302 with respect to the viewpoint 305 and the line of sight 306 are maintained at the same value.
  • the player may change the posture of the grip module 201 so that the cursor 308 moves to the right edge portion 512.
  • the direction of the character (the direction of the line of sight 306) is updated. Even if the direction of the character changes little by little to the right, the display position of the cursor 308 in the screen 501 does not change.
  • the player may change the posture of the grip module 201 so that the cursor 308 is returned to the central portion 515 of the screen 501.
  • the direction of the character can be easily changed.
  • each of the upper edge portion 511, the right edge portion 512, the left edge portion 513, and the lower edge portion 514 and the amount of movement per unit time in the direction of the line of sight 306 per unit time depend on the application field and the proficiency level of the player. It can be changed as appropriate. Further, the CPU 101 may decrease the amount of movement per unit time near the center portion 515 and increase it as it approaches the edge of the screen 501.
  • an appropriate upper limit or lower limit may be provided.
  • the direction of the line of sight 306 may not be changed further.
  • various restrictions can be imposed such that the line of sight 306 can be changed only to the left and right.
  • the method of dividing the edge of the screen 501 is not limited by the present invention.
  • an area may be divided so as to spread in a fan shape from the center of the screen 501, and a movement amount per unit time in a direction viewed from the center of the screen may be assigned to each area so that the movement in an oblique direction is possible.
  • FIG. 8 is a diagram illustrating a functional configuration of the game apparatus 800.
  • the game device 800 includes a storage unit 801, an input reception unit 802, a generation unit 803, a display unit 804, a distance calculation unit 805, a movement calculation unit 806, a correction unit 807, and an update unit 808.
  • FIG. 9A is an example of a screen 501 displayed on the monitor.
  • objects 902A, 902B, and 902C are displayed as the above objects, in addition to the object 901 held by the magic hand 302.
  • FIG. 9B is a diagram illustrating the virtual space 301 in a state where the screen 501 illustrated in FIG. 9A is displayed.
  • the storage unit 801 stores object information 851, viewpoint information 852, line-of-sight information 853, cursor information 854, and attention area information 855.
  • the CPU 101 and the RAM 103 cooperate to function as the storage unit 801.
  • An external memory 106 may be used instead of the RAM 103.
  • the object information 851 is information indicating the position of the object 303 arranged in the virtual space 301.
  • information indicating the position of each object 303 is stored as object information 851 in the storage unit 801.
  • a global coordinate system using a Cartesian coordinate system or a polar coordinate system is defined.
  • the position is expressed using coordinate values in the global coordinate system. For example, when the magic hand 302 moves while the magic hand 302 is holding the object 303, the CPU 101 calculates the amount of change in the position of the object 303. Then, the CPU 101 changes the position of the object 303 by the calculated change amount, and updates the object information 851.
  • the viewpoint information 852 is information indicating the position of the viewpoint 305 arranged in the virtual space 301 and is expressed using coordinate values in the global coordinate system.
  • the CPU 101 calculates the amount of change in the position of the viewpoint 305 according to the change in the position of the grip module 201 in the real space. Then, the CPU 101 updates the viewpoint information 852 by changing the position of the viewpoint 305 by the calculated change amount.
  • the line-of-sight information 853 is information indicating the direction of the line of sight 306 arranged in the virtual space 301, and is represented by a direction vector in the global coordinate system.
  • the CPU 101 calculates the amount of change in the direction of the line of sight 306 according to the change in the posture of the grip module 201 in the real space. Then, the CPU 101 changes the direction of the line of sight 306 by the calculated amount of change, and updates the line of sight information 853.
  • the position of the viewpoint 305 and the direction of the line of sight 306 are both variable.
  • the position of the viewpoint 305 may be fixed and only the direction of the line of sight 306 may be variable.
  • the direction of the line of sight 306 may be fixed and only the position of the viewpoint 305 may be variable.
  • Cursor information 854 is information indicating the position of the cursor 308 in the screen 501.
  • a two-dimensional coordinate system is defined in which the upper left corner of the screen 501 is the origin, the right direction is the positive direction of the X axis, and the lower direction is the positive direction of the Y axis.
  • the position of the cursor 308 in the screen 501 is expressed as a coordinate value in this two-dimensional coordinate system.
  • the CPU 101 calculates the amount of change in the position of the cursor 308 according to the change in the position and posture of the grip module 201 in the real space. Then, the CPU 101 updates the cursor information 854 by changing the position of the cursor 308 by the calculated change amount.
  • the attention area information 855 is information indicating the position of the attention area 960 set in the screen 501.
  • the attention area 960 is an area that is set in the screen 501 by the CPU 101 estimating that the degree of attention of the player is high based on an instruction input from the user.
  • the screen area that is estimated to have a high level of player attention is typically a partial area near the center of the screen 501.
  • the CPU 101 can appropriately change the position, size, shape, and the like of the attention area 960 according to game content, game development, a position where the object 303 exists, and the like.
  • the entire screen 501 can be set as the attention area 960.
  • the attention area 960 is fixed to a rectangle having the center point 953 of the screen 501 as the center of gravity. An embodiment in which the position of the attention area 960 is variable will be described later.
  • the input reception unit 802 receives various instruction inputs from a user who operates the grip module 201. For example, the input receiving unit 802 inputs a movement instruction for moving the position of the viewpoint 305 and the direction of the line of sight 306, a selection instruction for selecting an arbitrary object 303 as an operation target, and the object 303 for the magic hand 302. An operation instruction input for grabbing or releasing with a player is received from the player. Then, the input receiving unit 802 updates the viewpoint information 852, the line-of-sight information 853, and the cursor information 854 stored in the storage unit 801 based on the received instruction input.
  • the CPU 101 changes the amount of change in the position of the viewpoint 305 and / or the line of sight 306 according to the change in the position or posture of the grip module 201. Calculate the amount of change in the direction of. Then, the CPU 101 changes the position of the viewpoint 305 and / or the direction of the line of sight 306 by the calculated amount of change, and updates the viewpoint information 852 and / or the line of sight information 853.
  • the CPU 101, the RAM 103, and the controller 105 cooperate to function as the input receiving unit 802.
  • an embodiment in which a user uses an operation device of a type that performs various operations by bringing a touch pen into contact with a touch panel provided on a monitor may be employed.
  • the generation unit 803 generates an image in which the virtual space 301 is projected from the position of the viewpoint 305 to the direction of the line of sight 306 on the projection plane 307 arranged in the virtual space 301. That is, the image processing unit 107 generates an image representing a state in which the virtual space 301 is viewed from the position of the viewpoint 305 in the direction of the line of sight 306 under the control of the CPU 101.
  • the generated image may include an image (projection image) representing the object 303 depending on the position of the viewpoint 305 or the direction of the line of sight 306.
  • the generation unit 803 draws an image representing the cursor 308 determined based on the position and orientation of the grip module 201 on the image representing the virtual space 301.
  • the player can easily recognize the orientation 311 of the handle 304 based on the position of the cursor 308.
  • the generation unit 803 may not draw an image representing the cursor 308.
  • the CPU 101, the RAM 103, and the image processing unit 107 work together to function as the generation unit 803.
  • the projection plane 307 is arranged perpendicular to the orientation 311 of the handle 304.
  • the display unit 804 displays the image generated by the generation unit 803 on the monitor. That is, the image processing unit 107 displays, for example, a screen 501 as shown in FIG. 9A on the monitor under the control of the CPU 101. In FIG. 9A, the magic hand 302 extends toward the back of the virtual space 301 displayed on the screen 501 and holds the object 901.
  • the CPU 101, the RAM 103, and the image processing unit 107 cooperate to function as the display unit 804.
  • the distance calculation unit 805 calculates a distance L1 between the position of the object 303 drawn in the attention area 960 in the virtual space 301 and the position of the viewpoint 305 in the virtual space 301.
  • the CPU 101, the RAM 103, and the image processing unit 107 work together to function as the distance calculation unit 805.
  • the movement calculation unit 806 moves the movement direction per unit time and the movement distance per unit time of the position of the viewpoint 305 stored in the viewpoint information 852 based on the movement instruction input received from the user by the input reception unit 802. Calculate The CPU 101 and the RAM 103 function as a movement calculation unit 806 in cooperation.
  • the CPU 101 calculates the movement direction and the movement distance as follows. First, the CPU 101 determines whether or not the cursor 308 is included in a predetermined area of the screen 501 (or the generated image) that displays the generated image.
  • the predetermined area is an area configured by any one or more of the upper edge 511, the right edge 512, the left edge 513, and the lower edge 514 in the screen 501.
  • the position or posture of the handle 304 of the magic hand 302 also changes.
  • the CPU 101 obtains the movement direction of the pattern 304 in accordance with the change in the position and posture of the grip module 201 and moves the position of the pattern 304 in the direction of the vector 951.
  • the CPU 101 also moves the position of the viewpoint 305 in the direction of the vector 951.
  • the CPU 101 determines the direction of the vector 951 indicating the moving direction of the viewpoint 305 (or pattern 304), (1) When the cursor 308 is at the upper edge 511, the upward direction Y1 of the projection plane 307, (2) When the cursor 308 is at the right edge 512, the right direction Y2 of the projection plane 307, (3) When the cursor 308 is at the left edge 513, the left direction Y3 of the projection plane 307, (4) When the cursor 308 is at the lower edge 514, the projection surface 307 has a downward direction Y4, And
  • the cursor 308 is drawn in the upper edge 511 of the screen 501, and the CPU 101 determines that the cursor 308 is included in the upper edge 511 set in a predetermined area.
  • the CPU 101 changes the position of the viewpoint 305 using the upward direction Y1 of the screen 501 as the movement direction.
  • the CPU 101 changes the direction of the vector 951 indicating the moving direction of the viewpoint 305 (or pattern 304), (1) When the upper button is pressed, the upward direction Y1 of the projection plane 307, (2) When the right button is pressed, the right direction Y2 of the projection plane 307, (3) When the left button is pressed, the left direction Y3 of the projection plane 307, (4) When the down button is pressed, the projection screen 307 has a downward direction Y4, And
  • the CPU 101 moves the position of the display area 952 set in the projection plane 307. Of the entire image projected on the projection plane 307, the portion included in the display area 952 is the image of the screen 501 displayed on the monitor.
  • the image in the screen 501 is When the cursor 308 is at the upper edge 511, the cursor 308 is scrolled in the upward direction Y1 of the projection plane 307, When the cursor 308 is at the right edge 512, the cursor 308 is scrolled in the right direction Y2 of the projection plane 307, When the cursor 308 is at the left edge 513, scroll to the left direction Y3 of the projection plane 307, When the cursor 308 is at the lower edge portion 514, the cursor 308 is scrolled in the downward direction Y4 of the projection plane 307.
  • moving the position of the display area 952 in the projection plane 307 is also expressed as “scrolling the screen 501”.
  • the CPU 101 sets the length of the vector 951 indicating the moving direction of the viewpoint 305 (or the handle 304), that is, the moving distance of the position of the viewpoint 305 to a predetermined value ⁇ Lfix. That is, when the cursor 308 is included in any of the upper edge portion 511, the right edge portion 512, the left edge portion 513, and the lower edge portion 514, the CPU 101 sets the movement distance per unit time of the position of the viewpoint 305 to a predetermined value. Set to ⁇ Lfix. Moving the position of the viewpoint 305 by the predetermined value ⁇ Lfix corresponds to scrolling the screen 501 by the scroll amount specified by the predetermined value ⁇ Lfix, and the scrolling speed does not change.
  • the CPU 101 may change the moving distance per unit time of the viewpoint 305 instead of a fixed value.
  • a two-dimensional coordinate system is defined in which the upper left corner of the screen 501 is the origin, the right direction is the positive direction of the X axis, and the lower direction is the positive direction of the Y axis.
  • the CPU 101 performs the following processes (1) to (4) depending on the situation. That is, (1) When the cursor 308 is included in the upper edge 511, the CPU 101 determines that the viewpoint 305 becomes smaller as the Y coordinate value of the position of the cursor 308 on the screen 501 is smaller, in other words, the cursor 308 is located on the screen 501. Increase the moving distance of the position per unit time.
  • the CPU 101 increases the position of the viewpoint 305 as the X coordinate value of the position of the cursor 308 on the screen 501 increases, in other words, as the cursor 308 is on the right of the screen 501. Increase the moving distance of the position per unit time.
  • the CPU 101 determines that the viewpoint 305 becomes smaller as the X coordinate value of the position of the cursor 308 on the screen 501 is smaller, in other words, as the cursor 308 is on the left of the screen 501. Increase the moving distance of the position per unit time.
  • the CPU 101 increases the Y coordinate value of the position of the cursor 308 on the screen 501, in other words, the lower the cursor 308 is at the lower side of the screen 501, Increase the moving distance of the position per unit time.
  • the scrolling speed of the screen 501 is not constant and varies.
  • the scroll direction of the screen 501 is four directions, up, down, left, and right. However, it is possible to scroll not only in these four directions but also in any direction.
  • the CPU 101 decomposes the amount of change in the position of the cursor 308 into a horizontal component and a vertical component on the screen 501, and scrolls in the horizontal direction by an amount corresponding to the horizontal component of the change in the position of the cursor 308. It is also possible to scroll in the vertical direction by an amount corresponding to the vertical component of the amount of change in the position of the cursor 308.
  • the correction unit 807 corrects the movement distance calculated by the movement calculation unit 806 based on the distance L1 obtained by the distance calculation unit 805. At this time, the correcting unit 807 corrects the corrected moving distance ⁇ L so as to monotonously decrease with respect to the distance L1 obtained by the distance calculating unit 805.
  • the CPU 101 and the RAM 103 work together to function as the correction unit 807.
  • the CPU 101 corrects the moving distance of the position of the viewpoint 305 as follows. That is, the CPU 101 decreases as the distance L1 between the position of the object 303 (object 902A in FIG. 9A) arranged in the attention area 960 in the virtual space 301 and the position of the viewpoint 305 in the virtual space 301 is shorter. As described above, the movement distance of the position of the viewpoint 305 is corrected. That is, the movement distance ⁇ L per unit time of the position of the viewpoint 305 obtained by the correction monotonously decreases with respect to the distance L1.
  • FIGS. 10A to 10D are diagrams illustrating an example of the relationship between the distance L1 between the object 303 and the viewpoint 305 arranged in the attention area 960 and the movement distance ⁇ L of the corrected position of the viewpoint 305.
  • the shape of the correction function for the correction unit 807 to correct the position of the viewpoint 305 is as shown in FIGS. 10A to 10D. It is represented by the function shown in
  • the CPU 101 increases the moving distance ⁇ L of the position of the viewpoint 305 in proportion to the distance L1. If the movement distance ⁇ L is set to the maximum value ⁇ Lmax at a certain distance (not shown), the movement distance ⁇ L is constant at the maximum value ⁇ Lmax at distances beyond that.
  • the CPU 101 decreases the increase rate of the movement distance ⁇ L as the distance L1 increases. The movement distance ⁇ L finally converges to the maximum value ⁇ Lmax.
  • the CPU 101 changes the increasing rate of the movement distance ⁇ L.
  • the increase rate is a real number of 0 or more.
  • the CPU 101 changes the movement distance ⁇ L using a step function. As a whole, it is sufficient that the movement distance ⁇ L tends to increase as the distance L1 increases, and there may be a section where the movement distance ⁇ L is constant (a section where the increase rate is zero).
  • the CPU 101 may use any of the functions shown in FIGS. 10A to 10D, or may combine these functions.
  • the function can be freely determined as long as the relationship of decreasing the moving distance ⁇ L as the distance L1 is shorter is satisfied.
  • the moving direction per unit time and the moving distance ⁇ L per unit time obtained as described above are respectively the direction in which the position of the viewpoint 305 is moved per unit time and the distance moved per unit time. Become.
  • the CPU 101 moves the position of the viewpoint 305 by the corrected movement distance in the calculated movement direction per unit time.
  • the screen 501 always scrolls at a constant speed when scrolling.
  • the movement distance ⁇ L per unit time of the position of the viewpoint 305 becomes larger.
  • the screen 501 is scrolled large (fast).
  • the closer the object 303 arranged in the attention area 960 of the screen 501 is closer to the viewpoint 305 the smaller the movement distance ⁇ L per unit time of the position of the viewpoint 305, and the smaller the screen 501 is (slower). It will scroll.
  • the player often plays a game while watching the vicinity of the center of the screen 501 more frequently.
  • the object 303 arranged near the center is estimated to have a higher degree of attention by the player. Therefore, a method of fixing the position of the attention area 960 near the center of the screen 501 can be employed.
  • the position of the attention area 960 can be made variable, but details will be described later.
  • the game device 800 reduces the scroll amount of the screen 501 little by little in the situation where the object 303 arranged near the viewpoint 305 is drawn in the attention area 960 of the screen 501 compared to others. Scroll. Therefore, it is possible to improve the visibility of the screen 501 for the player. Further, it is possible to prevent the scroll processing due to the movement of the viewpoint 305 from frequently occurring, and it is possible to reduce the load on the game apparatus 800 due to the scroll processing.
  • the update unit 808 updates the viewpoint information 852 so as to move the position of the viewpoint 305 by the corrected movement distance ⁇ L in the calculated movement direction per unit time.
  • the CPU 101 and the RAM 103 work together to function as the update unit 808.
  • the CPU 101 can change the direction of the line of sight 306 instead of changing the position of the viewpoint 305.
  • the movement calculation unit 806 obtains the rotation direction of the direction of the line of sight 306 stored in the line-of-sight information 853 and the rotation angle per unit time based on the movement instruction input received from the user by the input reception unit 802. May be. Further, the correction unit 807 may correct the rotation angle in the direction of the line of sight 306 so that the corrected rotation angle monotonously decreases with respect to the distance L1 calculated by the distance calculation unit 805. Then, the update unit 808 may update the line-of-sight information 853 by moving the direction of the line-of-sight 306 per unit time in the calculated rotation direction by the corrected rotation angle.
  • FIG. 11A is an example of a screen 501 displayed on the monitor.
  • FIG. 11B is a diagram illustrating the virtual space 301 in a state where the screen 501 illustrated in FIG. 11A is displayed.
  • the position or posture of the handle 304 of the magic hand 302 also changes.
  • the CPU 101 obtains the rotation direction of the pattern 304 in accordance with the change in the position and orientation of the grip module 201 and moves (rotates) the direction of the pattern 304 to the direction of the angle 1101.
  • the CPU 101 also moves (rotates) the direction of the line of sight 306 in the direction of the angle 1101.
  • the CPU 101 changes the direction of the line of sight 306 (or pattern 304), (1) When the cursor 308 is at the upper edge 511, the upward direction Y1 of the projection plane 307, (2) When the cursor 308 is at the right edge 512, the right direction Y2 of the projection plane 307, (3) When the cursor 308 is at the left edge 513, the left direction Y3 of the projection plane 307, (4) When the cursor 308 is at the lower edge 514, the projection surface 307 has a downward direction Y4, Move to.
  • the cursor 308 is drawn in the upper edge 511 of the screen 501.
  • the CPU 101 determines that the cursor 308 is included in the predetermined area, that is, the upper edge 511.
  • the CPU 101 changes the direction of the line of sight 306 with the upward direction Y1 of the screen 501 as the movement direction.
  • the CPU 101 moves the direction of the projection plane 307. For example, if the direction of the line of sight 306 is changed without changing the position of the viewpoint 305, the image in the screen 501 is When the cursor 308 is at the upper edge 511, scroll to look up in the upward direction Y1 of the projection plane 307, When the cursor 308 is at the right edge 512, the cursor 308 is scrolled so as to turn in the right direction Y2 of the projection plane 307 (to the right) When the cursor 308 is at the left edge 513, the cursor 308 is scrolled so as to turn in the left direction Y3 (to the left side) of the projection plane 307, When the cursor 308 is at the lower edge portion 514, scrolling is performed so that the projection surface 307 looks down in the downward direction Y4.
  • the CPU 101 sets the length of the vector 1101 indicating the rotation direction of the line of sight 306 (or the handle 304), that is, the rotation angle per unit time of the direction of the line of sight 306, to a predetermined value ⁇ Dfix. That is, when the cursor 308 is included in any of the upper edge portion 511, the right edge portion 512, the left edge portion 513, and the lower edge portion 514, the CPU 101 sets the rotation angle per unit time in the direction of the line of sight 306 to a predetermined value. Set to ⁇ Dfix.
  • the CPU 101 may change the rotation angle of the line of sight 306 to a variable value instead of a fixed value.
  • a two-dimensional coordinate system is defined in which the upper left corner of the screen 501 is the origin, the right direction is the positive direction of the X axis, and the lower direction is the positive direction of the Y axis.
  • the CPU 101 performs the following processes (1) to (4) depending on the situation. That is, (1) When the cursor 308 is included in the upper edge portion 511, the CPU 101 indicates that the smaller the Y coordinate value of the position of the cursor 308 on the screen 501, in other words, the closer the cursor 308 is on the screen 501, Increase the rotation angle per unit time of direction.
  • the CPU 101 increases the X coordinate value of the position of the cursor 308 on the screen 501, in other words, the closer the cursor 308 is to the right of the screen 501, Increase the rotation angle per unit time of direction.
  • the CPU 101 indicates that the smaller the X coordinate value of the position of the cursor 308 on the screen 501, in other words, the closer the cursor 308 is to the left of the screen 501, Increase the rotation angle per unit time of direction.
  • the CPU 101 increases the Y coordinate value of the position of the cursor 308 on the screen 501, in other words, the lower the cursor 308 is at the lower side of the screen 501, Increase the rotation angle per unit time of direction.
  • the scrolling speed of the screen 501 is not constant but varies.
  • the correction unit 807 corrects the rotation angle calculated by the movement calculation unit 806 based on the distance L1 obtained by the distance calculation unit 805. At this time, the correction unit 807 corrects the corrected rotation angle ⁇ D so as to monotonously decrease with respect to the distance L1 obtained by the distance calculation unit 805.
  • the CPU 101 may use a function obtained by replacing the position movement distance ⁇ L with the rotation angle ⁇ D in any of the functions shown in FIGS. 10A to 10D, or a combination of these functions.
  • the function can be freely determined as long as the relationship that the rotation angle ⁇ D decreases as the distance L1 decreases.
  • the rotation direction and the rotation angle ⁇ D per unit time obtained as described above are the direction in which the direction of the line of sight 306 moves per unit time and the angle that moves per unit time, respectively.
  • the CPU 101 moves the direction of the line of sight 306 by the corrected rotation angle in the calculated rotation direction per unit time.
  • the update unit 808 updates the line-of-sight information 853 so that the direction of the line of sight 306 is moved by the corrected rotation angle ⁇ D in the calculated rotation direction per unit time.
  • the shape of the attention area 960 is a rectangle and is fixed at the center position of the screen 501.
  • the CPU 101 acquires information indicating the position and orientation of the grip module 201 in the real space from the controller 105 (step S1201).
  • the CPU 101 obtains the position and orientation of the handle 304 based on the position and orientation of the grip module 201 acquired in step S1201, and determines the position of the cursor 308 in the screen 501 (step S1202).
  • the CPU 101 makes a one-to-one correspondence between the position of the grip module 201 in the real space and the position of the handle 304 in the virtual space 301, and corresponds to the position of the grip module 201 acquired in step S1201.
  • the position in the virtual space 301 is the position of the handle 304.
  • the posture of the grip module 201 acquired in step S1201 is set as the posture of the handle 304.
  • the CPU 101 sets the position of the intersection of the straight line 311 indicating the direction of the handle 304 and the projection plane 307 as the position of the cursor 308.
  • the CPU 101 updates the cursor information 854 with the position determined in step S1202 as the new position of the cursor 308.
  • the CPU 101 determines whether or not the position of the cursor 308 determined in step S1202 is within a predetermined area of the screen 501 (step S1203).
  • all of the upper edge portion 511, the right edge portion 512, the left edge portion 513, and the lower edge portion 514 are set as predetermined regions.
  • the CPU 101 determines that the cursor 308 is within a predetermined area, In other cases (that is, when the cursor 308 is at the center 515), it is determined that the cursor 308 is not within the predetermined area.
  • step S1203 When it is determined that the cursor 308 is not within the predetermined area (step S1203; NO), the process proceeds to step S1207 described later.
  • step S1203; YES the CPU 101 calculates the moving direction of the position of the viewpoint 305 and the moving distance per unit time. Alternatively, the CPU 101 calculates the rotation direction in the direction of the line of sight 306 and the rotation angle per unit time (step S1204).
  • the CPU 101 corrects the moving distance of the position of the viewpoint 305 calculated in step S1204 so that the corrected moving distance ⁇ L becomes smaller as the distance L1 is shorter.
  • the CPU 101 corrects the rotation angle in the direction of the line of sight 306 calculated in step S1204 so that the corrected rotation angle ⁇ D becomes smaller as the distance L1 is shorter (step S1205).
  • the CPU 101 is an object arranged in the attention area 960 of the screen 501 from the objects 901, 902A, 902B, and 902C displayed on the screen 501 (in this case, the object 902A corresponds). Select. Next, the CPU 101 calculates a distance L1 between the position of the selected object 902A and the position of the viewpoint 305. Then, the CPU 101 corrects the movement distance ⁇ L (or rotation angle ⁇ D) so that the corrected movement distance ⁇ L (or rotation angle ⁇ D) becomes smaller as the calculated distance L1 is shorter.
  • the CPU 101 moves the position of the viewpoint 305 by the movement distance ⁇ L corrected in step S1205 in the movement direction calculated in step S1204 per unit time.
  • the CPU 101 moves the direction of the line of sight 306 per unit time by the rotation angle ⁇ D corrected in step S1205 in the rotation direction calculated in step S1204 (step S1206).
  • the CPU 101 stores the position of the new viewpoint 305 after movement in the viewpoint information 852. Alternatively, the CPU 101 stores the direction of the new line of sight 306 after movement in the line of sight information 853.
  • the CPU 101 generates an image in which the virtual space 301 is projected onto the projection plane 307 in the direction of the line of sight 306 from the position of the viewpoint 305 (step S1207).
  • the CPU 101 causes the image processing unit 107 to draw a predetermined image representing the cursor 308 at the position of the cursor 308 stored in the cursor information 854.
  • the cursor information 854 is stored in the RAM 103, the image representing the cursor 308 may not be drawn.
  • the CPU 101 causes the image processing unit 107 to display the image generated in step S1207 on the monitor (step S1208).
  • the player scrolls the screen 501 while the player is gazing at a specific part of the screen 501 there is a risk that the image becomes very difficult for the player to see or is easily drunk. For example, it can be estimated that the player's attention tends to be higher in the vicinity of the center of the screen 501. On the other hand, it can be estimated that the closer the viewpoint 305 is, the higher the player's attention tends to be.
  • the CPU 101 is watching the vicinity of the center of the screen 501 if the object 303 is drawn near the center of the screen 501 and arranged near the viewpoint 305. To reduce the scroll amount.
  • all of the upper edge portion 511, the right edge portion 512, the left edge portion 513, and the lower edge portion 514 are used as the predetermined region. However, one or a combination of two or more of these may be used. .
  • the screen 501 scrolls only in the vertical direction (vertical direction) when viewed from the player
  • only the upper edge 511 and the lower edge 514 may be used as the predetermined area.
  • only the right edge portion 512 and the left edge portion 513 may be used as the predetermined area.
  • the predetermined area and the attention area 960 are defined separately, but the central portion 515 that is the predetermined area may be used as the attention area 960.
  • the shape of the predetermined area is not limited to a rectangle, and may be an arbitrary figure such as a circle, an ellipse, or a polygon.
  • a partial area near the center of the screen 501 is the attention area 960, but the entire screen 501 may be the attention area 960.
  • the degree of attention by the player in the portion of the screen 501 where the object 303 is displayed is relatively high.
  • the visibility of the screen 501 can be improved.
  • the CPU 101 calculates the amount of change in direction and distance per unit time, the scroll speed is changed by scrolling the screen faster or slower.
  • the absolute scroll amount may be increased or decreased instead of the speed. That is, the CPU 101 instead of the “per unit time” movement direction and movement distance (or rotation direction and rotation angle), will eventually scroll the “total” movement direction and movement distance (or rotation direction). And the rotation angle) may be calculated.
  • the “per unit time” movement direction and movement distance (or rotation direction and rotation angle) may be read as “total” movement direction and movement distance (or rotation direction and rotation angle). .
  • the scroll amount is corrected using the position of the object 303 existing in the attention area 960 of the screen 501 in the virtual space 301.
  • the short distance between the viewpoint 305 and the object 303 means that a projected image of the object 303 on the projection plane 307 is drawn larger.
  • the object 303 tends to be closer to the viewpoint 305 as it is drawn larger on the screen 501.
  • the player's judgment as to whether the object 303 is near or far from the viewpoint 305 and where to look at the screen 501 is not limited to the object 303 but the surrounding situation (for example, what kind of nearby It is expected that this is often done in consideration of whether there are other objects. Therefore, in the present embodiment, when a plurality of objects 303 are drawn on the screen 501, their front-rear relationship (depth) viewed from the viewpoint 305 is also taken into consideration.
  • FIG. 13A is an example of a screen 501 displayed on the monitor.
  • the screen 501 displays an object 902A, 902B, 902C, and an object 1301 arranged in the background of the object 902A.
  • FIG. 13B is a diagram illustrating the virtual space 301 in a state where the screen 501 illustrated in FIG. 13A is displayed.
  • an object (OBJ1) is placed in the background of another object (OBJ2)” means that if a straight (one-dimensional) coordinate system in which the direction of the line of sight 306 is defined as a positive direction is defined, This means that the coordinate value is larger than the coordinate value of OBJ2, and there is an overlapping portion between the screen area where OBJ1 is drawn and the screen area where OBJ2 is drawn.
  • the object OBJ1 is referred to as a “background object”.
  • the object closest to the object OBJ2 is set as the background object.
  • all the objects 303 can be background objects.
  • step S1204 described above the CPU 101 draws the object drawn closest to the center of the attention area 960 from the objects 901, 902A, 902B, 902C, and 1301 displayed on the screen 501 (in this case, the object 902A). Select a background object. That is, in the case of FIG. 13A, the CPU 101 selects the object 1301 as the background object. Then, the CPU 101 calculates the moving direction and moving distance of the position of the viewpoint 305.
  • step S1205 the CPU 101 calculates the distance L2 between the position of the selected object 1301 and the position of the viewpoint 305. Then, the CPU 101 corrects the movement distance ⁇ L so that the movement distance ⁇ L decreases as the calculated distance L2 decreases.
  • the CPU 101 may use a function in which the distance L1 is replaced with the distance L2 in any of the functions shown in FIGS. 10A to 10D, or a combination of these functions.
  • the function can be freely determined as long as the relationship that the movement distance ⁇ L decreases as the distance L2 decreases.
  • the direction of the line of sight 306 may be moved. Further, both the position of the viewpoint 305 and the direction of the line of sight 306 may be changed.
  • the CPU 101 may use a function in which the distance L1 is replaced with the distance L2 and the movement distance ⁇ L is replaced with the rotation angle ⁇ D in any of the functions shown in FIGS. 10A to 10D. It may be a combination of these functions.
  • the function can be freely determined as long as the relationship that the rotation angle ⁇ D decreases as the distance L2 decreases.
  • the CPU 101 changes the position of the viewpoint 305 by the corrected movement distance ⁇ L in the calculated movement direction (step S1206), and stores the position of the new viewpoint 305 in the viewpoint information 852.
  • the CPU 101 changes the direction of the line of sight 306 by the corrected rotation angle ⁇ D in the calculated rotation direction, and stores the direction of the new line of sight 306 in the line of sight information 853.
  • the CPU 101 generates an image obtained by projecting the virtual space 301 onto the projection plane 307 from the position of the viewpoint 305 in the direction of the line of sight 306 (step S1207), and displays the generated image on the monitor (step S1208).
  • n (n ⁇ 2) objects (OBJ1, OBJ2,..., OBJn) are drawn on the screen 501, and among these objects, a plurality of objects (for example, OBJ1) drawn near the middle of the screen 501 are drawn. 2) and OBJ2) are arranged closer to the viewpoint 305 than the others, it can be estimated that the player's degree of attention to the vicinity of the center of the screen 501 is higher than that of other areas.
  • the screen 501 is not necessarily displayed by the player. It cannot be said that the degree of attention in the vicinity of the center of the is higher than in other areas. This is because it cannot be easily estimated whether the player is watching OBJ1 and OBJ.
  • the scroll amount is suppressed as the background object is closer to the viewpoint 305. That is, the fact that the background object is near the viewpoint 305 means that the other object is further near the viewpoint 305, so that the degree of attention of the player near the center of the screen 501 on which OBJ1 and OBJ2 are arranged is relatively high. Since it can be estimated to be high, the scroll amount is suppressed.
  • FIG. 14A is an example of a screen 501 displayed on the monitor.
  • FIG. 14B is a diagram illustrating the virtual space 301 in a state where the screen 501 illustrated in FIG. 14A is displayed.
  • the CPU 101 determines whether the viewpoint 305 and each object 303 included in the attention area 960 are independent of whether or not they are background objects. , And the distance of movement of the viewpoint 305 (or the rotation angle of the direction of the line of sight 306) is corrected.
  • the CPU 101 calculates the distance between the position of each object 303 arranged in the attention area 960 of the screen 501 and the position of the viewpoint 305, and further calculates the average value of each distance.
  • the CPU 101 selects an object (in this case, two of the objects 901 and 902A) arranged in the attention area 960 of the screen 501 from the objects 901, 902A, 902B, and 902C displayed on the screen 501. Select one).
  • the CPU 101 calculates a distance L3 between the position of the selected object 901 and the position of the viewpoint 305, and a distance L4 between the position of the selected object 902A and the position of the viewpoint 305.
  • the CPU 101 corrects the movement distance ⁇ L (or rotation angle ⁇ D) so that the corrected movement distance ⁇ L (or rotation angle ⁇ D) becomes smaller as the calculated average value is smaller. That is, the scroll amount is suppressed as the average distance between the viewpoint 305 and the object 303 included in the attention area 960 is smaller.
  • the CPU 101 calculates the distance between the position of each object 303 arranged in the attention area 960 of the screen 501 and the position of the viewpoint 305, and the smaller the maximum value of each distance, the more the correction is made. You may correct
  • the CPU 101 calculates the distance between the position of each object 303 arranged in the attention area 960 of the screen 501 and the position of the viewpoint 305, and the smaller the minimum value of each distance, the more the correction is made. You may correct
  • the CPU 101 calculates the distance between the position of each object 303 arranged in the attention area 960 of the screen 501 and the position of the viewpoint 305, and the smaller the total value of the distances, the corrected You may correct
  • the scroll amount is changed depending on how close (distant) each object 303 included in the attention area 960 is from the viewpoint 305. If the objects 303 included in the attention area 960 tend to be close as a whole, the scroll amount is reduced, and if they tend to be far away, the scroll amount is increased. Therefore, it is possible to prevent the screen 501 from scrolling too fast and make the image difficult to see as a whole, and to improve the visibility of the screen 501 for the player. For example, the player does not get drunk by frequently scrolling the screen. Furthermore, it is possible to prevent the scroll process due to the movement of the viewpoint 305 from occurring frequently, and to reduce the load on the game apparatus 200 due to the scroll process.
  • the attention area 960 is fixed at the center of the screen 501, but in this embodiment, the position of the attention area 960 is variable.
  • FIG. 15A is an example of a screen 501 displayed on the monitor.
  • FIG. 15B is a diagram illustrating the virtual space 301 in a state where the screen 501 illustrated in FIG. 15A is displayed.
  • the distance calculation unit 805 sets a region of interest 960 centered on the position of the object 303 selected by the player in the screen 501 generated by the generation unit 803, and includes the position of the viewpoint 305 and the object 303 included in the region of interest 960.
  • the distance L5 to the position of is calculated.
  • the CPU 101 selects the object 303 selected by the player from the objects 303 arranged in the virtual space 301.
  • the object 303 selected by the player is, for example, the object 303 that is being held by the magic hand 302.
  • the object 901 is selected.
  • the CPU 101 calculates a distance L5 between the position of the viewpoint 305 in the virtual space 301 and the position of the selected object 303 in the virtual space 301.
  • the CPU 101 determines the average value of the distances between the position of the viewpoint 305 and the positions of the objects 303 included in the attention area 960,
  • the movement distance ⁇ L (or the rotation angle ⁇ D) is corrected so as to monotonously decrease with respect to the maximum value or the minimum value.
  • the player can freely change the position of the object 303 held by the magic hand 302 or the position of the cursor 308 by changing the position and posture of the grip module 201. That is, the position of the object 303 selected by the player is variable.
  • the CPU 101 moves the position of the object 303 by the designated movement distance in the movement direction designated by the movement instruction input.
  • the object information 851 is updated.
  • the position of the attention area 960 also moves as shown in FIG.
  • the CPU 101 moves the position of the object 303 and immediately moves the position of the attention area 960. That is, the position of the attention area 960 moves while being fixed to the position of the object 303 selected by the player.
  • the CPU 101 moves so as to follow the position of the attention area 960 after a predetermined time from the start of the movement of the object 303. May be.
  • the CPU 101 may temporarily store the movement history of the position of the object 303 for a predetermined time T1 in the RAM 103 or the like.
  • the movement history is a history of the position of the object 303 for a predetermined period of time from the current time.
  • FIG. 17A is a diagram illustrating a screen 501 in a state before the movement of the object 303 is started.
  • the CPU 101 temporarily stores the position of the object 303 as a movement history in the RAM 103 or the like.
  • the predetermined time T2 has elapsed
  • the CPU 101 moves the position of the attention area 960 with a delay of the predetermined time T2 so as to follow the locus of movement of the object 901.
  • the attention area 960 is finally at the position where the object 901 has finished moving.
  • the CPU 101 may move the attention area according to the movement history of the object 303.
  • the CPU 101 may obtain a movement route of the attention area 960 by performing some calculation on the movement history of the object 303.
  • FIG. 18A is a diagram illustrating a screen 501 in a state before the movement of the object 303 is started.
  • T2 time
  • the CPU 101 refers to the movement history of the object 901, applies a filter so that the displacement of the position per unit time does not exceed a predetermined threshold, and obtains the movement path of the attention area 960.
  • 19A and 19B are diagrams showing the movement path (trajectory) of the object 303 and the movement path (trajectory) of the attention area 960.
  • the displacement of the attention area 960 is suppressed to the threshold. That is, the trajectory of the attention area 960 is obtained by passing the trajectory of the object 303 through a low-pass filter whose maximum value is Cth. It can be said that the locus of the attention area 960 is obtained by removing the high frequency component of the locus of the object 303. Even when the position of the object 303 is moved greatly instantaneously, the influence on the trajectory of the attention area 960 is reduced.
  • an approximate curve that suppresses the displacement of the position of the attention area 960 to the threshold at the position where the displacement is larger than the threshold Cth among the displacements of the position of the object 303 and approximately passes through each point is represented by the attention area 960.
  • the trajectory As this approximation, for example, a known approximation method such as spline approximation or least square approximation can be adopted.
  • the locus of the attention area 960 has a shape obtained by rounding the locus of the object 303.
  • the CPU 101 sets the average value of the displacement of each point in the locus of the object 303 as the displacement of the locus of the attention area 960.
  • the locus of the attention area 960 has a linear shape.
  • the CPU 101 may obtain the movement route of the attention area 960 using any of the methods shown in FIGS. 19A to 19C or may use it in combination.
  • the CPU 101 obtains the movement path 1820 of the attention area 960 from the movement path 1810 of the object 303. Then, as shown in FIG. 18C, the CPU 101 moves the attention area 960 along the obtained movement route. During the movement of the attention area 960, the object 303 is further moved along the movement path 1830. For this reason, the CPU 101 similarly obtains the movement path 1840 of the attention area 960 and moves the attention area 960. As shown in FIG. 18D, the attention area 960 is finally at the position where the object 901 has finished moving.
  • the position of the attention area 960 changes according to the player's operation of the grip module 201, the area in the screen 501 that is considered to have a high degree of attention of the player is estimated more accurately, and the scroll amount is set. Can be suppressed. Therefore, the effect of improving the visibility of the screen 501 for the player is increased so that the screen 501 does not scroll so fast that the image becomes difficult to see as a whole. Furthermore, the scroll process can be prevented from frequently occurring, and the load on the game apparatus 800 due to the scroll process can be reduced.
  • the CPU 101 may select the object 303 placed at the position of the cursor 308 as shown in FIGS. 20A and 20B as the object 303 selected by the player. For example, when the magic hand 302 does not grasp any object 303, the object 303 at the position where the cursor 308 hits may be handled as being selected. Then, the CPU 101 calculates the distance L6 between the position of the viewpoint 305 in the virtual space 301 and the position of the object 303 at the position of the cursor 308 in the virtual space 301, and monotonously decreases with respect to the calculated distance. The movement distance ⁇ L (or the rotation angle ⁇ D) may be corrected.
  • the selection of the object 303 by the player is not limited to being performed by grasping with the magic hand 302.
  • the CPU 101 can accept a selection instruction input by the user to select any one or more objects 303, and the object 303 indicated by the selection instruction input can be the object 303 selected by the player.
  • FIG. 21 is a diagram illustrating a functional configuration of the game apparatus 200 according to the present embodiment.
  • FIG. 22A is an example of a screen 501 displayed on the monitor.
  • the object 303 is a “planar object” (image data).
  • “character” is used instead of “object”.
  • FIG. 22B is a diagram illustrating the virtual space 301 in a state where the screen 501 illustrated in FIG. 22A is displayed.
  • a player character 2210, other characters 2220, and the like are arranged as characters.
  • an image included in the display area 952 is displayed on the screen 501 on the screen 501, and one viewpoint 305 and one line of sight 306 exist in the virtual space 301 as in the above embodiments. Do not mean. However, in order to facilitate conceptual understanding of the enlargement / reduction (zoom-in / zoom-out) of the screen 501 described below, a “pseudo” viewpoint 2250 will be used.
  • intersection of the perpendicular line drawn from the pseudo viewpoint 2250 to the display area 952 and the display area 952 always coincides with the center point (center of gravity) of the display area 952.
  • a part of the two-dimensional virtual space can be zoomed in (enlarged) and displayed, or the whole can be zoomed out (reduced) and displayed. Zooming in corresponds to bringing the pseudo viewpoint 2250 closer to the display area 952, and zooming out corresponds to moving the pseudo viewpoint 2250 away from the display area 952.
  • the storage unit 801 stores character information 2101 indicating the position of the character, display area information 2102 indicating the position and size of the display area 952, and attention area information 2103 indicating the position of the attention area 960.
  • the CPU 101 and the RAM 103 cooperate to function as the storage unit 801.
  • the input reception unit 802 receives various instruction inputs from a user who operates the grip module 201 (or game pad or touch panel). For example, the input receiving unit 802 receives from the player a movement instruction input for moving the position of the viewpoint 305, a selection instruction input for selecting an arbitrary object 303 as an operation target, and the like.
  • the CPU 101, the RAM 103, and the controller 105 cooperate to function as the input receiving unit 802.
  • the attention area 960 is set at the center position of the display area 952, for example. However, the CPU 101 may move the attention area 960 to a position centered on the position of the character indicated by the selection instruction input, as in the above-described embodiment.
  • the generation unit 803 generates an image such as a character included in the display area 952. In other words, the generation unit 803 generates an image representing a character or the like when the virtual space 301 is viewed from the position of the pseudo viewpoint 2250.
  • the CPU 101, the RAM 103, and the image processing unit 107 work together to function as the generation unit 803.
  • the display unit 804 displays the image generated by the generation unit 803 on the monitor.
  • the CPU 101, the RAM 103, and the image processing unit 107 cooperate to function as the display unit 804.
  • the distance calculation unit 805 obtains a distance L7 between the position of the character drawn in the attention area 960 in the image generated by the generation unit 803 and the position of the pseudo viewpoint 2250.
  • the CPU 101, the RAM 103, and the image processing unit 107 work together to function as the distance calculation unit 805.
  • the distance calculation unit 805 obtains the distance L7 between the pseudo viewpoint 2250 and each character, and further calculates the average value, maximum value, minimum value, total value, etc. You may ask for.
  • the movement calculation unit 806 calculates the movement direction and movement distance of the display area 952. In other words, the movement calculation unit 806 calculates the movement direction and movement distance of the pseudo viewpoint 2250.
  • the CPU 101 and the RAM 103 function as a movement calculation unit 806 in cooperation.
  • the correction unit 807 corrects the movement distance calculated by the movement calculation unit 806 based on the distance L7 obtained by the distance calculation unit 805. At this time, the correction unit 807 corrects the movement distance so that the corrected movement distance monotonously decreases with respect to the distance L7.
  • the CPU 101 and the RAM 103 work together to function as the correction unit 807.
  • the update unit 808 updates the display area information 2102 so that the position of the display area 952 is moved in the movement direction calculated by the movement calculation unit 806 by the movement distance corrected by the correction unit 807.
  • the CPU 101 and the RAM 103 work together to function as the update unit 808.
  • the image display processing of the present embodiment will be described by taking as an example the case where the screen 501 is zoomed out.
  • the game apparatus 200 can freely change the display magnification of the screen 501 in accordance with an instruction input from the user.
  • FIG. 23A is an example of the screen 501 when the screen 501 shown in FIG. 22A is zoomed out and a wider virtual space 301 is displayed on the monitor.
  • FIG. 23B is a diagram illustrating the virtual space 301 in a state where the screen 501 illustrated in FIG. 23A is displayed.
  • the CPU 101 When the CPU 101 receives an instruction input for changing the display magnification of the screen 501 from the user, the CPU 101 enlarges or reduces the size of the display area 952. Similarly, the size of the attention area 960 is enlarged or reduced.
  • the CPU 101 keeps the viewing angle constant and the distance between the pseudo viewpoint 2250 and the virtual space 301 (the height of the pseudo viewpoint 2250). ) Is equivalent to changing. For example, when an instruction input for zooming out the screen 501 is received, the CPU 101 expands the display area 952 as shown in FIG. 23A. Therefore, although each character is drawn small, a wider range of virtual space is displayed on the monitor.
  • FIG. 24 is a flowchart for explaining the image display processing of the present embodiment.
  • the controller 105 (or a game pad or a touch panel) accepts an instruction input from each player to move the position of the player character 2210 up, down, left, and right from the player (step S2401). For example, when the controller 105 receives an instruction input to the effect that the controller 105 moves the position of the player character 2210, the CPU 101 moves the position of the player character 2210 in the designated direction. The CPU 101 ensures that the player character 2210 is always in the central portion 515 when the position of the player character 2210 is moved.
  • the CPU 101 determines whether or not to scroll the screen 501 (step S2402).
  • the CPU 101 moves the position of the player character 2210 according to the instruction input. In this case, the CPU 101 determines that the screen 501 is not scrolled.
  • the CPU 101 determines that the screen 501 is scrolled.
  • step S2402 If it is determined not to scroll the screen 501 (step S2402; NO), the process returns to step S2401. On the other hand, when it is determined that the screen 501 is scrolled (step S2402; YES), the CPU 101 obtains the moving direction of the display area 952 and the moving distance per unit time (step S2403).
  • the CPU 101 sets the direction indicated by the instruction input as the moving direction of the display area 952 and sets the predetermined value as the moving distance of the display area 952.
  • the CPU 101 determines whether or not the display magnification of the screen 501 has been changed (step S2404).
  • step S2404 If the display magnification is not changed (step S2404; NO), the process proceeds to step S2406. On the other hand, when the display magnification is changed (step S2404; YES), the CPU 101 corrects the movement distance of the display area 952 obtained in step S2403 (step S2405).
  • the CPU 101 corrects the movement distance of the display area 952 so that the distance L7 between the pseudo viewpoint 2250 and the virtual space 301 is shorter. That is, the corrected travel distance monotonously decreases with respect to the distance L7.
  • the CPU 101 moves the display area 952 by the movement distance corrected in step S2405 in the movement direction obtained in step S2403 (step S2406).
  • the CPU 101 causes the image processing unit 107 to display the image in the display area 952 on the monitor (step S2407).
  • the scroll amount is not changed.
  • the scroll process can be prevented from occurring frequently, and the load on the game apparatus 200 due to the scroll process can be reduced.
  • the present invention is not limited to the above-described embodiment, and various modifications and applications are possible. Moreover, it is also possible to freely combine the components of the above-described embodiments.
  • a program for operating the computer as all or part of the game apparatus 800 is stored in a computer-readable recording medium such as a memory card, CD-ROM, DVD, or MO (Magneto Optical disk) and distributed. It may be installed in another computer and operated as the above-described means, or the above-described steps may be executed.
  • a computer-readable recording medium such as a memory card, CD-ROM, DVD, or MO (Magneto Optical disk) and distributed. It may be installed in another computer and operated as the above-described means, or the above-described steps may be executed.
  • the program may be stored in a disk device or the like of a server device on the Internet, and may be downloaded onto a computer by being superimposed on a carrier wave, for example.
  • the present invention it is possible to provide a game device, a game processing method, and a program suitable for reducing the load caused by the image display scrolling process and improving the visibility of the screen for the player. be able to.

Abstract

 ゲーム装置(800)において、記憶部(801)は、仮想空間に配置されるオブジェクトの位置と、視点の位置と、視線の方向と、画面内の指示標識の位置と、画面内の注目領域の位置と、を記憶する。入力受付部(802)は、視点を変える指示入力をユーザから受け付ける。生成部(803)は、仮想空間を視点の位置から視線の向きに見た画像を生成する。表示部(804)は、生成された画像を表示する。距離計算部(805)は、注目領域内に表示されているオブジェクトと視点との距離を計算する。移動計算部(806)は、視点の移動方向と移動距離を計算する。補正部(807)は、補正後の移動距離が距離計算部(805)により計算された距離に対して単調減少するように、移動距離を補正する。更新部(808)は、計算された移動方向に補正された移動距離だけ視点を移動するように、視点の位置を更新する。

Description

ゲーム装置、ゲーム処理方法、情報記録媒体、ならびに、プログラム
 本発明は、画像表示のスクロール処理による負荷を軽減し、プレイヤにとっての画面の見やすさを向上するために好適なゲーム装置、ゲーム処理方法、情報記録媒体、ならびに、プログラムに関する。
 仮想空間内を表すゲーム画像等の表示手法として、広い仮想空間の一部をモニター表示用の表示領域とし、プレイヤによる操作に応じて表示領域を移動する、いわゆるスクロール処理が広く用いられている。例えば特許文献1には、プレイヤがスティックを使ってタッチパネルにタッチし、任意の方向に画面をスクロールする装置等が開示されている。これによれば、例えば上下左右といったように予め決められた方向に画面をスクロールするだけでなく、プレイヤの都合に合わせて様々な方向に画面をスクロールすることができる。
特開2006-146556号公報
 一方で、プレイヤが手で握って操作するコントローラの位置や姿勢の変化に応じて、仮想空間内における視点の位置や視線の向きを変化させ、この視点の位置からこの視線の向きに仮想空間を見た画像を画面に表示するゲームが存在する。このようなゲームにおいて、コントローラの向きや姿勢の変化量が所定量を超えると、上記のようなスクロール処理を実行する必要がある。
 しかしながら、どの方向にどの程度の移動量だけスクロールするかといった判断をプレイヤに任せすぎてしまうと、プレイヤの操作の仕方によっては頻繁に画面をスクロールすることになる場合があり、スクロール処理による装置への負担が重くなってしまうという問題があった。
 また、例えば上記のコントローラを用い、仮想空間に配置されている視点の位置や視線の向きを変えながらオブジェクトを動かすゲームにおいて、ゲーム画面内のプレイヤの注目度に偏りがあると推定される状態で画面を大きくスクロールさせると、プレイヤの目が画面の変化について行けなくなり、プレイヤにとって見づらい画像になってしまうことがあった。
 本発明はこのような課題を解決するものであり、画像表示のスクロール処理による負荷を軽減し、プレイヤにとっての画面の見やすさを向上するために好適なゲーム装置、ゲーム処理方法、情報記録媒体、ならびに、プログラムを提供することを目的とする。
 本発明の第1の観点に係るゲーム装置は、記憶部、生成部、表示部、距離計算部、移動計算部、補正部、更新部を備える。
 記憶部は、仮想空間に配置されるオブジェクトの位置と、当該仮想空間に配置される視点の位置と、を記憶する。
 生成部は、当該仮想空間において当該視点の位置から見た当該オブジェクトを表す画像を生成する。
 表示部は、生成された画像を表示する。
 距離計算部は、当該オブジェクトの当該仮想空間における位置と、記憶されている視点の位置と、の距離を求める。
 移動計算部は、当該視点の位置を移動する移動方向と移動距離を計算する。
 補正部は、計算された移動距離を求められた距離に基づいて補正する。
 更新部は、計算された移動方向に、補正された結果の移動距離だけ、記憶される視点の位置を移動するように更新する。
 そして、補正部は、補正された結果の移動距離が、求められた距離に対して単調減少するように、補正する。
 本発明のゲーム装置が実行するゲームは、例えば3次元又は2次元の仮想空間におけるゲームである。モニターには仮想空間を視点の位置から所定の視線の向きに眺めた画像が表示される。仮想空間には1つ以上のオブジェクトが配置される。プレイヤは、コントローラを操作して、視点の位置を指定方向に指定量だけ変えるように指示できる。視点の位置を移動すると、画面に表示される画像も移動する。分かりやすく言えば、画面がスクロールする。
 視点の位置を変えるとき、ゲーム装置は、単位時間あたりの視点の移動方向と移動距離、言い換えれば単位時間あたりの画面のスクロール方向とスクロール量が求められる。視点の移動方向は、例えば、プレイヤがコントローラを動かしたり操作ボタンを押下したりして指定される。視点の移動距離は、例えば、一度の操作につき所定量、あるいは操作の仕方に応じて変化する量、といったように求められる。ただし、ここで求められた視点の移動距離は、次に述べるように補正されることになる。
 ゲーム装置は、画面内に配置されているオブジェクトと視点との距離を計算する。ゲーム装置は、補正された結果得られる視点の移動距離が、計算されたオブジェクトと視点との距離に対して単調減少するように、視点の移動距離を補正する。つまり、画面内に配置されているオブジェクトが視点の近くであればあるほど、補正された後の視点の移動距離は小さくなる。言い換えれば、画面内に配置されているオブジェクトが視点の近くであればあるほど、小さくスクロールすることになる。
 なお、ゲーム装置は、単位時間あたりの視点の移動方向と移動距離ではなく、トータルの視点の移動方向と移動距離を求めるようにしてもよい。この場合、画面内に配置されているオブジェクトが視点の近くであればあるほど、ゆっくりスクロールすることになる。
 画面内にオブジェクトが配置されている場合、プレイヤはそのオブジェクトを比較的大きく注視していると推測される。プレイヤが画面の特定部分を注視している状況で画面が速くスクロールすると、画面が見にくくなる恐れがある。しかし、本発明によれば、画面のスクロール量が多すぎたり速すぎたりして画像が全体として見えづらくなってしまわないようにすることができ、プレイヤにとって画面の見やすさを向上することができる。例えば、画面が頻繁にスクロールすることによってプレイヤが酔ってしまうようなことがない。更に、視点の移動による画面のスクロール処理が頻繁に発生してしまわないようにすることができ、スクロール処理によるゲーム装置への負荷を減らすことができる。
 本発明のその他の観点に係るゲーム装置は、記憶部、生成部、表示部、距離計算部、移動計算部、補正部、更新部を備える。
 記憶部は、仮想空間に配置されるオブジェクトの位置と、当該仮想空間に配置される視点の位置と、視線の向きと、を記憶する。
 生成部は、当該仮想空間において当該視点の位置から当該視線の向きに見た当該オブジェクトを表す画像を生成する。
 表示部は、生成された画像を表示する。
 距離計算部は、当該オブジェクトの当該仮想空間における位置と、記憶されている視点の位置と、の距離を求める。
 移動計算部は、当該視線の向きを回転する回転方向と回転角度を計算する。
 補正部は、計算された回転角度を求められた距離に基づいて補正する。
 更新部は、計算された回転方向に、補正された結果の回転角度だけ、記憶される視線の向きを回転するように更新する。
 そして、補正部は、補正された結果の回転角度が、求められた距離に対して単調減少するように、補正する。
 本発明のゲーム装置が実行するゲームは、例えば3次元仮想空間におけるゲームである。モニターには仮想空間を視点の位置から視線の向きに眺めた画像が表示される。仮想空間には1つ以上のオブジェクトが配置される。プレイヤは、コントローラを操作して、視線の向きを指定方向に指定量だけ変えるように指示できる。視線の向きを変えると、画面に表示される画像も移動する。つまり画面がスクロールする。
 視線の向きを変えるとき、ゲーム装置は、単位時間あたりの視線の回転方向と回転角度を求める。言い換えれば画面のスクロール方向とスクロール量とが求められる。視線の回転方向は、例えば、プレイヤがコントローラを動かしたり操作ボタンを押下したりして指定される。視線の回転角度は、例えば、一度の操作につき所定量、あるいは操作の仕方に応じて変化する量、といったように求められる。ただし、ここで求められた視線の回転方向は、次に述べるように補正されることになる。
 ゲーム装置は、画面内に配置されているオブジェクトと視点との距離を計算する。ゲーム装置は、補正された結果得られる視線の回転角度が、計算されたオブジェクトと視点との距離に対して単調減少するように、視線の回転角度を補正する。つまり、画面内に配置されているオブジェクトが視点の近くであればあるほど、補正された後の視線の回転角度は小さくなる。言い換えれば、画面内に配置されているオブジェクトが視点の近くであればあるほど、小さくスクロールすることになる。
 なお、ゲーム装置は、単位時間あたりの視線の回転方向と回転角度ではなく、トータルの視線の回転方向と回転角度を求めるようにしてもよい。この場合、画面内に配置されているオブジェクトが視点の近くであればあるほど、ゆっくりスクロールすることになる。
 プレイヤが画面の特定部分を比較的大きく注視している状況で画面が速くスクロールすると、画面が見にくくなる恐れがある。しかし、本発明によれば、画面のスクロール量が多すぎたり速すぎたりして画像が全体として見えづらくなってしまわないようにすることができ、プレイヤにとって画面の見やすさを向上することができる。例えば、画面が頻繁にスクロールすることによってプレイヤが酔ってしまうようなことがない。更に、視点の移動による画面のスクロール処理が頻繁に発生してしまわないようにすることができ、スクロール処理によるゲーム装置への負荷を減らすことができる。
 移動計算部は、当該視点の位置を移動する移動方向と移動距離を更に計算してもよい。
 また、補正部は、計算された移動距離を求められた距離に基づいて更に補正してもよい。
 また、更新部は、計算された移動方向に、補正された結果の移動距離だけ、記憶される視点の位置を移動するように更に更新してもよい。
 また、補正部は、補正された結果の移動距離が、求められた距離に対して単調減少するように、補正してもよい。
 本発明のゲーム装置では、プレイヤは、視線の向きだけでなく視点の位置を変えることもできる。つまり、視線の向きを変えるように画面をスクロールすることもできるし、視点の位置を変えるように画面をスクロールすることもできる。
 画面のスクロールの際、ゲーム装置は、視線の回転方向と回転角度だけでなく、視点の移動方向と移動距離も求める。視点の移動方向は、例えば、プレイヤがコントローラを動かしたり操作ボタンを押下したりして指定される。視点の移動距離は、例えば、一度の操作につき所定量、あるいは操作の仕方に応じて変化する量、といったように求められる。ただし、ここで求められた視点の移動距離は、視線の回転方向と同様に、補正されることになる。
 ゲーム装置は、視線の回転方向と同様に、補正された結果得られる視点の移動距離が、計算されたオブジェクトと視点との距離に対して単調減少するように、視点の移動距離を補正する。つまり、画面内に配置されているオブジェクトが視点の近くであればあるほど、補正された後の視点の移動距離は小さくなる。言い換えれば、画面内に配置されているオブジェクトが視点の近くであればあるほど、小さく(ゆっくり)スクロールすることになる。
 したがって、本発明によれば、画面のスクロール量が多すぎたり速すぎたりして画像が全体として見えづらくなってしまわないようにすることができ、プレイヤにとって画面の見やすさを向上することができる。例えば、画面が頻繁にスクロールすることによってプレイヤが酔ってしまうようなことがない。更に、視点の移動による画面のスクロール処理が頻繁に発生してしまわないようにすることができ、スクロール処理によるゲーム装置への負荷を減らすことができる。
 当該仮想空間には、複数のオブジェクトが配置されていてもよい。
 また、記憶部は、当該複数のオブジェクトのそれぞれの位置を記憶してもよい。
 そして、距離計算部は、当該複数のオブジェクトのうち、生成された画像内の注目領域に描画されたオブジェクトの当該仮想空間における位置と、記憶されている視点の位置と、の距離を求めてもよい。
 注目領域とは、他の領域よりもプレイヤによる注目度が比較的高いと推測される領域である。
 ゲーム装置は、補正された結果得られる視点の移動距離が、計算されたオブジェクトと視点との距離に対して単調減少するように、視点の移動距離を補正する。つまり、画面の注目領域内に配置されているオブジェクトが視点の近くであればあるほど、補正された後の視点の移動距離は小さくなる。言い換えれば、画面の注目領域内に配置されているオブジェクトが視点の近くであればあるほど、小さくスクロールすることになる。なお、ゲーム装置は、単位時間あたりの視点の移動方向と移動距離ではなく、トータルの視点の移動方向と移動距離を求めるようにしてもよい。この場合、画面の注目領域内に配置されているオブジェクトが視点の近くであればあるほど、ゆっくりスクロールすることになる。
 あるいは、ゲーム装置は、補正された結果得られる視線の回転角度が、計算されたオブジェクトと視点との距離に対して単調減少するように、視線の回転角度を補正する。つまり、画面の注目領域内に配置されているオブジェクトが視点の近くであればあるほど、補正された後の視線の回転角度は小さくなる。言い換えれば、画面の注目領域内に配置されているオブジェクトが視点の近くであればあるほど、小さくスクロールすることになる。
 なお、ゲーム装置は、単位時間あたりの視線の回転方向と回転角度ではなく、トータルの視線の回転方向と回転角度を求めるようにしてもよい。この場合、画面の注目領域内に配置されているオブジェクトが視点の近くであればあるほど、ゆっくりスクロールすることになる。
 当該注目領域は、生成された画像の中央に配置されていてもよい。
 例えば、プレイヤは画面の中央付近を頻繁に見ながらゲームをプレイすることが推測される。そこで本発明では、スクロール量を補正するために用いられる注目領域の位置を画面の中央付近に固定している。つまり、画面の中央付近に配置されるオブジェクトが視点の近くであればあるほど、プレイヤが画面の中央付近をよく見ている状況であると推測し、スクロールを小さく(遅く)する。したがって、画面の見やすさを向上し、スクロール処理の負荷を軽減することができる。
 ゲーム装置は、当該オブジェクトを選択する旨の選択指示入力を当該ユーザから受け付ける入力受付部を更に備えてもよい。
 そして、距離計算部は、選択されたオブジェクトの生成された画面内における位置を中心として、当該注目領域を設定してもよい。
 例えば、プレイヤが任意のオブジェクトを選択できるゲームにおいては、プレイヤは選択したオブジェクト付近を頻繁に見ながらゲームをプレイすると推測される。例えば、仮想空間に配置されているオブジェクトのいずれかをプレイヤが自由に操作して動かせるゲームでは、操作対象のオブジェクト付近をよく見ながらゲームをプレイするものと推測できる。
 そこで本発明では、スクロール量を補正するために用いられる注目領域の位置を、プレイヤによって選択されたオブジェクト付近に配置している。つまり、選択したオブジェクトあるいはその付近に配置される他のオブジェクトが視点の近くであればあるほど、プレイヤが選択したオブジェクト付近をよく見ている状況であると推測し、スクロールを小さく(遅く)する。したがって、画面の見やすさを向上し、スクロール処理の負荷を軽減することができる。
 入力受付部は、選択されたオブジェクトの位置を移動する旨の移動指示入力を当該ユーザから更に受け付けてもよい。
 また、記憶部は、当該移動指示入力の所定回数分の履歴を更に記憶してもよい。
 また、更新部は、当該移動指示入力に基づいて、選択されたオブジェクトの位置を更に更新してもよい。
 また、距離計算部は、選択されたオブジェクトの位置が移動した場合、当該オブジェクトの移動を開始してから所定時間経過後、記憶されている履歴に基づいて、当該オブジェクトに追随するように当該注目領域の位置を変えてもよい。
 例えば、仮想空間に配置されているオブジェクトのいずれかをプレイヤが自由に操作して動かせるゲームがある。スクロール量を補正するために用いられる注目領域の位置が、プレイヤによって選択されたオブジェクト付近に配置される。オブジェクトの位置が可変であり、注目領域の位置も可変である。つまりゲーム装置は、オブジェクトの位置を変えると、それに伴って注目領域の位置も変える。オブジェクトの位置の移動が速すぎると、プレイヤの目がこの移動に付いて行けず若干遅れてしまうことが予想される。
 そこで本発明では、オブジェクトの位置を変えてから所定時間だけ遅れて、注目領域の位置も変える。したがって、注目領域、すなわちプレイヤの注目度が比較的高いと推測される場所を、よりプレイヤの実態に即して移動することができるので、画面の見やすさを更に向上することができる。
 入力受付部は、選択されたオブジェクトの位置を指定量だけ移動する旨の移動指示入力を更に受け付けてもよい。
 また、記憶部は、当該移動指示入力の所定回数分の履歴を更に記憶してもよい。
 また、補正部は、記憶されている移動指示入力が示す各々の指定量に基づいて当該移動距離の補正量を求め、補正された結果の移動距離が求められた距離に対して単調減少するように補正してもよい。
 例えば、仮想空間に配置されているオブジェクトのいずれかをプレイヤが自由に操作して動かせるゲームがある。スクロール量を補正するために用いられる注目領域の位置が、プレイヤによって選択されたオブジェクト付近に配置される。オブジェクトの位置が可変であり、注目領域の位置も可変である。つまりゲーム装置は、オブジェクトの位置を変えると、それに伴って注目領域の位置も変える。ゲーム装置は、ある移動経路でオブジェクトの位置が移動すると、その移動経路と同じ経路で注目領域も移動することができる。しかし、例えばプレイヤの手ぶれなどが原因でオブジェクトの位置が瞬時に大きく移動したり素早く移動したりした場合、プレイヤの注視する場所はオブジェクトの移動経路通りにはならない可能性がある。
 そこで本発明では、ゲーム装置は、オブジェクトの位置の移動履歴に基づいて、適宜スクロール量の補正量を変え、オブジェクトの移動経路と異なる経路で注目領域を移動することができる。例えば、手ぶれなどでプレイヤの意図しない動きになった場合、もしくはプレイヤの意図しない動きと推測される場合、ゲーム装置は、オブジェクトの移動量のうち閾値を超えた分についてはカットするようにしたり、所定の補正用の関数を用いて移動量を補正したりしてもよい。したがって、注目領域、すなわちプレイヤの注目度が比較的高いと推測される場所を、オブジェクトの移動履歴に合わせて変えることができるので、画面の見やすさを更に向上することができる。
 距離計算部は、生成された画像内の注目領域に描画されたオブジェクトが複数の場合、当該オブジェクトの当該仮想空間における位置と、記憶されている視点の位置と、のそれぞれの距離の平均値を計算してもよい。
 そして、補正部は、計算された移動距離を、計算された平均値に対して単調減少するように補正してもよい。
 注目領域の中に、1つだけでなく複数のオブジェクトが配置されることもある。ゲーム装置は、視点からの距離の計算対象として、注目領域の中のいずれのオブジェクトを採用することができる。そこで本発明では、注目領域の中のオブジェクトのそれぞれについて、視点からの距離を求め、それらの平均距離に対して単調減少するように、移動距離の補正量を求める。
 例えば、注目度が比較的高いと推定される領域の中の各オブジェクトが、全体の傾向として視点の近くにあるのであれば、注目領域付近のプレイヤの注目度は高いと推測できる。したがって、プレイヤの注目度が比較的高い場所を、よりプレイヤの実態に即して推測できるので、画面の見やすさを更に向上することができる。
 距離計算部は、生成された画像内の注目領域に描画されたオブジェクトが複数の場合、当該オブジェクトの当該仮想空間における位置と、記憶されている視点の位置と、のそれぞれの距離の最大値を計算してもよい。
 そして、補正部は、計算された移動距離を、計算された最大値に対して単調減少するように補正してもよい。
 注目領域の中に、1つだけでなく複数のオブジェクトが配置されることもある。ゲーム装置は、視点からの距離の計算対象として、注目領域の中のいずれのオブジェクトを採用することができる。そこで本発明では、ゲーム装置は、注目領域の中のオブジェクトのそれぞれについて、視点からの距離を求め、それらのうちの最長距離に対して単調減少するように、移動距離の補正量を求める。
 例えば、注目度が比較的高いと推定される領域の中でもとりわけ注目度が高いと推測されるオブジェクトが視点の近くにあるのであれば、注目領域付近のプレイヤの注目度は特に高いと推測される。したがって、プレイヤの注目度が比較的高い場所を、よりプレイヤの実態に即して推測できるので、画面の見やすさを更に向上することができる。
 距離計算部は、生成された画像内の注目領域に描画されたオブジェクトが複数の場合、当該オブジェクトの当該仮想空間における位置と、記憶されている視点の位置と、のそれぞれの距離の最小値を計算してもよい。
 そして、補正部は、計算された移動距離を、計算された最小値に対して単調減少するように補正してもよい。
 注目領域の中に、1つだけでなく複数のオブジェクトが配置されることもある。ゲーム装置は、視点からの距離の計算対象として、注目領域の中のいずれのオブジェクトを採用することができる。そこで本発明では、ゲーム装置は、注目領域の中のオブジェクトのそれぞれについて、視点からの距離を求め、それらのうちの最短距離に対して単調減少するように、移動距離の補正量を求める。
 例えば、注目度が高いと推測される領域の中で比較的目立たないオブジェクトであっても、視点の近くにあるのであれば、プレイヤの注目度は高いと推測できる。したがって、プレイヤの注目度が比較的高い場所を、よりプレイヤの実態に即して推測できるので、画面の見やすさを更に向上することができる。
 距離計算部は、生成された画像内の注目領域に描画されたオブジェクトが複数の場合、当該オブジェクトの当該仮想空間における位置と、記憶されている視点の位置と、のそれぞれの距離の合計値を計算してもよい。
 そして、補正部は、計算された移動距離を、計算された合計値に対して単調減少するように補正してもよい。
 注目領域の中に、1つだけでなく複数のオブジェクトが配置されることもある。ゲーム装置は、視点からの距離の計算対象として、注目領域の中のいずれのオブジェクトを採用することができる。そこで本発明では、ゲーム装置は、注目領域の中のオブジェクトのそれぞれについて、視点からの距離を求め、それらの合計距離(延べ距離)に対して単調減少するように、移動距離の補正量を求める。
 例えば、注目度が比較的高いと推測される領域の中の各オブジェクトが、全体の傾向として視点の遠くにあったとしても、オブジェクトの数が多いのであれば、注目領域付近のプレイヤの注目度は高いと推測できる。したがって、プレイヤの注目度が比較的高い場所を、よりプレイヤの実態に即して推測できるので、画面の見やすさを更に向上することができる。
 本発明のその他の観点に係るゲーム処理方法は、記憶部を有するゲーム装置にて実行されるゲーム処理方法であって、生成ステップ、表示ステップ、距離計算ステップ、移動計算ステップ、補正ステップ、更新ステップを備える。
 記憶部には、仮想空間に配置されるオブジェクトの位置と、当該仮想空間に配置される視点の位置と、が記憶される。
 生成ステップでは、当該仮想空間において当該視点の位置から見た当該オブジェクトを表す画像を生成する。
 表示ステップでは、生成された画像を表示する。
 距離計算ステップでは、当該オブジェクトの当該仮想空間における位置と、記憶されている視点の位置と、の距離を求める。
 移動計算ステップでは、当該視点の位置を移動する移動方向と移動距離を計算する。
 補正ステップでは、計算された移動距離を求められた距離に基づいて補正する。
 更新ステップでは、計算された移動方向に、補正された結果の移動距離だけ、記憶される視点の位置を移動するように更新する。
 そして、補正ステップでは、補正された結果の移動距離が、求められた距離に対して単調減少するように、補正する。
 本発明によれば、画面のスクロール量が多すぎたり速すぎたりして画像が全体として見えづらくなってしまわないようにすることができ、プレイヤにとって画面の見やすさを向上することができる。例えば、画面が頻繁にスクロールすることによってプレイヤが酔ってしまうようなことがない。更に、視点の移動による画面のスクロール処理が頻繁に発生してしまわないようにすることができ、スクロール処理の負荷を減らすことができる。
 本発明のその他の観点に係るゲーム処理方法は、記憶部を有するゲーム装置にて実行されるゲーム処理方法であって、生成ステップ、表示ステップ、距離計算ステップ、移動計算ステップ、補正ステップ、更新ステップを備える。
 記憶部には、仮想空間に配置されるオブジェクトの位置と、当該仮想空間に配置される視点の位置と、視線の向きと、が記憶される。
 生成ステップでは、当該仮想空間において当該視点の位置から当該視線の向きに見た当該オブジェクトを表す画像を生成する。
 表示ステップは、表示部が、生成された画像を表示する。
 距離計算ステップでは、当該オブジェクトの当該仮想空間における位置と、記憶されている視点の位置と、の距離を求める。
 移動計算ステップでは、当該視線の向きを回転する回転方向と回転角度を計算する。
 補正ステップでは、計算された回転角度を求められた距離に基づいて補正する。
 更新ステップでは、計算された回転方向に、補正された結果の回転角度だけ、記憶される視線の向きを回転するように更新する。
 そして、補正ステップでは、補正された結果の回転角度が、求められた距離に対して単調減少するように、補正する。
 本発明によれば、画面のスクロール量が多すぎたり速すぎたりして画像が全体として見えづらくなってしまわないようにすることができ、プレイヤにとって画面の見やすさを向上することができる。例えば、画面が頻繁にスクロールすることによってプレイヤが酔ってしまうようなことがない。更に、視点の移動による画面のスクロール処理が頻繁に発生してしまわないようにすることができ、スクロール処理の負荷を減らすことができる。
 本発明のその他の観点に係る情報記録媒体は、コンピュータを、
 仮想空間に配置されるオブジェクトの位置と、当該仮想空間に配置される視点の位置と、を記憶する記憶部、
 当該仮想空間において当該視点の位置から見た当該オブジェクトを表す画像を生成する生成部、
 前記生成された画像を表示する表示部、
 当該オブジェクトの当該仮想空間における位置と、前記記憶されている視点の位置と、の距離を求める距離計算部、
 当該視点の位置を移動する移動方向と移動距離を計算する移動計算部、
 前記計算された移動距離を前記求められた距離に基づいて補正する補正部、
 前記計算された移動方向に、前記補正された結果の移動距離だけ、前記記憶される視点の位置を移動するように更新する更新部、
 として機能させ、
 前記補正部が、前記補正された結果の移動距離が、前記求められた距離に対して単調減少するように、補正する、
 ように機能させる。
 本発明によれば、コンピュータを上述のように動作するゲーム装置として機能させることができる。
 本発明のその他の観点に係る情報記録媒体は、コンピュータを、
 仮想空間に配置されるオブジェクトの位置と、当該仮想空間に配置される視点の位置と、視線の向きと、を記憶する記憶部、
 当該仮想空間において当該視点の位置から当該視線の向きに見た当該オブジェクトを表す画像を生成する生成部、
 前記生成された画像を表示する表示部、
 当該オブジェクトの当該仮想空間における位置と、前記記憶されている視点の位置と、の距離を求める距離計算部、
 当該視線の向きを回転する回転方向と回転角度を計算する移動計算部、
 前記計算された回転角度を前記求められた距離に基づいて補正する補正部、
 前記計算された回転方向に、前記補正された結果の回転角度だけ、前記記憶される視線の向きを回転するように更新する更新部、
 として機能させ、
 前記補正部が、前記補正された結果の回転角度が、前記求められた距離に対して単調減少するように、補正する、
 ように機能させる。
 本発明によれば、コンピュータを上述のように動作するゲーム装置として機能させることができる。
 本発明のその他の観点に係るプログラムは、コンピュータを、
 仮想空間に配置されるオブジェクトの位置と、当該仮想空間に配置される視点の位置と、を記憶する記憶部、
 当該仮想空間において当該視点の位置から見た当該オブジェクトを表す画像を生成する生成部、
 前記生成された画像を表示する表示部、
 当該オブジェクトの当該仮想空間における位置と、前記記憶されている視点の位置と、の距離を求める距離計算部、
 当該視点の位置を移動する移動方向と移動距離を計算する移動計算部、
 前記計算された移動距離を前記求められた距離に基づいて補正する補正部、
 前記計算された移動方向に、前記補正された結果の移動距離だけ、前記記憶される視点の位置を移動するように更新する更新部、
 として機能させ、
 前記補正部は、前記補正された結果の移動距離が、前記求められた距離に対して単調減少するように、補正する、
 ことを特徴とする。
 本発明によれば、コンピュータを上述のように動作するゲーム装置として機能させることができる。
 本発明のその他の観点に係るプログラムは、コンピュータを、
 仮想空間に配置されるオブジェクトの位置と、当該仮想空間に配置される視点の位置と、視線の向きと、を記憶する記憶部、
 当該仮想空間において当該視点の位置から当該視線の向きに見た当該オブジェクトを表す画像を生成する生成部、
 前記生成された画像を表示する表示部、
 当該オブジェクトの当該仮想空間における位置と、前記記憶されている視点の位置と、の距離を求める距離計算部、
 当該視線の向きを回転する回転方向と回転角度を計算する移動計算部、
 前記計算された回転角度を前記求められた距離に基づいて補正する補正部、
 前記計算された回転方向に、前記補正された結果の回転角度だけ、前記記憶される視線の向きを回転するように更新する更新部、
 として機能させ、
 前記補正部は、前記補正された結果の回転角度が、前記求められた距離に対して単調減少するように、補正する、
 ことを特徴とする。
 本発明によれば、コンピュータを上述のように動作するゲーム装置として機能させることができる。
 また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
 上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
 本発明によれば、画像表示のスクロール処理による負荷を軽減し、プレイヤにとっての画面の見やすさを向上することができる。
本発明のゲーム装置が実現される典型的な情報処理装置の概要構成を示す図である。 本実施形態にて利用されるコントローラと情報処理装置の外観を示す説明図である。 仮想空間と現実世界との対応関係を示す説明図である。 マジックハンドの柄とオブジェクトとの位置関係と、力の方向を示す説明図である。 画面にカーソルとマジックハンドとオブジェクトが表示される様子を示す説明図である。 マジックハンドの柄の位置と、視点の移動の方向との関係を説明する説明図である。 視線の方向の向きを移動させる処理を説明するための図である。 視線の方向の向きを移動させる処理を説明するための図である。 視線の方向の向きを移動させる処理を説明するための図である。 本発明のゲーム装置の機能的な構成を示す図である。 画面に表示される仮想空間を表す画像の例である。 仮想空間内の視点の位置を移動する様子を説明するための図である。 視点の位置とオブジェクトの位置との距離と、視点の位置の移動量又は視線の向きの移動量と、の関係を示す図である。 視点の位置とオブジェクトの位置との距離と、視点の位置の移動量又は視線の向きの移動量と、の関係を示す図である。 視点の位置とオブジェクトの位置との距離と、視点の位置の移動量又は視線の向きの移動量と、の関係を示す図である。 視点の位置とオブジェクトの位置との距離と、視点の位置の移動量又は視線の向きの移動量と、の関係を示す図である。 画面に表示される仮想空間を表す画像の例である。 仮想空間内の視線の向きを変える様子を説明するための図である。 画像表示処理を説明するためのフローチャートである。 実施形態2において、画面に表示される仮想空間を表す画像の例である。 仮想空間内の視点やオブジェクト等の位置関係を説明するための図である。 実施形態3において、画面に表示される仮想空間を表す画像の例である。 仮想空間内の視点やオブジェクト等の位置関係を説明するための図である。 実施形態4において、画面に表示される仮想空間を表す画像の例である。 仮想空間内の視点やオブジェクト等の位置関係を説明するための図である。 オブジェクトの軌跡と、注目領域の軌跡とを説明するための図である。 実施形態4において、オブジェクトの軌跡と、注目領域の軌跡とを説明するための図である。 実施形態4において、オブジェクトの軌跡と、注目領域の軌跡とを説明するための図である。 実施形態4において、オブジェクトの軌跡と、注目領域の軌跡とを説明するための図である。 実施形態4において、オブジェクトの軌跡と、注目領域の軌跡とを説明するための図である。 実施形態4において、オブジェクトの軌跡と、注目領域の軌跡とを説明するための図である。 実施形態4において、オブジェクトの軌跡と、注目領域の軌跡とを説明するための図である。 実施形態4において、オブジェクトの軌跡と、注目領域の軌跡とを説明するための図である。 実施形態4において、オブジェクトの軌跡と、注目領域の軌跡とを説明するための図である。 実施形態4において、注目領域の軌跡を求める処理を説明するための図である。 実施形態4において、注目領域の軌跡を求める処理を説明するための図である。 実施形態4において、注目領域の軌跡を求める処理を説明するための図である。 実施形態4において、画面に表示される仮想空間を表す画像の他の例である。 仮想空間内の視点やオブジェクト等の位置関係を説明するための図である。 実施形態5において、ゲーム装置の機能的な構成を示す図である。 実施形態5において、画面に表示される仮想空間を表す画像の例である。 擬似的な視点やキャラクタ等の位置関係を説明するための図である。 実施形態5において、ズームアウトしたときの画像の例である。 擬似的な視点やキャラクタ等の位置関係を説明するための図である。 画像表示処理を説明するためのフローチャートである。
符号の説明
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD-ROMドライブ
109 NIC
110 音声処理部
111 マイク
201 把持モジュール
202 CCDカメラ
203 十字形キー
204 A-ボタン
205 B-ボタン
206 各種ボタン
207 インジケータ
208 電源ボタン
251 発光モジュール
252 発光ダイオード
291 テレビジョン装置
301 仮想空間
302 マジックハンド
303 オブジェクト
304 柄
305 視点
306 視線
307 投影面
308 カーソル
309 障害物
311 柄の姿勢の方向
313 基準位置
314 基準位置からのずれを表すベクトル
321 柄の姿勢の方向ベクトル
322 柄からオブジェクトへの方向ベクトル
323 上下左右のずれを表すベクトル
411 牽引力(反発力)
412 上下左右の力
501 画面
511 上縁部
512 右縁部
513 左縁部
514 下縁部
515 中央部
800 ゲーム装置
801 記憶部
802 入力受付部
803 生成部
804 表示部
805 距離計算部
806 移動計算部
807 補正部
808 更新部
851 オブジェクト情報
852 視点情報
853 視線情報
854 カーソル情報
855 注目領域情報
951 視点の位置の移動方向
952 表示領域
960 注目領域
1101 視線の向きの回転方向
 以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
(実施形態1)
 図1は、プログラムを実行することにより、本発明の実施形態に係る装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。
 情報処理装置100は、CPU(Central Processing Unit)101と、ROM 102と、RAM(Random Access Memory)103と、インターフェイス104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD-ROM(Digital Versatile Disc ROM)ドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、マイク111と、を備える。
 ゲーム用のプログラムおよびデータを記憶したDVD-ROMをDVD-ROMドライブ108に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態に係るゲーム装置が実現される。
 CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
 ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD-ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
 RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD-ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
 インターフェイス104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。なお、コントローラ105の詳細については後述する。
 インターフェイス104を介して着脱自在に接続された外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
 DVD-ROMドライブ108に装着されるDVD-ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD-ROMドライブ108は、これに装着されたDVD-ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
 画像処理部107は、DVD-ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
 画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
 また、仮想空間が3次元にて構成される場合には、当該3次元空間内に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
 さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
 NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE-T/100BASE-T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェイス(図示せず)により構成される。
 音声処理部110は、DVD-ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
 音声処理部110では、DVD-ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカーに出力することにより、音声出力が可能となる。
 さらに、情報処理装置100には、インターフェイス104を介してマイク111を接続することができる。この場合、マイク111からのアナログ信号に対しては、適当なサンプリング周波数でA/D変換を行い、PCM形式のディジタル信号として、音声処理部110でのミキシング等の処理ができるようにする。
 このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD-ROMドライブ108に装着されるDVD-ROM等と同じ機能を果たすように構成してもよい。
 以上で説明した情報処理装置100は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、仮想空間を表示するような画像処理を行うものであれば本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
 例えば、一般的なコンピュータは、上記情報処理装置100と同様に、CPU、RAM、ROM、DVD-ROMドライブ、および、NICを備え、情報処理装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ105ではなく、キーボードやマウスなどを入力装置として利用する。
 本実施形態では、現実の空間における位置や姿勢などの種々のパラメータが測定できるようなコントローラ105を採用する。
 図2は、現実の空間における位置や姿勢などの種々のパラメータが測定できるようなコントローラ105と情報処理装置100との外観を示す説明図である。以下、本図を参照して説明する。
 コントローラ105は、把持モジュール201と発光モジュール251との組合せからなる。把持モジュール201は無線通信によって情報処理装置100と通信可能に接続されており、発光モジュール251は、有線で情報処理装置100と通信可能に接続されている。情報処理装置100の処理結果の音声および画像は、テレビジョン装置291によって出力表示される。
 把持モジュール201は、テレビジョン装置291のリモートコントローラと類似した外観をしており、その先端には、CCDカメラ202が配置されている。
 一方、発光モジュール251は、テレビジョン装置291の上部に固定されている。発光モジュール251の両端には、発光ダイオード252が配置されており、情報処理装置100からの電源供給によって発光する。
 把持モジュール201のCCDカメラ202は、この発光モジュール251の様子を撮影する。
 撮影された画像の情報は、情報処理装置100に送信され、情報処理装置100のCPU 101は、当該撮影された画像内において発光ダイオード252が撮影された位置に基づいて、発光モジュール251に対する把持モジュール201の位置を取得する。
 このほか、把持モジュール201内には、加速度センサ、角加速度センサ、傾きセンサ等が内蔵されており、把持モジュール201そのものの姿勢を測定することが可能となっている。この測定結果も、情報処理装置100に送信される。
 把持モジュール201の上面には、十字形キー203が配置されており、ユーザは、十字形キー203を押し込み操作することによって、各種の方向指示入力を行うことができる。また、A-ボタン204ほか、各種ボタン206も上面に配置されており、当該ボタンに対応付けられた指示入力を行うことができる。
 一方、B-ボタン205は、把持モジュール201の下面に配置されており、把持モジュール201の下面に窪みが構成されていることとあいまって、拳銃やマジックハンドにおける引き金を模したものとなっている。典型的には、仮想空間内における拳銃による発砲やマジックハンドによる把持の指示入力は、B-ボタン205を用いて行われる。
 また、把持モジュール201の上面のインジケータ207は、把持モジュール201の動作状況や情報処理装置100との無線通信状況などをユーザに提示する。
 把持モジュール201の上面に用意された電源ボタン208は、把持モジュール201そのものの動作のオン・オフを行うもので、把持モジュール201は内蔵された電池(図示せず)によって動作する。
 このほか、把持モジュール201の上面には、スピーカー209が配置され、音声処理部110から入力される音声信号による音声を出力する。把持モジュール201内部には、バイブレータ(図示せず)が用意されており、情報処理装置100からの指示に基づいて、振動の有無や強弱を制御することができるようになっている。
 以下では、把持モジュール201と発光モジュール251との組合せからなるコントローラ105を用いて、把持モジュール201の現実世界における位置や姿勢を測定することを前提に説明する。ただし、上記のような形態によらず、たとえば超音波や赤外線通信、GPS(Global Positioning System)等を利用してコントローラ105の現実世界における位置や姿勢を測定するとした場合であっても、本発明の範囲に含まれる。
(ゲームの概要)
 次に、本発明が適用されるゲームの概要について説明する。本ゲームでは、仮想空間に配置されたオブジェクトを、マジックハンドで掴んである場所から別の場所へ移動させることを、一つの目的としている。本ゲームにおいては、プレイヤがコントローラを握るのに対応して、キャラクターはマジックハンドの柄を握っている。
 ここで、マジックハンドとは、人の手の届く範囲よりも広い範囲に伸びる棒状の「腕」があり、その「腕」の先に配置される「手」によって、物を「吸着」して運搬したり、当該「吸着」を停止したりすることができるようなものをいう。したがって、棹の先端にトリモチがつけられており、そのトリモチによって遠方の物を獲得できるようにしたものも、マジックハンドと考えることができる。以下、理解を容易にするため、物がマジックハンドによって運搬されている間の状態を、日常的な文章表現に則って、「マジックハンドが物を掴んでいる」と呼ぶこととする。
 図3は、このようなゲームにおける仮想空間と現実世界との対応関係を示す説明図である。以下、本図を参照して説明する。
 仮想空間301には、マジックハンド302と、これで掴む対象となるオブジェクト303と、が配置されている。このマジックハンド302は、柄304と牽引ビームから構成されており、マジックハンド302の全長の大半を牽引ビームが占めている。「牽引ビーム」とは、漫画やアニメーションなどにおいて設定として採用されているもので、牽引ビームの先端で物体を掴み、その物体を引き寄せることができるようなものをいう。
 本ゲームにおけるマジックハンド302の牽引ビームは棒状の形状をしている。そして、この牽引ビームは、オブジェクトを何も掴んでいないときには、いずれかのオブジェクト(壁など、各種の障害物のオブジェクトを含む。)に衝突するまで、マジックハンド302の柄304の一端の射出口から半直線状に伸びている。したがって、マジックハンド302の柄304の姿勢によって、マジックハンド302の牽引ビームの射出方向が定まることになる。
 ここで、現実世界のプレイヤが把持モジュール201の位置・姿勢を変化させると、これに呼応して、マジックハンド302の柄304の位置・姿勢も変化する。本ゲームにおいては、把持モジュール201の位置や姿勢が測定され、マジックハンド302の柄304が指示対象となる。そして、「当該把持モジュール201の姿勢の変化」という指示に基づいて、仮想空間301内において、マジックハンド302の柄304の位置や姿勢が変化する。
 プレイヤは、ゲームの開始時に把持モジュール201を最も把持しやすい場所に固定する。すると、仮想空間301内に配置された視点305および視線306に対して、相対的に定められた位置に、最も自然な姿勢で、マジックハンド302の柄304が配置される。
 このとき、現実世界においては、プレイヤに対して把持モジュール201が「基準位置」に配置されることとなり、仮想世界301においては、視点305および視線306に対してマジックハンド302の柄304が「基準位置」に配置されることになる。
 この「基準位置」は、仮想空間内の視点305および視線306に対して相対的に決まるのであるが、これは、プレイヤが最も自然な姿勢で把持モジュール201を持った位置が、プレイヤの目の位置に対して相対的に決まることに呼応している。
 仮想空間301内の視点305および視線306は、プレイヤが操作する(演ずる)仮想空間内のキャラクターの目(主観視点ともいう。)や、当該キャラクターを背後から見る目(客観視点ともいう。)に対応し、この目がプレイヤの目に相当するものである。したがって、マジックハンド302の柄304の基準位置は、プレイヤの利き手に応じて、視点305よりも右下もしくは左下となるのが典型的である。
 視点305から視線306の方向に進むと、仮想的な投影面307が、視線306に直交している。仮想空間301の様子は、画面に表示すべきオブジェクト303やマジックハンド302の牽引ビームを、この投影面307に、透視投影することによって得られる画像によってプレイヤに提示される。
 透視投影の手法としては、視点305とオブジェクト303等とを結ぶ直線が、投影面307と交叉する点を用いる一点集中型投影が典型的であるが、視点305を無限遠方に配置し、オブジェクト303を通過して視線306に平行な直線が、投影面307と交叉する点を用いる平行投影を採用しても良い。
 上記のように、マジックハンド302の柄304は、視点の右下(左下)に配置されているので、普通の状況では、投影面307のうちの画面に表示される範囲の外に透視投影される。したがって、画面にはマジックハンド302の柄304が表示されないのが一般的である。
 さて、プレイヤが現実世界での基準位置から把持モジュール201の位置や姿勢を変化させると、その測定結果を参照して、情報処理装置100は、マジックハンド302の柄304の位置や姿勢を、基準位置から対応する量(典型的には、現実世界と同じ量。)だけ、移動させる。
 したがって、視点305および視線306に対する柄304の相対的な位置および姿勢は、把持モジュール201の位置や姿勢の変化に連動することとなる。プレイヤは、操作対象として把持モジュール201を用いて、指示対象たるマジックハンド302の柄304の位置や姿勢を変化させるのである。
 プレイヤは、把持モジュール201の位置や姿勢を変化させて、マジックハンド302の柄304から伸びる牽引ビームが、所望のオブジェクト303に衝突するように操作する。そして、把持モジュール201のB-ボタン205を押圧する。すると、マジックハンド302の先端が、オブジェクト303を掴むことになる。
 上記のように、マジックハンド302の牽引ビームは、マジックハンド302の柄304の一端の射出点から、掴んだオブジェクト303の位置を目標点として向かう。したがって、B-ボタン205の押圧によって、牽引ビームが向かうべき目標位置が設定されることになり、これはちょうど、射撃ゲームにおける引き金を引いた状態に相当する。また、本実施形態では、B-ボタン205を押していないときは、マジックハンド302の牽引ビームが初めて衝突するオブジェクト303の位置が、牽引ビームの目標位置として設定されることになる。
 この後は、オブジェクト303についての、運動のシミュレーションが開始される。オブジェクト303に加わる外力は以下の通りである。
 (1)仮想空間内における重力。典型的には下向きである。
 (2)仮想空間内において、マジックハンド302の柄304(もしくは視点305)とオブジェクト303とを結ぶ直線方向の力。いわゆる牽引力や反発力に相当する。これは、画面表示上は、プレイヤに近付く力、プレイヤから遠ざかる力に相当し、オブジェクト303とマジックハンド302の柄304(もしくは視点305)との距離、すなわち、マジックハンド302の伸縮によって定まる。
 (3)仮想空間内において、マジックハンド302の柄304(もしくは視点305)とオブジェクト303とを結ぶ直線に直交する方向の力。これは、画面表示上は、上下左右に向かう力に相当し、マジックハンド302が撓む方向とその大きさによって定まる。
 (4)オブジェクト303が移動している間に、移動方向とは反対向きに加わる力。いわゆる動摩擦力に相当する。
 (5)オブジェクト303が静止している間に、外力とは反対向きに、同じ大きさだけ加わる力。いわゆる静止摩擦力に相当する。
 ここで、マジックハンド302の伸縮および撓みについてさらに詳細に説明する。図4は、マジックハンド302の柄304とオブジェクト303との位置関係と、力の方向を示す説明図である。
 本図に示すように、オブジェクト303を掴んでいるマジックハンド302は、柄304の位置や姿勢をプレイヤが変化させると、伸縮したり撓んだりする。一方、前述した通り、マジックハンド302の牽引ビームが何も掴んでいないときは、牽引ビームは、柄304の一端に設けられた射出口から直進する。
 そこで、以下では、マジックハンド302の柄304の姿勢の方向311を、「マジックハンド302の牽引ビームが何も掴んでいないと仮定したときに牽引ビームが柄304の一端に設けられた射出口から直進する方向」と定義する。
 一般に、マジックハンド302の牽引ビームがオブジェクト303を掴んでいるとき、オブジェクト303の重さによって牽引ビームが撓むため、マジックハンド302の柄304の姿勢の方向311と、柄304からオブジェクト303へ向かう方向とは、ずれが生じる。
 したがって、牽引ビームは、柄304の姿勢の方向311に接するように発射され、その後滑らかに撓んで、オブジェクト303に至る曲線を描くこととなる。このような曲線としては、スプライン補間により得られるスプライン曲線や、円弧等、種々の曲線を用いることができる。このとき、オブジェクト303における牽引ビームの方向は、いわゆる開放端として計算するのが容易である。
 オブジェクト303をマジックハンド302が掴み始めた瞬間の、柄304(もしくは視点305)とオブジェクト303との距離を、マジックハンド302の自然長と考えることができる。この自然長と、現在の仮想空間における柄304とオブジェクト303との距離と、を対比すれば、バネに相当するような牽引力(反発力)411をシミュレートできる。すなわち、当該距離から自然長を引いた値に所定の整定数を乗じた値の牽引力(符号が負の場合は、絶対値の大きさの反発力。)411が生ずる、とすれば、簡易にシミュレートすることができる。
 一方、オブジェクト303を上下左右に動かそうとする力412は、マジックハンド302の柄304の姿勢(オブジェクト303を掴んでいないとしたときの、牽引ビームが伸びる方向。)と、柄304(もしくは視点305)からオブジェクト303に向かう方向と、のずれによって生じる。
 すなわち、上下左右の力412の方向は、柄304の姿勢の方向311の方向ベクトル321から、柄304(もしくは視点305)からオブジェクト303への方向の方向ベクトル322を減算したベクトル323の方向である。力412の大きさは、当該ベクトル323の大きさに比例する。
 現実の物理現象に即して考える場合には、上下左右の力412は、さらに、柄304(もしくは視点305)とオブジェクト303との距離にも比例する、とすれば、簡易にシミュレートすることができる。
 オブジェクト303に加わる外力が計算できれば、CPU 101は、重力や静止摩擦力、動摩擦力を、通常の物理シミュレーションと同様に計算することによって、オブジェクト303にかかる加速度を計算することができ、オブジェクト303の位置を更新することができる。これにより、オブジェクト303を移動させるのである。
 プレイヤは、オブジェクト303が所望の位置に移動したら、指を離してB-ボタン205の押圧操作を解除する。これにより、マジックハンド302はオブジェクト303を掴むことをやめ、牽引ビームは、元の通り、マジックハンド302の柄304の姿勢の方向311に伸びるようになる。
 なお、マジックハンド302がオブジェクト303を掴んでいる状態で、牽引ビームの経路上に他のオブジェクト(以下「障害物」という。)309が存在する場合、オブジェクト303を掴んでいた状態が解除される。解除されると、牽引ビームは、撓んでいる形状から半直線状の形状に戻る。
(マジックハンドの柄の姿勢)
 さて、マジックハンド302の牽引ビームの形状は、オブジェクト303を掴んでいないときは半直線状で、柄304の姿勢の方向311を示している。オブジェクト303を掴んでいるときは撓むため、プレイヤに柄304の姿勢の方向311を提示する他の手法が必要となる。そこで、カーソル(指示標識)が用いられる。
 図5は、画面にカーソル(指示標識)とマジックハンドとオブジェクトが表示される様子を示す説明図である。以下、本図を参照して説明する。
 本図においては、マジックハンド302がオブジェクト303を掴んでいる状態が示されており、画面501内で、柄304の方向311は牽引ビームの方向と一致していない。すなわち、カーソル308は、柄304の方向311を示す直線上に表示されるが、これは、マジックハンド302の牽引ビームの上ではない。
 画面501への表示される画像は、投影面307へ投影されるオブジェクトの姿を示すものである。カーソル308の投影面307内における位置は、柄304から柄304の姿勢の方向311に伸びる半直線が投影面307に交叉する点の位置、とすれば良い。これによって、プレイヤは、画面を見るだけで、マジックハンド302の柄304の方向を適切に理解することができるようになる。
 なお、マジックハンド302がオブジェクト303を掴んでいる状態では、柄304の方向311は牽引ビームの方向と一致している。カーソル308は、マジックハンド302の牽引ビームの上に表示されることになる。。
 また、カーソル308が表示される実施形態では、マジックハンド302の操作手法に以下のような変形を適用することができる。すなわち、B-ボタン205を押していない間は、マジックハンド302の牽引ビームは射出されず、柄304の位置や姿勢が変化すると、画面501内におけるカーソル308の表示位置が変化する。
 本実施形態では、カーソル308の表示位置は、マジックハンド302の柄304の姿勢の方向311と投影面307とが交わる位置である。しかし、「マジックハンド302の柄304の姿勢の方向311が初めて衝突する他のオブジェクト303の表面の位置」と、視点305とを通過する直線が、投影面307と交わる位置でも良い。この場合、ちょうどレーザーポインタで部屋の中の物体を指し示しているような操作感を得ることができる。
 プレイヤがB-ボタン205を押圧操作すると、マジックハンド302の柄304の射出口から牽引ビームが発射され、牽引ビームが初めて衝突したオブジェクト303が移動可能であれば、これを吸着する。カーソル308の表示位置として、レーザポインタで物体を指し示すような態様を採用しているときは、当該カーソル308が重なって表示されるオブジェクト303が吸着されるオブジェクト303となり、プレイヤにとってもわかりやすい。なお、吸着したオブジェクト303の移動は、上記の説明と同様である。
 B-ボタン205を押圧操作し続ける操作がプレイヤにとって面倒な場合もある。このような場合には、プレイヤがB-ボタン205を押圧操作して離すと牽引ビームが発射されて吸着し、所望の位置までオブジェクト303を移動した後もう一度プレイヤがB-ボタン205を押圧操作して離すとマジックハンド302の牽引ビームを消去してオブジェクト303が解放される、というような形態を採用することもできる。
 「指示入力の受付の開始」が「B-ボタン205の押圧操作の開始」に、「指示入力の受付の終了」が「B-ボタン205の押圧操作の終了」に、それぞれ対応する。もしくは、「指示入力の受付の開始」が「牽引ビームが射出されていない状態でB-ボタン205を押圧して離す操作」に、「指示入力の受付の終了」が「牽引ビームが射出されている状態でB-ボタン205の押圧して離す操作」に、それぞれ対応する。
 いずれの操作体系を採用するかは、プレイヤの習熟度やゲームの種類によって適宜変更が可能である。また、指示入力を発するボタンの割り当てなどについては、B-ボタン205ではなく、A-ボタン204を採用する等、用途に応じて適宜変更が可能である。
(視点の位置の移動)
 以上の説明では、視点305の位置は変化しない。しかし、視点305に対して相対的にマジックハンド302の柄304の位置を変化させるだけでは、オブジェクト303を所望の位置に移動させることができない場合がある。このような場合、プレイヤが十字形キー203を操作して、視点305そのものを仮想空間内で移動させる、という手法もありうる。ただし、本ゲームにおいては、プレイヤにとってもっと直観的な移動の手法を採用する。
 図6は、マジックハンドの柄304の位置と、視点305の移動の方向との関係を説明する説明図である。以下、本図を参照して説明する。
 ゲームの開始時に、仮想空間301内において、視点305および視線306に対して相対的に、マジックハンド302の柄304の基準位置313が定められる。
 この後、プレイヤが把持モジュール201の位置を変化させると、マジックハンド302の柄304の位置も変化する。
 そこで、現在の柄304の位置の位置ベクトルから、基準位置313の位置ベクトルを減算したベクトル314の方向に、視点を移動させるのである。
 ベクトル314(もしくはこれに定数を乗じたベクトル。)を、視点305の移動速度の速度ベクトルとし、所定の単位時間に当該速度ベクトルを乗じた量だけ、視点305を移動させる。
 また、仮想空間301内に所定の平面(典型的には、仮想空間301内における「地面」に相当するものであるが、これには限られない。)を想定し、ベクトル314(もしくはこれに定数を乗じたベクトル。)の当該所定平面と平行な方向の成分を、移動速度の速度ベクトルとしもよい。
 このほか、視点305を含むキャラクターに加わる外力のベクトル、もしくは、加速度ベクトル(これらの場合も、地面に平行な成分のみを考えるのが典型的である。)と考えて、視点305そのものの移動をシミュレートすることもできる。
 テレビジョン装置291を見ているプレイヤが、把持モジュール201を後に(背中の方向に)移動させると、仮想空間301内の視点305を持つキャラクターは、後ろ向きに移動する。オブジェクト303を掴んでいるマジックハンド302は幾分伸び、一般的には、視点305を持つキャラクターに向かう引力がオブジェクト303に加わり、オブジェクト303も画面奥から手前に向かって移動する。
 プレイヤが、把持モジュール201を前に(テレビジョン装置291に近付くように)移動させると、仮想空間301内の視点305を持つキャラクターは、前進する。すると、オブジェクト303を掴んでいるマジックハンド302は幾分縮み、一般的には、視点305を持つキャラクターから離れようとする反発力がオブジェクト303に加わり、オブジェクト303も画面手前から奥に向かって進む。
 もっとも、オブジェクト303とマジックハンド302との間の柄304の間の伸び縮みによる牽引力・反発力は、必ずしも想定する必要はない。マジックハンド302そのものの長さを変化させるような指示入力をA-ボタン204や各種ボタン206によってプレイヤが行っても良い。
 上記の形態によって、
 (1)仮想空間301内において、視点305を有するキャラクターを前後に移動させること
 (2)仮想空間301内において、視点305および視線306に対して、マジックハンド302の柄304の相対的な位置および姿勢を変化させること
 (3)仮想空間301内において、柄304から伸びる可撓性のマジックハンド302の先端でオブジェクト303を掴んだり、離したりすること
が可能となる。これらの機能によって、オブジェクト303を仮想空間301内である位置から別の位置へ移動させることができる。
 以下では、本発明の原理にしたがって、これらの機能にさらに加えるべき、新たな機能について、順に説明する。
(視線の方向の制御)
 上記の形態において、プレイヤが、キャラクターの向き、すなわち、視線306の方向を変更したい、と考える場合も多い。把持モジュール201を現実空間で前後に移動させるだけで、キャラクターを前後に移動させることができるので、これと同様の容易な操作で、十字形キー203などを使わずに視線方向を変化させられることが望ましい
 本実施形態においては、カーソル308を画面501に表示することで、柄304の姿勢が示されている。このカーソル308の画面501内における位置は、プレイヤが把持モジュール201の姿勢を変更するだけで容易に変更することができる。そこで、CPU 101は、画面501内に表示されるカーソル308の位置に基づいて、キャラクターの向き、すなわち、視線306の方向を変更する。
 図5に示すように、画面501は、上縁部511、右縁部512、左縁部513、下縁部514、中央部515の5つの領域に分割されている。プレイヤは、以下のように把持モジュール201の姿勢を変化させることで、視線306の方向の移動を指示する。
 (a)視線306を上に移動したいときには、プレイヤは、カーソル308が上縁部511に表示されるように、把持モジュール201の姿勢を変更する。
 (b)視線306を右に移動したいときには、プレイヤは、カーソル308が右縁部512に表示されるように、把持モジュール201の姿勢を変更する。
 (c)視線306を左に移動したいときには、プレイヤは、カーソル308が左縁部513に表示されるように、把持モジュール201の姿勢を変更する。
 (d)視線306を下に移動したいときには、プレイヤは、カーソル308が下縁部514に表示されるように、把持モジュール201の姿勢を変更する。
 (e)視線306の方向が所望の方向となったら、プレイヤは、カーソル308が中央部515に表示されるように、把持モジュール201の姿勢を変更する。
 すなわち、指示標識(カーソル308)が、画面501内の所定の表示領域(上縁部511、右縁部512、左縁部513、下縁部514)に表示されている間、CPU 101は、当該表示領域のそれぞれに対応付けられる上右左下の方向に、視線306の方向を移動させる。指示標識(カーソル308)が画面501内の所定の表示領域以外の領域(中央部515)に表示されると、CPU 101は、視線306の方向の移動を停止する。
 CPU 101は、単位時間おき(たとえば、垂直同期割り込みの周期ごと。)にカーソル308の位置が画面501内のどの領域に含まれるかを識別する。そして、必要があれば、CPU 101は、当該領域に割り当てられた移動量と方向に、視線306の方向を変化させる。
 以上の処理によって視線306の方向が変化した後、CPU 101は、仮想空間内におけるマジックハンド302の柄304の姿勢311の方向を、画面501内でのカーソル308の表示位置が変化しないように、更新することが望ましい。
 図7A~図7Cは、視線306の方向の向きを移動させる処理を説明するための図である。
 (1)まず、CPU 101は、視線306の方向を変化させる前に、視点305および視線306に対する相対的なマジックハンド302の柄304の位置および姿勢を取得する(図7A)。
 (2)次に、CPU 101は、視点305を中心に視線306の方向を変化させて、キャラクターの向きを変える(図7B)。)
 (3)そして、CPU 101は、変化された後の視点305と視線306に対応するマジックハンド302の柄304の位置および姿勢を、(1)で取得した位置および姿勢に更新する(図7C)。マジックハンド302の柄304の位置および姿勢は、仮想空間301に対して変化する。
 視線306の方向の移動の前後において、視点305と視線306に対するマジックハンド302の柄304の位置および姿勢は同じ値に維持される。
 例えば、プレイヤは、キャラクターを右に向けたい場合、カーソル308が右縁部512に移動するように、把持モジュール201の姿勢を変更すればよい。
 視線306の方向が右に移動し始め、把持モジュール201の姿勢をそのまま固定すると、キャラクターの向き(視線306の方向)が更新される。キャラクターの向きが右に少しずつ変わっていっても、カーソル308が画面501内のカーソル308の表示位置は変わらない。
 キャラクターの向き(視線306の方向)が所望の向きに至ったら、プレイヤはカーソル308を画面501の中央部515に戻すように把持モジュール201の姿勢を変更すれば良い。このような極めて直観的な操作で、容易にキャラクターの向きを変更することができるようになる。
 上縁部511、右縁部512、左縁部513、下縁部514のそれぞれの幅や、単位時間あたりの視線306の方向の単位時間あたりの移動量は、適用分野やプレイヤの習熟度によって適宜変更することができる。また、CPU 101は、単位時間あたりの移動量を、中央部515に近いところでは小さく、画面501の縁に近付けば近づくほど大きくしても良い。
 また、プレイヤ(視線306の方向)が上又は下を向くときには、適当な上限や下限を設けるとよい。上限もしくは下限に至ったら、それ以上の視線306の方向の変更はしないこととしても良い。また、視線306を変化させることができるのは左右のみに限定する、など、種々の制約を課すこともできる。
 画面501の縁の分割方法は本発明によって限定されない。例えば、画面501の中央から扇形に広がるように領域を分割し、画面中央から見た方向の単位時間あたりの移動量を各領域に割り当て、斜め方向への移動も可能としても良い。
 次に、本実施形態に係るゲーム装置800の機能的な構成について説明する。
 図8は、ゲーム装置800の機能的な構成を表す図である。ゲーム装置800は、記憶部801、入力受付部802、生成部803、表示部804、距離計算部805、移動計算部806、補正部807、更新部808を備える。
 図9Aは、モニターに表示される画面501の例である。画面501には、上記オブジェクトとして、マジックハンド302が掴んでいるオブジェクト901のほかに、オブジェクト902A,902B,902Cが表示されている。
 図9Bは、図9Aに示す画面501が表示されている状況における仮想空間301を表す図である。
 記憶部801は、オブジェクト情報851、視点情報852、視線情報853、カーソル情報854、注目領域情報855を記憶する。CPU 101とRAM 103が協働して記憶部801として機能する。RAM 103の代わりに外部メモリ106を用いてもよい。
 オブジェクト情報851は、仮想空間301に配置されるオブジェクト303の位置を示す情報である。仮想空間301に複数のオブジェクト303が配置される場合、記憶部801にはそれぞれのオブジェクト303の位置を示す情報がオブジェクト情報851として記憶される。仮想空間301にはデカルト座標系又は極座標系を用いたグローバル座標系が定義されている。位置はグローバル座標系における座標値を用いて表される。例えばマジックハンド302がオブジェクト303を掴んでいる状態でマジックハンド302を移動すると、CPU 101は、オブジェクト303の位置の変化量を計算する。そして、CPU 101は、計算された変化量だけオブジェクト303の位置を変化させ、オブジェクト情報851を更新する。
 視点情報852は、仮想空間301に配置される視点305の位置を示す情報であり、グローバル座標系における座標値を用いて表される。CPU 101は、現実空間における把持モジュール201の位置の変化に応じて視点305の位置の変化量を計算する。そして、CPU 101は、計算された変化量だけ視点305の位置を変化させ、視点情報852を更新する。
 視線情報853は、仮想空間301に配置される視線306の向きを示す情報であり、グローバル座標系における方向ベクトルで表される。CPU 101は、現実空間における把持モジュール201の姿勢の変化に応じて視線306の向きの変化量を計算する。そして、CPU 101は、計算された変化量だけ視線306の向きを変化させ、視線情報853を更新する。
 本実施形態では、視点305の位置と視線306の向きはいずれも可変である。しかし、視点305の位置を固定し視線306の向きのみ可変としてもよい。また、視線306の向きを固定し視点305の位置のみ可変としてもよい。
 カーソル情報854は、画面501内におけるカーソル308の位置を示す情報である。例えば、画面501の左上の隅を原点とし、右方向をX軸の正の向き、下方向をY軸の正の向きとする2次元座標系を定義する。カーソル308の画面501内における位置は、この2次元座標系における座標値として表される。CPU 101は、現実空間における把持モジュール201の位置や姿勢の変化に応じてカーソル308の位置の変化量を計算する。そして、CPU 101は、計算された変化量だけカーソル308の位置を変化させ、カーソル情報854を更新する。
 注目領域情報855は、画面501内に設定される注目領域960の位置を示す情報である。注目領域960は、ユーザからの指示入力などに基づいてCPU 101によりプレイヤの注目度が高いと推定され画面501内に設定される領域である。プレイヤの注目度が高いと推定される画面領域は、典型的には画面501の中央近くの一部領域である。しかし、プレイヤの注目度が高い画面領域の位置、大きさ、形状等は、ゲーム内容、ゲーム展開、オブジェクト303が存在する位置などによって変わるとが推測される。CPU 101は、ゲーム内容、ゲーム展開、オブジェクト303が存在する位置などによって、注目領域960の位置、大きさ、形状等を適宜変更することができる。画面501全体を注目領域960に設定することもできる。
 なお、本実施形態では、注目領域960を、画面501の中央点953を重心とする矩形に固定している。注目領域960の位置等を可変とする実施形態については後述する。
 入力受付部802は、把持モジュール201を操作するユーザからの様々な指示入力を受け付ける。例えば、入力受付部802は、視点305の位置や視線306の向きを移動する旨の移動指示入力や、任意のオブジェクト303を操作対象として選択する旨の選択指示入力や、オブジェクト303をマジックハンド302で掴んだり離したりする旨の操作指示入力などをプレイヤから受け付ける。そして、入力受付部802は、受け付けた指示入力に基づいて、記憶部801に記憶されている視点情報852、視線情報853、カーソル情報854を更新する。
 例えば、ユーザが把持モジュール201を操作して把持モジュール201の位置や姿勢を変えると、CPU 101は、把持モジュール201の位置や姿勢の変化に応じて視点305の位置の変化量及び/又は視線306の向きの変化量を計算する。そして、CPU 101は、計算された変化量だけ視点305の位置及び/又は視線306の向きを変化させ、視点情報852及び/又は視線情報853を更新する。CPU 101、RAM 103、コントローラ105が協働して入力受付部802として機能する。
 ただし、把持モジュール201のように手で(典型的には片手で)握るタイプの棒状の操作用機器ではなく、両手を添えて使うタイプの操作用機器(いわゆるゲームパッド)をユーザが用いる実施形態を採用することもできる。また、モニターの上に備え付けられているタッチパネルにタッチペンを接触させて各種操作を行うタイプの操作用機器をユーザが用いる実施形態を採用することもできる。
 生成部803は、仮想空間301に配置される投影面307に視点305の位置から視線306の向きへ仮想空間301を投影した画像を生成する。すなわち、画像処理部107は、CPU 101の制御により、視点305の位置から視線306の向きに仮想空間301を眺めた様子を表す画像を生成する。生成される画像には、視点305の位置あるいは視線306の向きによってはオブジェクト303を表す画像(投影画像)が含まれてもよい。
 本実施形態では、生成部803は、仮想空間301を表す画像に、把持モジュール201の位置と姿勢に基づいて定められるカーソル308を表す画像を重ねて描画する。プレイヤは、カーソル308の位置によって柄304の向き311を容易に認識することができる。ただし、生成部803は、カーソル308を表す画像を描画しなくてもよい。CPU 101とRAM 103と画像処理部107が協働して生成部803として機能する。
 なお、本実施形態では、投影面307は、柄304の向き311に対して垂直に配置されるものとする。
 表示部804は、生成部803によって生成された画像をモニターに表示する。すなわち、画像処理部107は、CPU 101の制御により、例えば図9Aに示すような画面501をモニターに表示する。図9Aでは、マジックハンド302が画面501に表示される仮想空間301の奥に向かって伸びており、オブジェクト901を掴んでいる。CPU 101とRAM 103と画像処理部107が協働して表示部804として機能する。
 距離計算部805は、注目領域960内に描画されているオブジェクト303の仮想空間301における位置と、視点305の仮想空間301における位置と、の距離L1を計算する。CPU 101とRAM 103と画像処理部107が協働して距離計算部805として機能する。
 移動計算部806は、入力受付部802がユーザから受け付けた移動指示入力等に基づいて、視点情報852に格納されている視点305の位置の単位時間あたりの移動方向と、単位時間あたりの移動距離を計算する。CPU 101とRAM 103が協働して移動計算部806として機能する。
 より詳細には、CPU 101は、移動方向と移動距離を次のように計算する。
 まず、CPU 101は、生成された画像を表示する画面501(又は生成された画像)の所定領域内にカーソル308が含まれるか否かを判別する。
 ここで、所定領域とは、画面501中の上縁部511、右縁部512、左縁部513、下縁部514のうちのいずれか1つ以上によって構成される領域である。
 プレイヤが把持モジュール201の位置や姿勢を変化させると、マジックハンド302の柄304の位置や姿勢も変化する。CPU 101は、把持モジュール201の位置や姿勢の変化に応じて柄304の位置の移動方向を求め、柄304の位置をベクトル951の方向へ移動する。CPU 101は、視点305の位置もベクトル951の方向へ移動する。
 CPU 101は、視点305(あるいは柄304)の移動方向を示すベクトル951の方向を、
(1)カーソル308が上縁部511にある場合、投影面307の上方向Y1、
(2)カーソル308が右縁部512にある場合、投影面307の右方向Y2、
(3)カーソル308が左縁部513にある場合、投影面307の左方向Y3、
(4)カーソル308が下縁部514にある場合、投影面307の下方向Y4、
とする。
 例えば図9Aでは、カーソル308は画面501の上縁部511の中に描画されており、CPU 101は、所定領域に設定している上縁部511内にカーソル308が含まれると判別する。CPU 101は、画面501の上方向Y1を移動方向とし、視点305の位置を変える。
 なお、把持モジュール201の代わりに上下左右を指定する各ボタンを備えるゲームパッドを用いる場合、CPU 101は、視点305(あるいは柄304)の移動方向を示すベクトル951の方向を、
(1)上ボタンが押された場合、投影面307の上方向Y1、
(2)右ボタンが押された場合、投影面307の右方向Y2、
(3)左ボタンが押された場合、投影面307の左方向Y3、
(4)下ボタンが押された場合、投影面307の下方向Y4、
とする。
 視点305の位置を移動すると、CPU 101は、投影面307内に設定される表示領域952の位置を移動する。投影面307に投影される画像全体のうち表示領域952に含まれる部分が、モニターに表示される画面501の画像となる。
 したがって、画面501内の画像は、
 カーソル308が上縁部511にある場合には投影面307の上方向Y1にスクロールし、
 カーソル308が右縁部512にある場合には投影面307の右方向Y2にスクロールし、
 カーソル308が左縁部513にある場合には投影面307の左方向Y3にスクロールし、
 カーソル308が下縁部514にある場合には投影面307の下方向Y4にスクロールする。
 なお、以下の説明では、投影面307内における表示領域952の位置を移動することを、「画面501をスクロールする」とも表現する。
 更にCPU 101は、視点305(あるいは柄304)の移動方向を示すベクトル951の長さ、すなわち視点305の位置の移動距離を、所定値ΔLfixに設定する。つまり、カーソル308が上縁部511,右縁部512,左縁部513,下縁部514のいずれかに含まれる場合、CPU 101は、視点305の位置の単位時間あたりの移動距離を所定値ΔLfixに設定する。視点305の位置を所定値ΔLfixだけ移動するということは、画面501を所定値ΔLfixで指定されるスクロール量だけスクロールし、スクロールの速さは変わらないことに相当する。
 ただし、CPU 101は、視点305の単位時間あたりの移動距離を固定値ではなく可変値にしてもよい。例えば、画面501の左上の隅を原点とし、右方向をX軸の正の向きとし、下方向をY軸の正の向きとする2次元座標系が定義される。CPU 101は、状況に応じて下記(1)~(4)の処理を行う。すなわち、
(1)カーソル308が上縁部511に含まれる場合、CPU 101は、カーソル308の画面501における位置のY座標値が小さいほど、言い換えればカーソル308が画面501の上にあるほど、視点305の位置の単位時間あたりの移動距離を大きくする。
(2)カーソル308が右縁部512に含まれる場合、CPU 101は、カーソル308の画面501における位置のX座標値が大きいほど、言い換えればカーソル308が画面501の右にあるほど、視点305の位置の単位時間あたりの移動距離を大きくする。
(3)カーソル308が左縁部513に含まれる場合、CPU 101は、カーソル308の画面501における位置のX座標値が小さいほど、言い換えればカーソル308が画面501の左にあるほど、視点305の位置の単位時間あたりの移動距離を大きくする。
(4)カーソル308が下縁部514に含まれる場合、CPU 101は、カーソル308の画面501における位置のY座標値が大きいほど、言い換えればカーソル308が画面501の下にあるほど、視点305の位置の単位時間あたりの移動距離を大きくする。
 画面501のスクロールの速さは一定でなく、変化する。
 本実施形態では、画面501のスクロール方向を上下左右の4方向としている。しかし、これらの4方向に限らず任意の方向にスクロールさせてもよい。例えば、CPU 101は、カーソル308の位置の変化量を画面501の左右方向成分と上下方向成分とに分解し、左右方向にはカーソル308の位置の変化量の左右方向成分に相当する量だけスクロールさせ、上下方向にはカーソル308の位置の変化量の上下方向成分に相当する量だけスクロールさせることもできる。
 補正部807は、移動計算部806により計算された移動距離を、距離計算部805により求められた距離L1に基づいて補正する。このとき補正部807は、補正後の移動距離ΔLが、距離計算部805により求められた距離L1に対して単調減少するように補正する。CPU 101とRAM 103が協働して補正部807として機能する。
 より詳細には、CPU 101は、視点305の位置の移動距離を次のように補正する。すなわち、CPU 101は、注目領域960内に配置されているオブジェクト303(図9Aではオブジェクト902A)の仮想空間301における位置と、視点305の仮想空間301における位置と、の距離L1が短いほど小さくなるように、視点305の位置の移動距離を補正する。つまり、補正によって得られる、視点305の位置の単位時間あたりの移動距離ΔLは、距離L1に対して単調減少する。
 例えば図10A~図10Dは、注目領域960内に配置されているオブジェクト303と視点305との距離L1と、補正後の視点305の位置の移動距離ΔLとの関係の例を示す図である。本実施形態のように移動計算部806によって計算される移動距離が所定値ΔLfixに固定される場合、補正部807が視点305の位置を補正するための補正関数の形状は、図10A~図10Dに示す関数によって表される。
 図10Aでは、CPU 101は、視点305の位置の移動距離ΔLを、距離L1に比例して増加させる。ある距離(図示せず)で移動距離ΔLを最大値ΔLmaxにすると、それ以上の距離では移動距離ΔLを最大値ΔLmaxで一定とする。
 図10Bでは、CPU 101は、距離L1が長くなるほど移動距離ΔLの増加率を小さくする。移動距離ΔLは最終的に最大値ΔLmaxに収束する。
 図10Cでは、CPU 101は、移動距離ΔLの増加率を変化させる。増加率は0以上の実数である。
 図10Dでは、CPU 101は、階段関数を用いて移動距離ΔLを変化させる。全体として、距離L1が増加するにしたがって移動距離ΔLを大きくする傾向にあればよく、移動距離ΔLが一定となる区間(増加率がゼロとなる区間)があってもよい。
 CPU 101は、図10A~図10Dに示されるいずれの関数を用いてもよいし、これらの関数を組み合わせてもよい。また、距離L1が短いほど移動距離ΔLを小さくする関係を満たすのであれば、自由に関数を定めることができる。
 以上のように求められた単位時間あたりの移動方向、及び、単位時間あたりの移動距離ΔLが、それぞれ、視点305の位置を単位時間あたりに移動する方向、及び、単位時間あたりに移動する距離となる。CPU 101は、単位時間あたり、計算された移動方向に、補正された移動距離だけ、視点305の位置を移動する。
 もし、単位時間あたりの移動距離を固定値ΔLfixに固定して補正部807が補正しないと仮定すると、スクロールの際、画面501は常に一定のスピードでスクロールすることになる。しかし、本実施形態によれば、画面501の注目領域960内に配置されているオブジェクト303が視点305から遠くにあればあるほど、視点305の位置の単位時間あたりの移動距離ΔLは大きくなり、画面501は大きく(速く)スクロールすることとなる。逆に画面501の注目領域960内に配置されているオブジェクト303が視点305から近くにあればあるほど、視点305の位置の単位時間あたりの移動距離ΔLは小さくなり、画面501は小さく(遅く)スクロールすることとなる。
 一般に、プレイヤは画面501の真ん中付近をより頻繁に見ながらゲームをプレイすることが多いと推測される。また、画面501に複数のオブジェクト303が存在する場合、真ん中付近に配置されているオブジェクト303ほどプレイヤの注目度は高いと推測される。そのため、注目領域960の位置を画面501の真ん中付近に固定する手法を採用することができる。なお、注目領域960の位置を可変とすることもできるが詳細については後述する。
 また、オブジェクト303が視点305の近くにあるほど、言い換えれば画面501に大きく映っているほど、プレイヤの注目度は高いと推測される。つまり、画面501全体のプレイヤによる注目度の高さの分布に偏りが生じる可能性がある。このような注目度の高さの分布に偏りがある状態で、画面501を大きく(速く)スクロールさせてしまうと、プレイヤが画像の変化についていけなくなったり酔ってしまったりする恐れがあり、プレイヤにとって見づらい画像になってしまう。しかし、本実施形態のゲーム装置800は、画面501の注目領域960に、他と比べて視点305の近くに配置されるオブジェクト303が描画される状況では、画面501のスクロール量を減らし、少しずつスクロールさせる。したがって、プレイヤにとって画面501の見やすさを向上することができる。また、視点305の移動によるスクロール処理が頻繁に発生してしまわないようにすることができ、スクロール処理によるゲーム装置800への負荷を減らすことができる。
 更新部808は、単位時間あたり、計算された移動方向に、補正された移動距離ΔLだけ、視点305の位置を移動するように、視点情報852を更新する。CPU 101とRAM 103が協働して更新部808として機能する。
 ところで、CPU 101は、視点305の位置を変えるのではなく、視線306の向きを変えることもできる。
 つまり、移動計算部806は、入力受付部802がユーザから受け付けた移動指示入力等に基づいて、視線情報853に格納されている視線306の向きの回転方向と、単位時間あたりの回転角度を求めてもよい。また、補正部807は、補正後の回転角度が、距離計算部805によって計算された距離L1に対して単調減少するように、視線306の向きの回転角度を補正してもよい。そして、更新部808は、単位時間あたり、視線306の向きを、求められた回転方向に、補正された回転角度だけ移動して、視線情報853を更新してもよい。
 図11Aは、モニターに表示される画面501の例である。
 図11Bは、図11Aに示す画面501が表示されている状況における仮想空間301を表す図である。
 プレイヤが把持モジュール201の位置や姿勢を変化させると、マジックハンド302の柄304の位置や姿勢も変化する。CPU 101は、把持モジュール201の位置や姿勢の変化に応じて柄304の向きの回転方向を求め、柄304の向きを角度1101の向きへ移動(回転)する。CPU 101は、視線306の向きも角度1101の方向へ移動(回転)する。
 CPU 101は、視線306(あるいは柄304)の向きを、
(1)カーソル308が上縁部511にある場合、投影面307の上方向Y1、
(2)カーソル308が右縁部512にある場合、投影面307の右方向Y2、
(3)カーソル308が左縁部513にある場合、投影面307の左方向Y3、
(4)カーソル308が下縁部514にある場合、投影面307の下方向Y4、
に移動する。
 例えば図11Aでは、カーソル308は画面501の上縁部511の中に描画されている。CPU 101は、所定領域つまり上縁部511内にカーソル308が含まれると判別する。CPU 101は、画面501の上方向Y1を移動方向として、視線306の向きを変える。
 視線306の向きを移動すると、CPU 101は、投影面307の向きを移動する。例えば視点305の位置を変えずに視線306の向きを変えることとすると、画面501内の画像は、
 カーソル308が上縁部511にある場合には投影面307の上方向Y1に見上げるようにスクロールし、
 カーソル308が右縁部512にある場合には投影面307の右方向Y2に(右横に)振り向くようにスクロールし、
 カーソル308が左縁部513にある場合には投影面307の左方向Y3に(左横に)振り向くようにスクロールし、
 カーソル308が下縁部514にある場合には投影面307の下方向Y4に見下げるようにスクロールする。
 更にCPU 101は、視線306(あるいは柄304)の回転方向を示すベクトル1101の長さ、すなわち視線306の向きの単位時間あたりの回転角度を、所定値ΔDfixに設定する。つまり、カーソル308が上縁部511,右縁部512,左縁部513,下縁部514のいずれかに含まれる場合、CPU 101は、視線306の向きの単位時間あたりの回転角度を所定値ΔDfixに設定する。
 ただし、CPU 101は、視線306の回転角度を固定値ではなく可変値にしてもよい。例えば、画面501の左上の隅を原点とし、右方向をX軸の正の向き、下方向をY軸の正の向きとする2次元座標系が定義される。CPU 101は、状況に応じて下記(1)~(4)の処理を行う。すなわち、
(1)カーソル308が上縁部511に含まれる場合、CPU 101は、カーソル308の画面501における位置のY座標値が小さいほど、言い換えればカーソル308が画面501の上にあるほど、視線306の向きの単位時間あたりの回転角度を大きくする。
(2)カーソル308が右縁部512に含まれる場合、CPU 101は、カーソル308の画面501における位置のX座標値が大きいほど、言い換えればカーソル308が画面501の右にあるほど、視線306の向きの単位時間あたりの回転角度を大きくする。
(3)カーソル308が左縁部513に含まれる場合、CPU 101は、カーソル308の画面501における位置のX座標値が小さいほど、言い換えればカーソル308が画面501の左にあるほど、視線306の向きの単位時間あたりの回転角度を大きくする。
(4)カーソル308が下縁部514に含まれる場合、CPU 101は、カーソル308の画面501における位置のY座標値が大きいほど、言い換えればカーソル308が画面501の下にあるほど、視線306の向きの単位時間あたりの回転角度を大きくする。
 画面501のスクロールの速さは一定ではなく、変化する。
 補正部807は、移動計算部806により計算された回転角度を、距離計算部805により求められた距離L1に基づいて補正する。このとき補正部807は、補正後の回転角度ΔDが、距離計算部805により求められた距離L1に対して単調減少するように補正する。
 なお、CPU 101は、図10A~図10Dに示される関数のいずれかにおいて、位置の移動距離ΔLを回転角度ΔDに置き換えた関数を用いてもよいし、これらの関数の組み合わせでもよい。また、距離L1が短いほど回転角度ΔDが小さくなる関係を満たすのであれば、自由に関数を定めることができる。
 以上のように求められた回転方向、及び、単位時間あたりの回転角度ΔDが、それぞれ、視線306の向きを単位時間あたりに移動する向き、及び、単位時間あたりに移動する角度となる。CPU 101は、単位時間あたり、計算された回転方向に、補正された回転角度だけ、視線306の向きを移動する。
 更新部808は、単位時間あたり、計算された回転方向に、補正された回転角度ΔDだけ、視線306の向きを移動するように、視線情報853を更新する。
 視点305の位置を変える場合と同様、視線306の向きを変える場合においても、画面501の注目領域960内に配置されているオブジェクト303が視点305から遠くにあればあるほど、視線306の向きの回転角度ΔDは大きくなり、画面501は大きくスクロールすることとなる。逆に画面501の注目領域960内に配置されているオブジェクト303が視点305から近くにあればあるほど、視線306の向きの回転角度ΔDは小さくなり、画面501は少しずつスクロールすることとなる。
 なお、視点305の位置と視線306の向きのうち、どちらか一方のみを移動する実施形態を採用してもよいし、両方とも移動する実施形態を採用してもよい。
 次に、ゲーム装置200の上記各部が実行する画像表示処理について、図12のフローチャートを用いて説明する。
 なお、本実施形態では、注目領域960の形状を矩形とし、画面501の中央の位置に固定している。
 まず、CPU 101は、把持モジュール201の現実空間における位置と姿勢を示す情報をコントローラ105から取得する(ステップS1201)。
 CPU 101は、ステップS1201で取得した把持モジュール201の位置と姿勢に基づいて柄304の位置と姿勢を求め、カーソル308の画面501内における位置を決定する(ステップS1202)。
 具体的には、CPU 101は、例えば、現実空間における把持モジュール201の位置と仮想空間301における柄304の位置とを1対1に対応させ、ステップS1201で取得した把持モジュール201の位置に対応する仮想空間301における位置を柄304の位置とする。また、ステップS1201で取得した把持モジュール201の姿勢を柄304の姿勢とする。そして、CPU 101は、柄304の向きを示す直線311と投影面307との交点の位置を、カーソル308の位置とする。
 CPU 101は、ステップS1202で決定された位置をカーソル308の新たな位置として、カーソル情報854を更新する。
 CPU 101は、ステップS1202で決定したカーソル308の位置が、画面501の所定領域内にあるか否かを判別する(ステップS1203)。
 例えば、上述の上縁部511、右縁部512、左縁部513、下縁部514のすべてを、所定領域とする。CPU 101は、カーソル308の位置が上縁部511、右縁部512、左縁部513、下縁部514のいずれかの中にある場合、カーソル308が所定領域内にあると判別し、それ以外の場合(つまりカーソル308が中央部515にある場合)、カーソル308が所定領域内にないと判別する。
 カーソル308が所定領域内にないと判別された場合(ステップS1203;NO)、後述のステップS1207に進む。一方、カーソル308が所定領域内にあると判別された場合(ステップS1203;YES)、CPU 101は、視点305の位置の移動方向と、単位時間あたりの移動距離を計算する。もしくは、CPU 101は、視線306の向きの回転方向と、単位時間あたりの回転角度を計算する(ステップS1204)。
 そして、CPU 101は、ステップS1204で計算された視点305の位置の移動距離を、距離L1が短いほど補正後の移動距離ΔLが小さくなるように、補正する。もしくは、CPU 101は、ステップS1204で計算された視線306の向きの回転角度を、距離L1が短いほど補正後の回転角度ΔDが小さくなるように、補正する(ステップS1205)。
 例えば図9Aにおいて、CPU 101は、画面501に表示されているオブジェクト901,902A,902B,902Cの中から、画面501の注目領域960内に配置されているオブジェクト(この場合オブジェクト902Aが該当する)を選択する。次に、CPU 101は、選択したオブジェクト902Aの位置と視点305の位置との距離L1を計算する。そして、CPU 101は、計算した距離L1が短いほど、補正後の移動距離ΔL(又は回転角度ΔD)が小さくなるように、移動距離ΔL(又は回転角度ΔD)を補正する。
 そして、CPU 101は、単位時間あたり、ステップS1204で計算された移動方向に、ステップS1205で補正した移動距離ΔLだけ、視点305の位置を移動する。もしくは、CPU 101は、単位時間あたり、ステップS1204で計算された回転方向に、ステップS1205で補正した回転角度ΔDだけ、視線306の向きを移動する(ステップS1206)。
 CPU 101は、移動後の新たな視点305の位置を視点情報852に格納する。もしくは、CPU 101は、移動後の新たな視線306の向きを視線情報853に格納する。
 CPU 101は、視点305の位置から視線306の向きに仮想空間301を投影面307に投影した画像を生成する(ステップS1207)。
 本実施形態では、CPU 101は、カーソル情報854に格納されているカーソル308の位置にカーソル308を表す所定画像を画像処理部107に描画させる。ただし、カーソル情報854をRAM 103に記憶するものの、カーソル308を表す画像を描画しないこととしてもよい。
 そして、CPU 101は、ステップS1207で生成された画像を、画像処理部107にモニターへ表示させる(ステップS1208)。
 一般に、プレイヤが画面501内の特定部分を注視している状況で画面501を大きくスクロールさせると、プレイヤにとってとても見づらい画像になってしまったり酔いやすくなってしまったりする恐れがある。
 例えば、画面501の真ん中付近ほどプレイヤの注目度が高い傾向があると推定できる。一方で、視点305の近くにあるものほどプレイヤの注目度が高い傾向があるとも推定できる。
 そこで、本実施形態では、CPU 101は、オブジェクト303が画面501の真ん中付近に描画され、且つ、視点305の近くに配置されているのであれば、画面501の真ん中付近をプレイヤが注視していると推定し、スクロール量を抑える。
 したがって、画面501のスクロールが速すぎて画像が全体として見えづらくなってしまわないようにすることができ、プレイヤにとって画面501の見やすさを向上することができる。例えば、画面が頻繁にスクロールすることによってプレイヤが酔ってしまうようなことがないようにすることができる。更に、視点305の移動によるスクロール処理が頻繁に発生してしまわないようにすることができ、スクロール処理によるゲーム装置800への負荷を減らすことができる。
 本実施形態では、所定領域として上縁部511、右縁部512、左縁部513、下縁部514のすべてを用いているが、これらのうちの1つ、あるいは2つ以上の組み合わせでもよい。例えば、画面501がプレイヤから見て上下方向(縦方向)にしかスクロールしないゲームでは、所定領域として上縁部511と下縁部514の2つだけを用いればよい。また例えば、画面501がプレイヤから見て左右方向(横方向)にしかスクロールしないゲームでは、所定領域として右縁部512と左縁部513の2つだけを用いればよい。
 本実施形態では、所定領域と注目領域960を別々に定義しているが、所定領域である中央部515を注目領域960として用いてもよい。
 また、所定領域の形状は矩形に限定されるわけではなく、円、楕円、多角形など、任意の図形にしてもよい。
 本実施形態では、画面501の真ん中付近の一部領域を注目領域960としているが、画面501全体を注目領域960としてもよい。例えば画面501中にオブジェクト303が1つしかない場合には、画面501中、オブジェクト303が表示されている部分のプレイヤによる注目度が相対的に高いと推定できるので、スクロール量を抑えることによって、画面501の見やすさを向上することができる。
 なお、CPU 101は、単位時間あたりの方向と距離の変化量を計算しているので、画面を速くスクロールしたり遅くスクロールしたりして、スクロールのスピードを変えている。しかし、スピードではなく絶対的なスクロール量を多くしたり少なくしたりしてもよい。すなわち、CPU 101は、“単位時間あたりの”移動方向と移動距離(又は回転方向と回転角度)の代わりに、最終的にスクロールすることになる“トータルの”移動方向と移動距離(又は回転方向と回転角度)を計算してもよい。この場合、上記説明において、“単位時間あたりの”移動方向と移動距離(又は回転方向と回転角度)を、“トータルの”移動方向と移動距離(又は回転方向と回転角度)に読み替えればよい。
(実施形態2)
 次に、本発明のその他の実施形態について説明する。上述の実施形態では、画面501の注目領域960内に存在するオブジェクト303の仮想空間301における位置を用いてスクロール量を補正している。しかし、注目領域960内には複数のオブジェクト303が存在する場合もある。本実施形態では、画面501の注目領域960内に複数のオブジェクト303が描画されている場合を想定している。
 視点305とオブジェクト303の間の距離が短いということは、オブジェクト303の投影面307への投影画像がより大きく描画されるということである。言い換えると、画面501に大きく描画されるほどオブジェクト303は視点305の近くにある傾向にある。上述の実施形態では、視点305の近くにあるものほど注目度が高いことを前提としている。しかし、オブジェクト303が視点305の近くにあるのか遠くにあるのか、画面501のどこを注視するか、といったプレイヤの判断は、そのオブジェクト303だけでなく、その周囲の状況(例えば近くにどのような他のオブジェクトがあるのか等)を加味してなされることが多いと予想される。そこで本実施形態では、複数のオブジェクト303が画面501に描画されている場合、視点305から見たそれらの前後関係(奥行き)も考慮される。
 図13Aは、モニターに表示される画面501の例である。画面501には、オブジェクト303として、マジックハンド302が掴んでいるオブジェクト901のほかに、オブジェクト902A,902B,902C、及び、オブジェクト902Aの背景に配置されるオブジェクト1301が表示されている。
 図13Bは、図13Aに示す画面501が表示されている状況における仮想空間301を表す図である。
 ここで、「あるオブジェクト(OBJ1)が他のオブジェクト(OBJ2)の背景に配置される」とは、仮に視線306の向きを正方向とする直線(1次元)座標系を定義したとき、OBJ1の座標値がOBJ2の座標値より大きく、且つ、OBJ1が描画される画面領域とOBJ2が描画される画面領域とに重なる部分が存在すること、を意味する。なお、オブジェクトOBJ1のことを「背景オブジェクト」と呼ぶことにする。オブジェクトOBJ2の背景に配置されるオブジェクトが複数存在する場合には、オブジェクトOBJ2の最も近くにあるものを背景オブジェクトとする。
 仮想空間301に複数のオブジェクト303が存在し、視点305の位置あるいは視線306の向きが可変であるとすると、すべてのオブジェクト303が背景オブジェクトとなり得る。
 上述のステップS1204において、CPU 101は、画面501に表示されているオブジェクト901,902A,902B,902C,1301の中から、注目領域960の中心の最も近くに描画されているオブジェクト(この場合オブジェクト902Aが該当する)の背景オブジェクトを選択する。つまり図13Aの場合、CPU 101は、オブジェクト1301を背景オブジェクトとして選択する。そして、CPU 101は、視点305の位置の移動方向と移動距離を計算する。
 つまり、上述のステップS1205において、CPU 101は、選択したオブジェクト1301の位置と視点305の位置との距離L2を計算する。そして、CPU 101は、計算した距離L2が小さいほど移動距離ΔLが小さくなるように、移動距離ΔLを補正する。
 例えばCPU 101は、図10A~図10Dに示されるいずれかの関数において、距離L1を距離L2に置き換えた関数を用いてもよいし、これらの関数の組み合わせでもよい。また、距離L2が短いほど移動距離ΔLが小さくなる関係を満たすのであれば、自由に関数を定めることができる。
 本実施形態においても、視点305の位置を移動する代わりに、視線306の向きを移動してもよい。また、視点305の位置と視線306の向きの両方を変えてもよい。視線306の向きを変える場合、CPU 101は、図10A~図10Dに示されるいずれか関数において、距離L1を距離L2に置き換え、且つ、移動距離ΔLを回転角度ΔDに置き換えた関数を用いてもよいし、これらの関数の組み合わせでもよい。また、距離L2が短いほど回転角度ΔDが小さくなる関係を満たすのであれば、自由に関数を定めることができる。
 更に、CPU 101は、計算された移動方向に、補正された移動距離ΔLだけ、視点305の位置を変え(ステップS1206)、新たな視点305の位置を視点情報852に格納する。もしくは、CPU 101は、計算された回転方向に、補正された回転角度ΔDだけ、視線306の向きを変え、新たな視線306の向きを視線情報853に格納する。そして、CPU 101は、視点305の位置から視線306の向きに仮想空間301を投影面307に投影した画像を生成し(ステップS1207)、生成した画像をモニターへ表示させる(ステップS1208)。
 上述したように、プレイヤが画面501内の一部分を注視している状況で画面501を大きくスクロールさせると、プレイヤにとってとても見づらい画像になってしまう恐れがある。
 例えば、画面501にn個(n≧2)のオブジェクト(OBJ1,OBJ2,…,OBJn)が描画されており、それらのオブジェクトのうち画面501の真ん中付近に描画されている複数のオブジェクト(例えばOBJ1とOBJ2の2つ)がほかに比べて視点305の近くに配置されている場合、プレイヤによる画面501の真ん中付近に対する注目度が他の領域に比べて高いと推定できる。
 しかし、画面501の真ん中付近に描画されているオブジェクトのうち一方(OBJ1)は視点305の近くに配置され、もう一方(OBJ2)は視点305の遠くに配置されている場合、必ずしもプレイヤによる画面501の真ん中付近に対する注目度が他の領域に比べて高いとは言い切れない。プレイヤはOBJ1とOBJを注視しているか容易には推定できないためである。
 そこで、本実施形態では、一般にプレイヤによる注目度が比較的高いと推定される画面501の真ん中付近に映っているオブジェクト(OBJ1,OBJ2)のうち、背景に配置される方(背景オブジェクト)に注目し、背景オブジェクトが視点305の近くにあるほどスクロール量を抑えることとしている。つまり、背景オブジェクトが視点305の近くにあるということは、もう一方のオブジェクトはさらに視点305の近くにあるので、OBJ1,OBJ2が配置されている画面501の真ん中付近のプレイヤの注目度は比較的高いと推定できるため、スクロール量を抑えるのである。
 したがって、画面501のスクロールが速すぎて画像が全体として見えづらくなってしまわないようにすることができ、プレイヤにとって画面501の見やすさを向上することができる。例えば、画面が頻繁にスクロールすることによってプレイヤが酔ってしまうようなことがないようにすることができる。更に、視点305の移動によるスクロール処理が頻繁に発生してしまわないようにすることができ、スクロール処理によるゲーム装置200への負荷を減らすことができる。
(実施形態3)
 次に、本発明のその他の実施形態について説明する。本実施形態も、画面501の注目領域960内に複数のオブジェクト303が描画されている場合を想定している。
 図14Aは、モニターに表示される画面501の例である。
 図14Bは、図14Aに示す画面501が表示されている状況における仮想空間301を表す図である。
 本実施形態では、CPU 101は、注目領域960に複数のオブジェクト303が含まれる場合、それらが背景オブジェクトであるか否かに関わらず、視点305と、注目領域960に含まれる各々のオブジェクト303と、の距離をそれぞれ計算して、視点305の位置の移動距離(又は視線306の向きの回転角度)を補正する。
 CPU 101は、画面501の注目領域960内に配置されている各々のオブジェクト303の位置と、視点305の位置との距離をそれぞれ計算し、さらに各距離の平均値を計算する。
 例えば図14Aにおいて、CPU 101は、画面501に表示されているオブジェクト901,902A,902B,902Cの中から、画面501の注目領域960内に配置されているオブジェクト(この場合オブジェクト901と902Aの2つが該当する)を選択する。次に、CPU 101は、選択したオブジェクト901の位置と視点305の位置との距離L3と、選択したオブジェクト902Aの位置と視点305の位置との距離L4とを計算する。
 そして、CPU 101は、計算された平均値が小さいほど、補正後の移動距離ΔL(又は回転角度ΔD)が小さくなるように、移動距離ΔL(又は回転角度ΔD)を補正する。つまり、視点305と、注目領域960に含まれるオブジェクト303との平均距離が小さいほど、スクロール量を少なく抑える。
 あるいは、CPU 101は、画面501の注目領域960内に配置されている各々のオブジェクト303の位置と、視点305の位置との距離をそれぞれ計算し、各距離のうちの最大値が小さいほど、補正後の移動距離ΔL(又は回転角度ΔD)が小さくなるように、移動距離ΔL(又は回転角度ΔD)を補正してもよい。つまり、視点305と、注目領域960に含まれるオブジェクト303のうち最も視点305から遠いものとの距離が小さいほど、スクロール量を少なく抑えてもよい。
 あるいは、CPU 101は、画面501の注目領域960内に配置されている各々のオブジェクト303の位置と、視点305の位置との距離をそれぞれ計算し、各距離のうちの最小値が小さいほど、補正後の移動距離ΔL(又は回転角度ΔD)が小さくなるように、移動距離ΔL(又は回転角度ΔD)を補正してもよい。つまり、視点305と、注目領域960に含まれるオブジェクト303のうち最も視点305から近いものとの距離が小さいほど、スクロール量を少なく抑えてもよい。
 あるいは、CPU 101は、画面501の注目領域960内に配置されている各々のオブジェクト303の位置と、視点305の位置との距離をそれぞれ計算し、各距離の合計値が小さいほど、補正後の移動距離ΔL(又は回転角度ΔD)が小さくなるように、移動距離ΔL(又は回転角度ΔD)を補正してもよい。つまり、オブジェクト303が視点305の近くにある場合や、オブジェクト303が視点305から遠くにあったとしてもオブジェクト303の数が多い場合に、スクロール量を少なく抑えてもよい。
 本実施形態によれば、注目領域960内に含まれるそれぞれのオブジェクト303が視点305からどの程度近くにあるのか(遠くにあるのか)によってスクロール量を変える。そして、注目領域960内に含まれるそれぞれのオブジェクト303が、全体として近くにある傾向にあればスクロール量を少なく抑え、遠くにある傾向にあればスクロール量を増やす。したがって、画面501のスクロールが速すぎて画像が全体として見えづらくなってしまわないようにすることができ、プレイヤにとって画面501の見やすさを向上することができる。例えば、画面が頻繁にスクロールすることによってプレイヤが酔ってしまうようなことがない。更に、視点305の移動によるスクロール処理が頻繁に発生してしまわないようにすることができ、スクロール処理によるゲーム装置200への負荷を減らすことができる。
(実施形態4)
 次に、本発明のその他の実施形態について説明する。上記各実施形態では、注目領域960を画面501の中央に固定していたが、本実施形態では、注目領域960の位置を可変としている。
 図15Aは、モニターに表示される画面501の例である。
 図15Bは、図15Aに示す画面501が表示されている状況における仮想空間301を表す図である。
 距離計算部805は、プレイヤによって選択されたオブジェクト303の、生成部803により生成された画面501内における位置を中心として注目領域960を設定し、視点305の位置と注目領域960に含まれるオブジェクト303の位置との距離L5を計算する。
 より詳細には、CPU 101は、仮想空間301に配置されているオブジェクト303の中から、プレイヤによって選択されているオブジェクト303を選択する。ここで「プレイヤによって選択されているオブジェクト303」とは、例えばマジックハンド302が掴んでいる状態のオブジェクト303である。図15Aでは、オブジェクト901が選択される。
 そして、CPU 101は、視点305の仮想空間301における位置と、選択したオブジェクト303の仮想空間301における位置との距離L5を計算する。CPU 101が設定した注目領域960の中に複数のオブジェクト303が存在する場合、CPU 101は、視点305の位置と、注目領域960に含まれるそれぞれのオブジェクト303の位置との各距離の平均値、最大値、あるいは最小値に対して単調減少するように、移動距離ΔL(又は回転角度ΔD)を補正する。
 プレイヤは、把持モジュール201の位置や姿勢を変えることにより、マジックハンド302で掴んでいるオブジェクト303の位置、あるいは、カーソル308の位置を、自由に変えることができる。すなわち、プレイヤによって選択されているオブジェクト303の位置は可変である。
 プレイヤによって選択されているオブジェクト303の位置を移動する移動指示入力をプレイヤから受け付けると、CPU 101は、移動指示入力で指定された移動方向に、指定された移動距離だけ、オブジェクト303の位置を移動し、オブジェクト情報851を更新する。
 CPU 101は、プレイヤによって選択されているオブジェクト303の位置を移動すると、図16に示すように、注目領域960の位置も移動する。例えばCPU 101は、オブジェクト303の位置を移動するとともに、注目領域960の位置も直ちに移動する。つまり、注目領域960の位置は、プレイヤによって選択されているオブジェクト303の位置に固定されつつ動くことになる。
 あるいは、CPU 101は、プレイヤによって選択されているオブジェクト303の位置を移動すると、このオブジェクト303の移動を開始してから所定時間経った後、注目領域960の位置をオブジェクト303に追随するように移動してもよい。この場合、CPU 101は、オブジェクト303の位置の所定時間T1分の移動履歴をRAM 103等に一時記憶させておけばよい。移動履歴は、現在時刻から過去所定時間分のオブジェクト303の位置の履歴である。
 例えば図17Aは、オブジェクト303の移動開始前の状態の画面501を表す図である。CPU 101は、プレイヤによって選択されているオブジェクト901の移動を開始する。
 移動開始後、所定時間T2(ただしT2≦T1。典型的にはT2=T1。)が経過するまで、CPU 101は、図17Bに示すように注目領域960を移動しない。CPU 101は、オブジェクト303の位置を移動履歴としてRAM 103等に一時記憶する。
 所定時間T2が経過すると、CPU 101は、図17Cに示すように、オブジェクト901を移動した軌跡を辿るように、所定時間T2だけ遅れて注目領域960の位置を移動する。
 そして図17Dに示すように、最終的には注目領域960はオブジェクト901が移動を終了した位置になる。このようにCPU 101はオブジェクト303の移動履歴通りに注目領域を移動してもよい。
 あるいは、CPU 101は、オブジェクト303の移動履歴に何らかの演算を施して、注目領域960の移動経路を求めてもよい。例えば図18Aは、オブジェクト303の移動開始前の状態の画面501を表す図である。CPU 101は、プレイヤによって選択されているオブジェクト901の移動を開始する。移動開始後、所定時間T2(ただしT2≦T1。典型的にはT2=T1。)が経過するまで、CPU 101は、図18Bに示すように注目領域960を移動しない。所定時間T2が経過すると、CPU 101は、オブジェクト901の移動履歴を参照し、単位時間あたりの位置の変位が所定の閾値を超えないようにフィルタを施し、注目領域960の移動経路を求める。
 図19Aと図19Bは、オブジェクト303の移動経路(軌跡)と、注目領域960の移動経路(軌跡)を示す図である。
 図19Aでは、オブジェクト303の位置の変位(例えばX軸方向成分,Y軸方向成分の変位)のうち閾値Cthより変位が大きいところでは、注目領域960の位置の変位を閾値に抑えている。つまり、注目領域960の軌跡は、オブジェクト303の軌跡を、最大値がCthとなるローパスフィルタに通して得られるものである。注目領域960の軌跡は、オブジェクト303の軌跡の高周波成分を除去したものとも言える。オブジェクト303の位置が瞬時に大きく移動した場合でも、注目領域960の軌跡への影響は少なくなる。
 また、図19Bでは、オブジェクト303の位置の変位のうち閾値Cthより変位が大きいところで、注目領域960の位置の変位を閾値に抑え、且つ、おおよそ各点を通るような近似曲線を、注目領域960の軌跡としている。この近似として、例えばスプライン近似、最小自乗近似のような公知の近似手法を採用できる。注目領域960の軌跡は、オブジェクト303の軌跡をまるめた形状になる。
 また、図19Cでは、CPU 101は、オブジェクト303の軌跡における各点の変位の平均値を、注目領域960の軌跡の変位としている。注目領域960の軌跡は、直線的な形状になる。
 CPU 101は、図19A~図19Cに示すいずれの手法を用いて注目領域960の移動経路を求めてもよいし、組み合わせて用いてもよい。
 図18Bに戻り、CPU 101は、オブジェクト303の移動経路1810から、注目領域960の移動経路1820を求める。そして、CPU 101は、図18Cに示すように、求めた移動経路に沿って注目領域960を移動する。注目領域960の移動中、オブジェクト303は移動経路1830に沿って更に移動している。そのため、CPU 101は、同様にして注目領域960の移動経路1840を求め、注目領域960を移動する。そして図18Dに示すように、最終的には注目領域960はオブジェクト901が移動を終了した位置になる。
 本実施形態によれば、注目領域960の位置は、プレイヤによる把持モジュール201の操作に従って変わるので、プレイヤの注目度が高いと考えられる画面501内の領域を、より的確に推定し、スクロール量を抑えることができる。したがって、画面501のスクロールが速すぎて画像が全体として見えづらくなってしまわないように、プレイヤにとって画面501の見やすさを向上できる効果が増す。更に、スクロール処理が頻繁に発生してしまわないようにすることができ、スクロール処理によるゲーム装置800への負荷を減らすことができる。
 なお、CPU 101は、プレイヤによって選択されているオブジェクト303として、図20Aと図20Bに示すように、カーソル308の位置に配置されているオブジェクト303を選択してもよい。例えば、マジックハンド302がどのオブジェクト303も掴んでいない場合、カーソル308が当たったところにあるオブジェクト303が選択されているものとして扱ってもよい。そして、CPU 101は、視点305の仮想空間301における位置と、カーソル308の位置にあるオブジェクト303の仮想空間301における位置との距離L6を計算し、計算された距離に対して単調減少するように、移動距離ΔL(又は回転角度ΔD)を補正してもよい。
 また、プレイヤによるオブジェクト303の選択は、マジックハンド302で掴むことによって行われることに限られない。CPU 101は、いずれか1つ以上のオブジェクト303を選択する旨のユーザによる選択指示入力を受け付けて、選択指示入力が示すオブジェクト303を、プレイヤによって選択されているオブジェクト303とすることができる。
(実施形態5)
 次に、本発明のその他の実施形態について説明する。本発明は、上記のような3次元仮想空間にて実行されるゲームだけでなく、2次元仮想空間にて実行されるゲームにも適用可能である。以下詳述する。
 図21は、本実施形態のゲーム装置200の機能的な構成を示す図である。
 図22Aは、モニターに表示される画面501の例である。本実施形態では2次元の仮想空間を想定しているので、オブジェクト303は“平面のオブジェクト”(画像データ)である。本実施形態では、「オブジェクト」の代わりに「キャラクタ」と呼ぶこととする。画面501には、仮想空間301のうち表示領域952に含まれる画像がモニターに表示される。
 図22Bは、図22Aに示す画面501が表示されている状況における仮想空間301を表す図である。仮想空間301には、キャラクタとして、例えばプレイヤキャラクタ2210、その他のキャラクタ2220等が配置される。
 本実施形態においては、画面501には表示領域952に含まれる画像がモニターに表示されるのであって、上記各実施形態のように仮想空間301に1つの視点305と1つの視線306が存在するわけではない。しかし、以下に述べる画面501の拡縮(ズームイン、ズームアウト)を概念的に理解しやすくするため、“擬似的な”視点2250を用いて説明する。
 擬似的な視点2250から表示領域952に下ろした垂線と、表示領域952と、の交点は、表示領域952の中央点(重心)と常に一致する。
 本実施形態で扱うゲームでは、2次元仮想空間の一部分をズームイン(拡大)して表示したり全体をズームアウト(縮小)して表示したりすることができる。ズームインは擬似的な視点2250を表示領域952に近づけることに相当し、ズームアウトは擬似的な視点2250を表示領域952から遠ざけることに相当する。
 記憶部801は、キャラクタの位置を示すキャラクタ情報2101と、表示領域952の位置と大きさを示す表示領域情報2102、注目領域960の位置を示す注目領域情報2103を記憶する。CPU 101とRAM 103が協働して記憶部801として機能する。
 入力受付部802は、把持モジュール201(あるいはゲームパッドやタッチパネル)を操作するユーザからの様々な指示入力を受け付ける。例えば、入力受付部802は、視点305の位置を移動する旨の移動指示入力や、任意のオブジェクト303を操作対象として選択する旨の選択指示入力などをプレイヤから受け付ける。CPU 101、RAM 103、コントローラ105が協働して入力受付部802として機能する。
 注目領域960は、例えば、表示領域952の中央の位置に設定される。ただし、CPU 101は、上述の実施形態と同様に、選択指示入力が示すキャラクタの位置を中心とする位置に注目領域960を移動してもよい。
 生成部803は、表示領域952に含まれるキャラクタ等の画像を生成する。言い換えれば、生成部803は、仮想空間301を擬似的な視点2250の位置から見たキャラクタ等を表す画像を生成する。CPU 101とRAM 103と画像処理部107が協働して生成部803として機能する。
 表示部804は、生成部803によって生成された画像をモニターに表示する。CPU 101とRAM 103と画像処理部107が協働して表示部804として機能する。
 距離計算部805は、生成部803によって生成された画像内の注目領域960に描画されているキャラクタの位置と、擬似的な視点2250の位置と、の距離L7を求める。CPU 101とRAM 103と画像処理部107が協働して距離計算部805として機能する。
 注目領域960に複数のキャラクタが存在する場合、距離計算部805は、擬似的な視点2250と各々のキャラクタとの距離L7をそれぞれ求め、更にそれらの平均値、最大値、最小値、合計値等を求めてもよい。
 移動計算部806は、表示領域952の移動方向と移動距離を計算する。言い換えれば、移動計算部806は、擬似的な視点2250の移動方向と移動距離を計算する。CPU 101とRAM 103が協働して移動計算部806として機能する。
 補正部807は、移動計算部806により計算された移動距離を、距離計算部805により求められた距離L7に基づいて補正する。このとき補正部807は、補正後の移動距離が、距離L7に対して単調減少するように、移動距離を補正する。CPU 101とRAM 103が協働して補正部807として機能する。
 更新部808は、移動計算部806により計算された移動方向に、補正部807により補正された移動距離だけ、表示領域952の位置を移動するように、表示領域情報2102を更新する。CPU 101とRAM 103が協働して更新部808として機能する。
 次に、本実施形態の画像表示処理について、画面501をズームアウトする場合を例にとり説明する。なお、本実施形態では、ゲーム装置200は、ユーザからの指示入力に応じて、画面501の表示倍率を自由に変えることができるものとする。
 図23Aは、図22Aに示す画面501をズームアウトし、より広い範囲の仮想空間301をモニターに表示したときの画面501の例である。
 図23Bは、図23Aに示す画面501が表示されている状況における仮想空間301を表す図である。
 CPU 101は、画面501の表示倍率を変更する指示入力をユーザから受け付けると、表示領域952の大きさを拡大又は縮小する。同様に、注目領域960の大きさも拡大又は縮小する。
 この拡大又は縮小は、擬似的な視点2250を用いて説明すると、CPU 101が、視野角を一定にしたまま、擬似的な視点2250と仮想空間301との距離(擬似的な視点2250の高さ)を変えることに相当する。例えば、画面501をズームアウトする指示入力を受け付けた場合、CPU 101は、図23Aに示すように表示領域952を拡張する。したがって、一個一個のキャラクタは小さく描画されることになるものの、より広い範囲の仮想空間がモニターに表示されることになる。
 図24は、本実施形態の画像表示処理を説明するためのフローチャートである。
 まず、コントローラ105(あるいはゲームパッドやタッチパネルでも良い)は、プレイヤキャラクタ2210の位置を上下左右に移動させるための各操作ボタンによる指示入力をプレイヤから受け付ける(ステップS2401)。例えばCPU 101は、コントローラ105がプレイヤキャラクタ2210の位置を移動する旨の指示入力を受け付けると、プレイヤキャラクタ2210の位置を指定された方向に移動する。CPU 101は、プレイヤキャラクタ2210の位置の移動に際し、プレイヤキャラクタ2210が常に中央部515の中にあるようにする。
 CPU 101は、画面501をスクロールするか否かを判別する(ステップS2402)。
 例えばCPU 101は、プレイヤキャラクタ2210の位置が、中央部515を定義する矩形の4辺のいずれかまで達していない場合、プレイヤキャラクタ2210の位置を指示入力に従って移動する。この場合、CPU 101は画面501をスクロールしないと判別する。
 一方、プレイヤキャラクタ2210の位置が、中央部515を定義する矩形の4辺のいずれかまで達している場合、CPU 101は画面501をスクロールすると判別する。
 画面501をスクロールしないと判別された場合(ステップS2402;NO)、ステップS2401に戻る。一方、画面501をスクロールすると判別された場合(ステップS2402;YES)、CPU 101は、表示領域952の移動方向と単位時間あたりの移動距離を求める(ステップS2403)。
 例えば、プレイヤキャラクタ2210の位置が中央部515を定義する矩形の4辺のいずれかまで達していて、且つ、プレイヤキャラクタ2210の位置を更に中央部515の外側へ移動する指示入力があった場合、CPU 101は、指示入力が示す方向を表示領域952の移動方向とし、所定値を表示領域952の移動距離とする。
 CPU 101は、画面501の表示倍率を変えたか否かを判別する(ステップS2404)。
 表示倍率を変えていない場合(ステップS2404;NO)、ステップS2406に進む。一方、表示倍率を変えた場合(ステップS2404;YES)、CPU 101は、ステップS2403で求めた表示領域952の移動距離を補正する(ステップS2405)。
 具体的には、CPU 101は、擬似的な視点2250と仮想空間301との距離L7が短いほど小さくなるように、表示領域952の移動距離を補正する。つまり、補正後の移動距離は、距離L7に対して単調減少する。
 CPU 101は、ステップS2403で求めた移動方向に、ステップS2405で補正した移動距離だけ、表示領域952を移動する(ステップS2406)。
 そして、CPU 101は、表示領域952内の画像を画像処理部107にモニターへ表示させる(ステップS2407)。
 本実施形態によれば、画面501の表示倍率を変えない場合には、スクロール量も不変である。しかし、表示倍率を変えた場合には、キャラクタの位置が注目領域960の真ん中に近ければ近いほど、スクロール量が少なく抑えられる。したがって、画面501のスクロールが速すぎて画像が全体として見えづらくなってしまうことがなく、プレイヤにとって画面501の見やすさを向上することができる。例えば、画面が頻繁にスクロールすることによってプレイヤが酔ってしまうようなことがない。更に、スクロール処理が頻繁に発生してしまわないようにすることができ、スクロール処理によるゲーム装置200への負荷を減らすことができる。
 本発明は、上述した実施形態に限定されず、種々の変形及び応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
 コンピュータをゲーム装置800の全部又は一部として動作させるためのプログラムを、メモリカード、CD-ROM、DVD、MO(Magneto Optical disk)などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
 さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
 なお、本願については、日本国特許願 特願2008-081003号を基礎とする優先権を主張し、当該基礎出願の内容をすべて本願にとりこむものとする。
 以上説明したように、本発明によれば、画像表示のスクロール処理による負荷を軽減し、プレイヤにとっての画面の見やすさを向上するために好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。

Claims (18)

  1.  仮想空間に配置されるオブジェクトの位置と、当該仮想空間に配置される視点の位置と、を記憶する記憶部(801)と、
     当該仮想空間において当該視点の位置から見た当該オブジェクトを表す画像を生成する生成部(803)と、
     前記生成された画像を表示する表示部(804)と、
     当該オブジェクトの当該仮想空間における位置と、前記記憶されている視点の位置と、の距離を求める距離計算部(805)と、
     当該視点の位置を移動する移動方向と移動距離を計算する移動計算部(806)と、
     前記計算された移動距離を前記求められた距離に基づいて補正する補正部(807)と、
     前記計算された移動方向に、前記補正された結果の移動距離だけ、前記記憶される視点の位置を移動するように更新する更新部(808)と、
     を備え、
     前記補正部(807)は、前記補正された結果の移動距離が、前記求められた距離に対して単調減少するように、補正する、
     ことを特徴とするゲーム装置(800)。
  2.  仮想空間に配置されるオブジェクトの位置と、当該仮想空間に配置される視点の位置と、視線の向きと、を記憶する記憶部(801)と、
     当該仮想空間において当該視点の位置から当該視線の向きに見た当該オブジェクトを表す画像を生成する生成部(803)と、
     前記生成された画像を表示する表示部(804)と、
     当該オブジェクトの当該仮想空間における位置と、前記記憶されている視点の位置と、の距離を求める距離計算部(805)と、
     当該視線の向きを回転する回転方向と回転角度を計算する移動計算部(806)と、
     前記計算された回転角度を前記求められた距離に基づいて補正する補正部(807)と、
     前記計算された回転方向に、前記補正された結果の回転角度だけ、前記記憶される視線の向きを回転するように更新する更新部(808)と、
     を備え、
     前記補正部(807)は、前記補正された結果の回転角度が、前記求められた距離に対して単調減少するように、補正する、
     ことを特徴とするゲーム装置(800)。
  3.  請求項2に記載のゲーム装置(800)であって、
     前記移動計算部(806)は、当該視点の位置を移動する移動方向と移動距離を更に計算し、
     前記補正部(807)は、前記計算された移動距離を前記求められた距離に基づいて更に補正し、
     前記更新部(808)は、前記計算された移動方向に、前記補正された結果の移動距離だけ、前記記憶される視点の位置を移動するように更に更新し、
     前記補正部(807)は、前記補正された結果の移動距離が、前記求められた距離に対して単調減少するように、補正する、
     ことを特徴とするゲーム装置(800)。
  4.  請求項1に記載のゲーム装置(800)であって、
     当該仮想空間には、複数のオブジェクトが配置され、
     前記記憶部(801)は、当該複数のオブジェクトのそれぞれの位置を記憶し、
     前記距離計算部(805)は、当該複数のオブジェクトのうち、前記生成された画像内の注目領域に描画されたオブジェクトの当該仮想空間における位置と、前記記憶されている視点の位置と、の距離を求める、
     ことを特徴とするゲーム装置(800)。
  5.  請求項4に記載のゲーム装置(800)であって、
     当該注目領域は、前記生成された画像の中央に配置される、
     ことを特徴とするゲーム装置。
  6.  請求項4に記載のゲーム装置(800)であって、
     当該オブジェクトを選択する旨の選択指示入力を当該ユーザから受け付ける入力受付部(802)を更に備え、
     前記距離計算部(805)は、前記選択されたオブジェクトの前記生成された画面内における位置を中心として、当該注目領域を設定する、
     ことを特徴とするゲーム装置(800)。
  7.  請求項6に記載のゲーム装置(800)であって、
     前記入力受付部(802)は、前記選択されたオブジェクトの位置を移動する旨の移動指示入力を当該ユーザから更に受け付け、
     前記記憶部(801)は、当該移動指示入力の所定回数分の履歴を更に記憶し、
     前記更新部(808)は、当該移動指示入力に基づいて、前記選択されたオブジェクトの位置を更に更新し、
     前記距離計算部(805)は、前記選択されたオブジェクトの位置が移動した場合、当該オブジェクトの移動を開始してから所定時間経過後、前記記憶されている履歴に基づいて、当該オブジェクトに追随するように当該注目領域の位置を変える、
     ことを特徴とするゲーム装置(800)。
  8.  請求項6に記載のゲーム装置(800)であって、
     前記入力受付部(802)は、前記選択されたオブジェクトの位置を指定量だけ移動する旨の移動指示入力を更に受け付け、
     前記記憶部(801)は、当該移動指示入力の所定回数分の履歴を更に記憶し、
     前記補正部(808)は、前記記憶されている移動指示入力が示す各々の指定量に基づいて当該移動距離の補正量を求め、前記補正された結果の移動距離が前記求められた距離に対して単調減少するように補正する、
     ことを特徴とするゲーム装置(800)。
  9.  請求項4に記載のゲーム装置(800)であって、
     前記距離計算部(805)は、前記生成された画像内の注目領域に描画されたオブジェクトが複数の場合、当該オブジェクトの当該仮想空間における位置と、前記記憶されている視点の位置と、のそれぞれの距離の平均値を計算し、
     前記補正部(807)は、前記計算された移動距離を、前記計算された平均値に対して単調減少するように補正する、
     ことを特徴とするゲーム装置(800)。
  10.  請求項4に記載のゲーム装置(800)であって、
     前記距離計算部(805)は、前記生成された画像内の注目領域に描画されたオブジェクトが複数の場合、当該オブジェクトの当該仮想空間における位置と、前記記憶されている視点の位置と、のそれぞれの距離の最大値を計算し、
     前記補正部(807)は、前記計算された移動距離を、前記計算された最大値に対して単調減少するように補正する、
     ことを特徴とするゲーム装置(800)。
  11.  請求項4に記載のゲーム装置(800)であって、
     前記距離計算部(805)は、前記生成された画像内の注目領域に描画されたオブジェクトが複数の場合、当該オブジェクトの当該仮想空間における位置と、前記記憶されている視点の位置と、のそれぞれの距離の最小値を計算し、
     前記補正部(807)は、前記計算された移動距離を、前記計算された最小値に対して単調減少するように補正する、
     ことを特徴とするゲーム装置(800)。
  12.  請求項4に記載のゲーム装置(800)であって、
     前記距離計算部(805)は、前記生成された画像内の注目領域に描画されたオブジェクトが複数の場合、当該オブジェクトの当該仮想空間における位置と、前記記憶されている視点の位置と、のそれぞれの距離の合計値を計算し、
     前記補正部(807)は、前記計算された移動距離を、前記計算された合計値に対して単調減少するように補正する、
     ことを特徴とするゲーム装置(800)。
  13.  記憶部(801)を有するゲーム装置(800)にて実行されるゲーム処理方法であって、
     前記記憶部(801)には、仮想空間に配置されるオブジェクトの位置と、当該仮想空間に配置される視点の位置と、が記憶され、
     当該仮想空間において当該視点の位置から見た当該オブジェクトを表す画像を生成する生成ステップと、
     前記生成された画像を表示する表示ステップと、
     当該オブジェクトの当該仮想空間における位置と、前記記憶されている視点の位置と、の距離を求める距離計算ステップと、
     当該視点の位置を移動する移動方向と移動距離を計算する移動計算ステップと、
     前記計算された移動距離を前記求められた距離に基づいて補正する補正ステップと、
     前記計算された移動方向に、前記補正された結果の移動距離だけ、前記記憶される視点の位置を移動するように更新する更新ステップと、
     を備え、
     前記補正ステップでは、前記補正された結果の移動距離が、前記求められた距離に対して単調減少するように、補正する、
     ことを特徴とするゲーム処理方法。
  14.  記憶部(801)を有するゲーム装置(800)にて実行されるゲーム処理方法であって、
     前記記憶部(801)には、仮想空間に配置されるオブジェクトの位置と、当該仮想空間に配置される視点の位置と、視線の向きと、が記憶され、
     当該仮想空間において当該視点の位置から当該視線の向きに見た当該オブジェクトを表す画像を生成する生成ステップと、
     前記生成された画像を表示する表示ステップと、
     当該オブジェクトの当該仮想空間における位置と、前記記憶されている視点の位置と、の距離を求める距離計算ステップと、
     当該視線の向きを回転する回転方向と回転角度を計算する移動計算ステップと、
     前記計算された回転角度を前記求められた距離に基づいて補正する補正ステップと、
     前記計算された回転方向に、前記補正された結果の回転角度だけ、前記記憶される視線の向きを回転するように更新する更新ステップと、
     を備え、
     前記補正ステップでは、前記補正された結果の回転角度が、前記求められた距離に対して単調減少するように、補正する、
     ことを特徴とするゲーム処理方法。
  15.  コンピュータを、
     仮想空間に配置されるオブジェクトの位置と、当該仮想空間に配置される視点の位置と、を記憶する記憶部(801)、
     当該仮想空間において当該視点の位置から見た当該オブジェクトを表す画像を生成する生成部(803)、
     前記生成された画像を表示する表示部(804)、
     当該オブジェクトの当該仮想空間における位置と、前記記憶されている視点の位置と、の距離を求める距離計算部(805)、
     当該視点の位置を移動する移動方向と移動距離を計算する移動計算部(806)、
     前記計算された移動距離を前記求められた距離に基づいて補正する補正部(807)、
     前記計算された移動方向に、前記補正された結果の移動距離だけ、前記記憶される視点の位置を移動するように更新する更新部(808)、
     として機能させ、
     前記補正部(807)が、前記補正された結果の移動距離が、前記求められた距離に対して単調減少するように、補正する、
     ように機能させるプログラムを記憶することを特徴とする、コンピュータ読み取り可能な情報記録媒体。
  16.  コンピュータを、
     仮想空間に配置されるオブジェクトの位置と、当該仮想空間に配置される視点の位置と、視線の向きと、を記憶する記憶部(801)、
     当該仮想空間において当該視点の位置から当該視線の向きに見た当該オブジェクトを表す画像を生成する生成部(803)、
     前記生成された画像を表示する表示部(804)、
     当該オブジェクトの当該仮想空間における位置と、前記記憶されている視点の位置と、の距離を求める距離計算部(805)、
     当該視線の向きを回転する回転方向と回転角度を計算する移動計算部(806)、
     前記計算された回転角度を前記求められた距離に基づいて補正する補正部(807)、
     前記計算された回転方向に、前記補正された結果の回転角度だけ、前記記憶される視線の向きを回転するように更新する更新部(808)、
     として機能させ、
     前記補正部(807)が、前記補正された結果の回転角度が、前記求められた距離に対して単調減少するように、補正する、
     ように機能させるプログラムを記憶することを特徴とする、コンピュータ読み取り可能な情報記録媒体。
  17.  コンピュータを、
     仮想空間に配置されるオブジェクトの位置と、当該仮想空間に配置される視点の位置と、を記憶する記憶部(801)、
     当該仮想空間において当該視点の位置から見た当該オブジェクトを表す画像を生成する生成部(803)、
     前記生成された画像を表示する表示部(804)、
     当該オブジェクトの当該仮想空間における位置と、前記記憶されている視点の位置と、の距離を求める距離計算部(805)、
     当該視点の位置を移動する移動方向と移動距離を計算する移動計算部(806)、
     前記計算された移動距離を前記求められた距離に基づいて補正する補正部(807)、
     前記計算された移動方向に、前記補正された結果の移動距離だけ、前記記憶される視点の位置を移動するように更新する更新部(808)、
     として機能させ、
     前記補正部(807)は、前記補正された結果の移動距離が、前記求められた距離に対して単調減少するように、補正する、
     ことを特徴とするプログラム。
  18.  コンピュータを、
     仮想空間に配置されるオブジェクトの位置と、当該仮想空間に配置される視点の位置と、視線の向きと、を記憶する記憶部(801)、
     当該仮想空間において当該視点の位置から当該視線の向きに見た当該オブジェクトを表す画像を生成する生成部(803)、
     前記生成された画像を表示する表示部(804)、
     当該オブジェクトの当該仮想空間における位置と、前記記憶されている視点の位置と、の距離を求める距離計算部(805)、
     当該視線の向きを回転する回転方向と回転角度を計算する移動計算部(806)、
     前記計算された回転角度を前記求められた距離に基づいて補正する補正部(807)、
     前記計算された回転方向に、前記補正された結果の回転角度だけ、前記記憶される視線の向きを回転するように更新する更新部(808)、
     として機能させ、
     前記補正部(807)は、前記補正された結果の回転角度が、前記求められた距離に対して単調減少するように、補正する、
     ことを特徴とするプログラム。
PCT/JP2009/055468 2008-03-26 2009-03-19 ゲーム装置、ゲーム処理方法、情報記録媒体、ならびに、プログラム WO2009119453A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN2009801065782A CN101970067A (zh) 2008-03-26 2009-03-19 游戏装置、游戏处理方法、信息记录介质以及程序
KR1020107005981A KR101084030B1 (ko) 2008-03-26 2009-03-19 게임장치, 게임처리방법 및 정보기록매체
US12/934,600 US20110014977A1 (en) 2008-03-26 2009-03-19 Game device, game processing method, information recording medium, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-081003 2008-03-26
JP2008081003A JP4384697B2 (ja) 2008-03-26 2008-03-26 ゲーム装置、ゲーム処理方法、ならびに、プログラム

Publications (1)

Publication Number Publication Date
WO2009119453A1 true WO2009119453A1 (ja) 2009-10-01

Family

ID=41113648

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/055468 WO2009119453A1 (ja) 2008-03-26 2009-03-19 ゲーム装置、ゲーム処理方法、情報記録媒体、ならびに、プログラム

Country Status (6)

Country Link
US (1) US20110014977A1 (ja)
JP (1) JP4384697B2 (ja)
KR (1) KR101084030B1 (ja)
CN (1) CN101970067A (ja)
TW (1) TWI374043B (ja)
WO (1) WO2009119453A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112473138A (zh) * 2020-12-10 2021-03-12 网易(杭州)网络有限公司 游戏的显示控制方法及装置、可读存储介质、电子设备

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8384665B1 (en) * 2006-07-14 2013-02-26 Ailive, Inc. Method and system for making a selection in 3D virtual environment
JP5350304B2 (ja) * 2010-03-29 2013-11-27 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
JP2012173950A (ja) * 2011-02-21 2012-09-10 Denso Corp 連続操作学習装置、及び、ナビゲーション装置
US9285883B2 (en) 2011-03-01 2016-03-15 Qualcomm Incorporated System and method to display content based on viewing orientation
JP5323126B2 (ja) * 2011-05-20 2013-10-23 シャープ株式会社 画像処理システム、画像処理装置、及び、指示受付装置
US20130120371A1 (en) * 2011-11-15 2013-05-16 Arthur Petit Interactive Communication Virtual Space
JP5200158B1 (ja) * 2011-12-27 2013-05-15 株式会社コナミデジタルエンタテインメント ゲーム装置、制御装置、ゲーム制御方法、及びプログラム
TWI498771B (zh) 2012-07-06 2015-09-01 Pixart Imaging Inc 可辨識手勢動作的眼鏡
KR20140010685A (ko) * 2012-07-16 2014-01-27 삼성전자주식회사 휴대 단말기에서 객체 이동 방법 및 장치
US9589000B2 (en) * 2012-08-30 2017-03-07 Atheer, Inc. Method and apparatus for content association and history tracking in virtual and augmented reality
US20140080601A1 (en) 2012-09-17 2014-03-20 King.Com Limited Method of designing multiple computer games
US10828558B2 (en) 2013-02-19 2020-11-10 King.Com Ltd. Video game with spreading tile backgrounds for matched tiles
US9079097B2 (en) 2013-02-19 2015-07-14 King.Com Ltd. Video game with replaceable tiles having selectable physics
US9592441B2 (en) 2013-02-19 2017-03-14 King.Com Ltd. Controlling a user interface of a computer device
US20140274418A1 (en) * 2013-03-12 2014-09-18 King.Com Limited Module for a switcher game
US9937418B2 (en) 2013-06-07 2018-04-10 King.Com Ltd. Computing device, game, and methods therefor
TWI570752B (zh) * 2013-12-11 2017-02-11 財團法人工業技術研究院 儲能元件與超級電容器元件
JP2015166890A (ja) * 2014-03-03 2015-09-24 ソニー株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム
US9936195B2 (en) * 2014-11-06 2018-04-03 Intel Corporation Calibration for eye tracking systems
JP6677239B2 (ja) * 2015-03-05 2020-04-08 ソニー株式会社 情報処理装置、制御方法、およびプログラム
CN105983234A (zh) * 2015-09-11 2016-10-05 北京蚁视科技有限公司 一种防止用户眩晕的视频图像显示方法
JP6532393B2 (ja) * 2015-12-02 2019-06-19 株式会社ソニー・インタラクティブエンタテインメント 表示制御装置及び表示制御方法
JP6744543B2 (ja) * 2015-12-25 2020-08-19 キヤノンマーケティングジャパン株式会社 情報処理システム、その制御方法、及びプログラム
US10678337B2 (en) * 2016-01-04 2020-06-09 The Texas A&M University System Context aware movement recognition system
JP6402432B2 (ja) * 2016-09-06 2018-10-10 株式会社アクセル 情報処理装置、及び情報処理方法
WO2018058693A1 (zh) * 2016-10-01 2018-04-05 北京蚁视科技有限公司 一种防止用户眩晕的视频图像显示方法
CN106582012B (zh) * 2016-12-07 2018-12-11 腾讯科技(深圳)有限公司 一种vr场景下的攀爬操作处理方法和装置
US10217186B2 (en) * 2017-02-15 2019-02-26 Htc Corporation Method, virtual reality apparatus and recording medium for displaying fast-moving frames of virtual reality
EP3635515A1 (en) * 2017-06-09 2020-04-15 Sony Interactive Entertainment Inc. Optimized shadows and adaptive mesh skinning in a foveated rendering system
EP3444016A1 (fr) * 2017-08-17 2019-02-20 Bigben Interactive SA Procede de contrôle d'un element d'affichage par une console de jeux
KR102343648B1 (ko) * 2017-08-29 2021-12-24 삼성전자주식회사 영상 부호화 장치 및 영상 부호화 시스템
JP7292597B2 (ja) * 2018-04-11 2023-06-19 大日本印刷株式会社 表示システム、画像処理装置、およびプログラム
CN112074331A (zh) * 2018-05-02 2020-12-11 任天堂株式会社 信息处理程序、信息处理装置、信息处理系统以及信息处理方法
EP3901919A4 (en) * 2019-04-17 2022-06-08 Rakuten Group, Inc. DISPLAY CONTROL DEVICE, DISPLAY CONTROL METHOD, PROGRAM, AND COMPUTER READABLE NON-TRANSITORY INFORMATION RECORDING MEDIA
CN111729311A (zh) * 2020-06-22 2020-10-02 苏州幻塔网络科技有限公司 攀爬跳跃方法、装置、计算机设备及计算机可读存储介质
CN112604282B (zh) * 2020-12-25 2022-09-02 珠海金山数字网络科技有限公司 虚拟镜头控制方法及装置

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05290147A (ja) * 1992-04-06 1993-11-05 Matsushita Electric Ind Co Ltd 視点・光源機能の属性追加交換直接操作システム
JPH0991109A (ja) * 1995-09-28 1997-04-04 Oki Electric Ind Co Ltd 仮想3次元空間表示装置
JPH10283498A (ja) * 1997-04-03 1998-10-23 Konami Co Ltd 画像装置、画像表示方法および記録媒体
JPH11154244A (ja) * 1997-11-21 1999-06-08 Canon Inc 画像処理装置と画像情報の処理方法
JP2000507725A (ja) * 1996-03-29 2000-06-20 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー 制御インターフェイス
JP2001149643A (ja) * 1999-09-16 2001-06-05 Sony Computer Entertainment Inc 3次元ゲームにおけるオブジェクト表示方法、情報記録媒体およびエンタテインメント装置
WO2002069276A1 (fr) * 2001-02-23 2002-09-06 Fujitsu Limited Dispositif de commande d'affichage, dispositif terminal d'information equipe de ce dispositif de commande d'affichage, et dispositif de commande de position de point de vue
JP2003334382A (ja) * 2002-05-21 2003-11-25 Sega Corp ゲーム装置、画像処理装置及び画像処理方法
JP2004005024A (ja) * 2002-05-30 2004-01-08 Konami Co Ltd 情報処理プログラム
JP2005319220A (ja) * 2004-05-11 2005-11-17 Sega Corp 画像処理プログラム、ゲーム処理プログラムおよびゲーム情報処理装置
JP2006018476A (ja) * 2004-06-30 2006-01-19 Sega Corp 画像の表示制御方法
JP2007260232A (ja) * 2006-03-29 2007-10-11 Konami Digital Entertainment:Kk ゲーム装置、ゲーム制御方法、ならびに、プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6670957B2 (en) * 2000-01-21 2003-12-30 Sony Computer Entertainment Inc. Entertainment apparatus, storage medium and object display method

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05290147A (ja) * 1992-04-06 1993-11-05 Matsushita Electric Ind Co Ltd 視点・光源機能の属性追加交換直接操作システム
JPH0991109A (ja) * 1995-09-28 1997-04-04 Oki Electric Ind Co Ltd 仮想3次元空間表示装置
JP2000507725A (ja) * 1996-03-29 2000-06-20 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー 制御インターフェイス
JPH10283498A (ja) * 1997-04-03 1998-10-23 Konami Co Ltd 画像装置、画像表示方法および記録媒体
JPH11154244A (ja) * 1997-11-21 1999-06-08 Canon Inc 画像処理装置と画像情報の処理方法
JP2001149643A (ja) * 1999-09-16 2001-06-05 Sony Computer Entertainment Inc 3次元ゲームにおけるオブジェクト表示方法、情報記録媒体およびエンタテインメント装置
WO2002069276A1 (fr) * 2001-02-23 2002-09-06 Fujitsu Limited Dispositif de commande d'affichage, dispositif terminal d'information equipe de ce dispositif de commande d'affichage, et dispositif de commande de position de point de vue
JP2003334382A (ja) * 2002-05-21 2003-11-25 Sega Corp ゲーム装置、画像処理装置及び画像処理方法
JP2004005024A (ja) * 2002-05-30 2004-01-08 Konami Co Ltd 情報処理プログラム
JP2005319220A (ja) * 2004-05-11 2005-11-17 Sega Corp 画像処理プログラム、ゲーム処理プログラムおよびゲーム情報処理装置
JP2006018476A (ja) * 2004-06-30 2006-01-19 Sega Corp 画像の表示制御方法
JP2007260232A (ja) * 2006-03-29 2007-10-11 Konami Digital Entertainment:Kk ゲーム装置、ゲーム制御方法、ならびに、プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112473138A (zh) * 2020-12-10 2021-03-12 网易(杭州)网络有限公司 游戏的显示控制方法及装置、可读存储介质、电子设备
CN112473138B (zh) * 2020-12-10 2023-11-17 网易(杭州)网络有限公司 游戏的显示控制方法及装置、可读存储介质、电子设备

Also Published As

Publication number Publication date
KR101084030B1 (ko) 2011-11-17
JP2009232984A (ja) 2009-10-15
CN101970067A (zh) 2011-02-09
TWI374043B (en) 2012-10-11
KR20100046262A (ko) 2010-05-06
TW201012513A (en) 2010-04-01
JP4384697B2 (ja) 2009-12-16
US20110014977A1 (en) 2011-01-20

Similar Documents

Publication Publication Date Title
JP4384697B2 (ja) ゲーム装置、ゲーム処理方法、ならびに、プログラム
JP5507893B2 (ja) プログラム、情報記憶媒体及び画像生成システム
US20110098111A1 (en) Game apparatus, storage medium storing a game program, and game controlling method
JP5576061B2 (ja) プログラム及びゲーム装置
US20060089197A1 (en) Game apparatus and storage medium storing game program
JP5441087B2 (ja) プログラム及び画像表示制御装置
JP3786669B2 (ja) ゲームシステム、プログラム及び情報記憶媒体
JP2010184009A (ja) 決定装置、決定方法、ならびに、プログラム
JP3747050B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP5210547B2 (ja) 移動制御プログラムおよび移動制御装置
JP2015008983A (ja) プログラムおよびゲーム装置
JP4508918B2 (ja) 画像生成システム及び情報記憶媒体
JP2006268511A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2011039895A (ja) 仮想空間表示装置、視点設定方法、および、プログラム
JP2007260232A (ja) ゲーム装置、ゲーム制御方法、ならびに、プログラム
JP5124545B2 (ja) ゲーム装置、ゲーム処理方法、ならびに、プログラム
JP5307060B2 (ja) 画像処理装置、画像処理方法、ならびに、プログラム
JP6734025B2 (ja) プログラム及び端末
JP5054908B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2015008987A (ja) プログラムおよびゲーム装置
JP6863678B2 (ja) プログラム及びゲーム装置
JP2008113825A (ja) ゲーム装置、ゲーム処理方法、ならびに、プログラム
JP7154258B2 (ja) プログラム、端末及びゲーム制御方法
JP6945699B2 (ja) プログラム及びゲーム装置
JP2006102239A (ja) プログラム、情報記憶媒体及び画像生成システム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980106578.2

Country of ref document: CN

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

Ref document number: 09724565

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20107005981

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 12934600

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09724565

Country of ref document: EP

Kind code of ref document: A1