Information processing program, information processing device, information processing system, and information processing method

By controlling the virtual camera to move over multiple occluding objects stepwise, the technique addresses sudden viewpoint changes, enhancing visibility and user comprehension in virtual environments.

JP7808155B2Active Publication Date: 2026-01-28NINTENDO CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2024150899
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-09-02
Publication Date
2026-01-28
Estimated Expiration
2042-06-10

AI Technical Summary

Technical Problem

Conventional virtual camera movement techniques that navigate around multiple obstacles can cause sudden changes in viewpoint, leading to reduced visibility when multiple occluding objects are present.

Method used

The virtual camera is controlled to move over multiple occluding objects one by one, determining specific conditions such as contact with or burial in occluding objects, elapsed time, or distance traveled before moving to the next position, to prevent sudden changes in viewpoint.

Benefits of technology

This approach reduces sudden changes in viewpoint, improving visibility and user understanding of the virtual space by controlling the camera's movement to avoid abrupt shifts.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007808155000001
    Figure 0007808155000001
  • Figure 0007808155000002
    Figure 0007808155000002
  • Figure 0007808155000003
    Figure 0007808155000003
Patent Text Reader

Abstract

To provide an information processing program and the like which control a virtual camera while alleviating reduction in the visibility when a plurality of shielding objects exist in the sight line direction of the virtual camera.SOLUTION: When an attention target is shielded by a first shielding object when viewed from a virtual camera, the virtual camera is moved to a first position that is a position where a virtual line first passes through the first shielding object or a position closer to the attention target than the position on the virtual line heading toward the attention target from the virtual camera. In a case where at least a portion of the attention target is shielded by a second shielding object when the virtual camera is moved to the first position, the virtual camera is not moved to a second position that is a position where the virtual line first passes through the second shielding object or a position closer to the attention target than the position until a re-movement condition is satisfied.SELECTED DRAWING: Figure 19
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to information processing for controlling the movement of a virtual camera. [Background technology]

[0002] Conventionally, there has been known a technique for moving a virtual camera to a position closer to the player character than the obstacle when an obstacle exists between the virtual camera and the player character and the player character is obscured from the virtual camera's view (for example, Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2009-11567 Summary of the Invention [Problem to be solved by the invention]

[0004] In the above technology, if there are multiple obstacles between the virtual camera and the player character (if they overlap and block the player character), the virtual camera is moved to a position where the player character is not blocked by passing over all of these obstacles at once.

[0005] However, such movement can result in a sudden change in the viewpoint position, which can also cause the image from the virtual camera to change suddenly, potentially reducing visibility.

[0006] Therefore, an object of the present disclosure is to provide an information processing program, an information processing device, an information processing system, and an information processing method that can control a virtual camera while reducing the reduction in visibility when multiple occluding objects are present in the line of sight of the virtual camera. [Means for solving the problem]

[0007] To achieve the above object, the following configuration examples can be given.

[0008] (Configuration 1) Configuration 1 is an information processing program executed on a computer of an information processing device, causing the computer to function as occlusion determination means and virtual camera control means. The occlusion determination means determines whether at least a portion of the target of interest is occluded by a first occluding object as seen from a virtual camera that captures the target of interest in a virtual space. The virtual camera control means, based at least on the determination that at least a portion of the target of interest is occluded by the first occluding object, moves the virtual camera to a first position on a virtual line extending from the virtual camera to the target of interest, the first position being a position where the virtual line first passes through the first occluding object, or a position closer to the target of interest than the first position. When the virtual camera is moved to the first position and at least a part of the target of interest is further blocked by a second blocking object, the virtual camera control means does not move the virtual camera to a second position where the virtual line first passed through the second blocking object or a position closer to the target of interest than the position where the virtual line first passed through, as long as the re-movement condition is not satisfied, and moves the virtual camera to the second position when the re-movement condition is satisfied.

[0009] According to the above configuration, when there are multiple occluding objects in the line of sight of the virtual camera that occlude the target of interest, the virtual camera is moved to a position where the target of interest is not occluded. However, instead of moving over all of the occluding objects at once, the virtual camera moves over the multiple occluding objects one by one in order by determining the re-movement condition. This suppresses sudden changes in the viewpoint position in a very short period of time and reduces deterioration of the user's visibility.

[0010] (Configuration 2) In a second aspect of the present invention, in the first aspect, the virtual camera control means may move the virtual camera to the first position when the virtual camera comes into contact with or is buried in the first occluding object.

[0011] According to the above configuration, the virtual camera is not moved to the first position until it comes into contact with or is buried in an occluding object. This prevents the virtual camera from moving to the first position even when it is not in contact with an occluding object, thereby preventing the virtual camera from frequently passing through occluding objects (terrain objects).

[0012] (Configuration 3) In a third configuration, in the first or second configuration, the virtual camera control means may determine that the restart condition is satisfied when the virtual camera comes into contact with or is buried in the second occluding object.

[0013] According to the above configuration, the conditions for the virtual camera to move beyond the occluding object are the same for both the first and second occluding objects, making it easier for the user to understand the behavior of the virtual camera, for example, that "when the virtual camera hits a wall, it passes through it."

[0014] (Configuration 4) In a fourth configuration, in any one of the first to third configurations, the virtual camera control means may determine that the re-movement condition is satisfied when a predetermined time has elapsed since the virtual camera was moved to the first position.

[0015] According to the above configuration, after the virtual camera moves to the first position, it does not move to the second position until a predetermined time has elapsed. This prevents the virtual camera from moving suddenly in a short period of time, thereby reducing the deterioration of visibility.

[0016] (Configuration 5) In configuration 5, in any one of configurations 1 to 3, the virtual camera control means may determine that the re-movement condition is satisfied when the virtual camera has moved a predetermined distance or more from the time when the virtual camera was moved to the first position.

[0017] According to the above configuration, the virtual camera does not move to the second position until it has moved a predetermined distance or more from the first position, which makes it possible to prevent the virtual camera from moving suddenly in a short period of time.

[0018] (Configuration 6) In a sixth aspect of the present invention, in any one of the first to fifth aspects, the virtual camera control means may control the virtual camera so that the distance to the target becomes shorter as the depression angle of the virtual camera becomes smaller.

[0019] According to the above configuration, when the depression angle of the virtual camera becomes smaller, the distance to the target object becomes closer. Therefore, there are more opportunities for the virtual camera to move to the first position, for example, when it comes into contact with an occluding object such as a vertically extending wall. Even in such cases, abrupt changes in viewpoint can be suppressed.

[0020] (Configuration 7) In a seventh aspect of the present invention, in any one of the first to sixth aspects, the virtual camera control means may control at least one of the position and the attitude of the virtual camera based on a camera control input from the user.

[0021] According to the above configuration, the user can directly operate the virtual camera, which makes it easier to grasp the situation in the virtual space, thereby improving user convenience.

[0022] (Configuration 8) In an eighth aspect of the present invention, in any one of the first to seventh aspects, the target of attention may be a player character.

[0023] According to the above configuration, the decrease in visibility can be reduced, making it easier for the user to grasp the positional relationship within the virtual space of the player character that is the object of the user's operation.

[0024] (Configuration 9) Configuration 9 may cause a computer to function as a drawing means for, when at least a portion of a target object is occluded by an occluding object as viewed from the virtual camera, drawing at least a portion of the target object in a manner that allows the target object to be seen through the occluding object in the above-mentioned configuration 8.

[0025] According to the above configuration, even when the target object is occluded by an occluding object, the user can grasp the position of the target object.

[0026] (Configuration 10) In a tenth aspect of the present invention, in any one of the first to ninth aspects, the virtual camera control means may move and change the attitude of the virtual camera, with the target of interest as the point of gaze.

[0027] According to the above configuration, the virtual camera can be controlled so that the target object is always captured even if the target object moves.

[0028] (Configuration 11) Configuration 11 is an information processing program executed on a computer of an information processing device, causing the computer to function as immersion determination means and virtual camera control means. The immersion determination means determines whether the virtual camera is in contact with or buried in a first occluding object. The virtual camera control means, based on the determination that the virtual camera is in contact with or buried in a first occluding object, moves the virtual camera closer to a target of interest so that the first occluding object is no longer visible to the virtual camera. Furthermore, when the virtual camera is moved closer to the target of interest so that the first occluding object is no longer visible to the virtual camera, even if at least a portion of the target of interest is occluded by another occluding object, the virtual camera control means does not control the virtual camera to move closer to the target of interest so that the other occluding object is no longer visible to the virtual camera if the virtual camera is not in contact with or buried in the other occluding object.

[0029] According to the above configuration, when there are multiple occluding objects in the line of sight of the virtual camera, the movement is controlled so as to pass over the multiple occluding objects one by one in order. This makes it possible to suppress abrupt changes in the viewpoint position and reduce the deterioration of the user's visibility. [Effects of the Invention]

[0030] According to this embodiment, visibility can be improved when multiple occluding objects exist in the line of sight of the virtual camera. [Brief explanation of the drawings]

[0031] [Figure 1] FIG. 1 shows an example of a state in which the left controller 3 and the right controller 4 are attached to the main unit 2. [Figure 2] FIG. 10 shows an example of a state in which the left controller 3 and the right controller 4 are detached from the main unit 2. [Figure 3] Six-sided views showing an example of the main unit 2 [Figure 4] Six-sided diagram showing an example of the left controller 3 [Figure 5] Six-sided diagram showing an example of the right controller 4 [Figure 6] A block diagram showing an example of the internal configuration of the main unit 2. [Figure 7] A block diagram showing an example of the internal configuration of the main unit 2, the left controller 3, and the right controller 4. [Figure 8] FIG. 1 is a diagram for explaining an outline of processing according to the present embodiment; [Figure 9] FIG. 1 is a diagram for explaining an outline of processing according to the present embodiment; [Figure 10] An example of a game screen according to this embodiment [Figure 11] An example of a game screen according to this embodiment [Figure 12] An example of a game screen according to this embodiment [Figure 13] An example of a game screen according to this embodiment [Figure 14] An example of a game screen according to this embodiment [Figure 15] An example of a game screen according to this embodiment [Figure 16] FIG. 1 is a diagram for explaining an outline of processing according to the present embodiment; [Figure 17] A memory map showing an example of various data stored in the DRAM 85 [Figure 18] An example of operation data 305 [Figure 19] A flowchart showing details of a virtual camera control process according to the present embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0032] An embodiment will be described below.

[0033] A game system according to an example of this embodiment will be described below. An example of the game system 1 according to this embodiment includes a main unit (information processing device; in this embodiment, it functions as a game device main unit) 2, a left controller 3, and a right controller 4. The left controller 3 and the right controller 4 are each detachable from the main unit 2. In other words, the game system 1 can be used as an integrated device by attaching the left controller 3 and the right controller 4 to the main unit 2. The game system 1 can also be used by separating the main unit 2 from the left controller 3 and the right controller 4 (see FIG. 2). Below, the hardware configuration of the game system 1 according to this embodiment will be described, followed by a description of the control of the game system 1 according to this embodiment.

[0034] FIG. 1 is a diagram showing an example of a state in which a left controller 3 and a right controller 4 are attached to a main unit 2. As shown in FIG. 1, the left controller 3 and the right controller 4 are each attached to and integrated with the main unit 2. The main unit 2 is a device that executes various processes (e.g., game processes) in the game system 1. The main unit 2 is equipped with a display 12. The left controller 3 and the right controller 4 are devices that have operation units that allow the user to perform inputs.

[0035] Fig. 2 is a diagram showing an example of the state in which the left controller 3 and the right controller 4 are detached from the main unit 2. As shown in Figs. 1 and 2, the left controller 3 and the right controller 4 are detachable from the main unit 2. Note that, below, the left controller 3 and the right controller 4 may be collectively referred to as "controllers."

[0036] Fig. 3 is a six-sided view showing an example of the main unit 2. As shown in Fig. 3, the main unit 2 includes a substantially plate-shaped housing 11. In this embodiment, the main surface of the housing 11 (in other words, the front surface, i.e., the surface on which the display 12 is provided) is generally rectangular.

[0037] The shape and size of the housing 11 are arbitrary. As an example, the housing 11 may be of a portable size. Furthermore, the main unit 2 alone or an integrated device in which the left controller 3 and right controller 4 are attached to the main unit 2 may be a portable device. Furthermore, the main unit 2 or the integrated device may be a handheld device. Furthermore, the main unit 2 or the integrated device may be a portable device.

[0038] 3, the main unit 2 includes a display 12 provided on the main surface of the housing 11. The display 12 displays images generated by the main unit 2. In this embodiment, the display 12 is a liquid crystal display (LCD). However, the display 12 may be any type of display device.

[0039] The main device 2 also includes a touch panel 13 on the screen of the display 12. In this embodiment, the touch panel 13 is of a type that allows multi-touch input (for example, a capacitance type). However, the touch panel 13 may be of any type, and may be of a type that allows single-touch input (for example, a resistive type).

[0040] The main unit 2 is provided with a speaker (i.e., speaker 88 shown in FIG. 6) inside the housing 11. As shown in FIG. 3, speaker holes 11a and 11b are formed on the main surface of the housing 11. The output sound of the speaker 88 is output from these speaker holes 11a and 11b, respectively.

[0041] The main unit 2 also has a left terminal 17, which is a terminal for the main unit 2 to communicate with the left controller 3 via a wired connection, and a right terminal 21, which is a terminal for the main unit 2 to communicate with the right controller 4 via a wired connection.

[0042] As shown in FIG. 3, the main unit 2 includes a slot 23. The slot 23 is provided on the upper side of the housing 11. The slot 23 has a shape that allows a predetermined type of storage medium to be inserted therein. The predetermined type of storage medium is, for example, a storage medium (e.g., a dedicated memory card) dedicated to the game system 1 and the same type of information processing device. The predetermined type of storage medium is used, for example, to store data used by the main unit 2 (e.g., application save data, etc.) and / or programs executed by the main unit 2 (e.g., application programs, etc.). The main unit 2 also includes a power button 28.

[0043] The main unit 2 includes a lower terminal 27. The lower terminal 27 is a terminal through which the main unit 2 communicates with the cradle. In this embodiment, the lower terminal 27 is a USB connector (more specifically, a female connector). When the all-in-one device or the main unit 2 alone is placed on the cradle, the game system 1 transmits images generated and output by the main unit 2 to the stationary device. The display can be displayed on a monitor. In this embodiment, the cradle has a function of charging the all-in-one device or the main device 2 placed on it. The cradle also has a function of a hub device (specifically, a USB hub).

[0044] FIG. 4 is a six-sided view showing an example of the left controller 3. As shown in FIG. 4, the left controller 3 includes a housing 31. In this embodiment, the housing 31 has a vertically long shape, that is, a shape that is long in the up-down direction in FIG. 4 (the z-axis direction shown in FIG. 4). The left controller 3 can also be held in a vertically long orientation when detached from the main unit 2. The housing 31 has a shape and size that allows it to be held in one hand, particularly the left hand, when held in a vertically long orientation. The left controller 3 can also be held in a horizontally long orientation. When the left controller 3 is held in a horizontally long orientation, it may be held with both hands.

[0045] The left controller 3 is equipped with a left analog stick (hereinafter referred to as the left stick) 32, which is an example of a directional input device. As shown in FIG. 4, the left stick 32 is provided on the main surface of the housing 31. The left stick 32 can be used as a directional input unit that can input directions. By tilting the left stick 32, the user can input a direction corresponding to the tilt direction (and input a magnitude corresponding to the tilt angle). Note that the left controller 3 may be equipped with a cross key or a slide stick that can perform slide inputs, instead of an analog stick, as a directional input unit. In this embodiment, input can be made by pressing down the left stick 32.

[0046] The left controller 3 is equipped with various operation buttons. The left controller 3 is equipped with four operation buttons 33 to 36 (specifically, a right button 33, a down button 34, an up button 35, and a left button 36) on the main surface of the housing 31. The left controller 3 is also equipped with a record button 37 and a - (minus) button 47. The left controller 3 is equipped with a first L button 38 and a ZL button 39 on the upper left side of the housing 31. The left controller 3 is also equipped with a second L button 43 and a second R button 44 on the side of the housing 31 that is attached to the main unit 2. These operation buttons are used to issue instructions according to various programs (for example, OS programs and application programs) executed on the main unit 2.

[0047] The left controller 3 also includes a terminal 42 for wired communication between the left controller 3 and the main unit 2.

[0048] FIG. 5 is a six-sided view showing an example of the right controller 4. As shown in FIG. 5, the right controller 4 includes a housing 51. In this embodiment, the housing 51 has a vertically long shape, that is, a shape that is long in the up-down direction in FIG. 5 (the z-axis direction shown in FIG. 5). The right controller 4 can also be held in a vertically long orientation when detached from the main unit 2. The housing 51 has a shape and size that allows it to be held in one hand, particularly the right hand, when held in a vertically long orientation. The right controller 4 can also be held in a horizontally long orientation. When the right controller 4 is held in a horizontally long orientation, it may be held with both hands.

[0049] The right controller 4, like the left controller 3, has a right analog stick (hereinafter referred to as the right stick) 52 as a direction input unit. In this embodiment, the right stick 52 has the same configuration as the left stick 32 of the left controller 3. The right controller 4 may also have a cross key or a slide stick capable of slide input, instead of an analog stick. The right controller 4, like the left controller 3, has four operation buttons 53 to 56 (specifically, the A button 53, The right controller 4 is equipped with three buttons (a B button 54, an X button 55, and a Y button 56). The right controller 4 is further equipped with a + (plus) button 57 and a home button 58. The right controller 4 is also equipped with a first R button 60 and a ZR button 61 on the top right side of the housing 51. The right controller 4 is also equipped with a second L button 65 and a second R button 66, just like the left controller 3.

[0050] The right controller 4 also includes a terminal 64 for wired communication between the right controller 4 and the main unit 2.

[0051] Fig. 6 is a block diagram showing an example of the internal configuration of main unit 2. In addition to the configuration shown in Fig. 3, main unit 2 includes components 81-91, 97, and 98 shown in Fig. 6. Some of these components 81-91, 97, and 98 may be mounted on an electronic circuit board as electronic components and housed in housing 11.

[0052] The main body device 2 includes a processor 81. The processor 81 is an information processing unit that executes various information processes executed in the main body device 2, and is, for example, a CPU (Central Processing Unit). The processor 81 may be configured with only a GPU (Graphics Processing Unit) or may be configured with an SoC (System-on-a-chip) including multiple functions such as a CPU function and a GPU (Graphics Processing Unit) function. The processor 81 performs various types of information processing by executing an information processing program (for example, a game program) stored in a storage unit (specifically, an internal storage medium such as a flash memory 84, or an external storage medium inserted in the slot 23).

[0053] The main device 2 includes a flash memory 84 and a DRAM (Dynamic Random Access Memory) 85 as examples of internal storage media built into the main device 2. The flash memory 84 and the DRAM 85 are connected to the processor 81. The flash memory 84 is a memory used primarily to store various types of data (which may be programs) saved in the main device 2. The DRAM 85 is a memory used to temporarily store various types of data used in information processing.

[0054] The main device 2 includes a slot interface (hereinafter abbreviated as "I / F") 91. The slot I / F 91 is connected to the processor 81. The slot I / F 91 is connected to the slot 23, and reads and writes data from and to a predetermined type of storage medium (e.g., a dedicated memory card) inserted into the slot 23 in accordance with instructions from the processor 81.

[0055] The processor 81 reads and writes data from and to the flash memory 84, DRAM 85, and the above-mentioned storage media as appropriate, to execute the above-mentioned information processing.

[0056] The main unit 2 includes a network communication unit 82. The network communication unit 82 is connected to the processor 81. The network communication unit 82 communicates with external devices via a network (specifically, wireless communication). In this embodiment, the network communication unit 82 connects to a wireless LAN and communicates with external devices using a method conforming to the Wi-Fi standard as a first communication mode. The network communication unit 82 also performs wireless communication with other main units 2 of the same type using a predetermined communication method (e.g., communication using a proprietary protocol or infrared communication) as a second communication mode. Note that wireless communication using the second communication mode enables wireless communication with other main units 2 located within a closed local network area, and realizes a function that enables so-called "local communication," in which data is transmitted and received by direct communication between multiple main units 2.

[0057] The main unit 2 is equipped with a controller communication unit 83. The controller communication unit 83 is connected to the processor 81. The controller communication unit 83 performs wireless communication with the left controller 3 and / or right controller 4. Any communication method may be used between the main unit 2 and the left controller 3 and right controller 4, but in this embodiment, the controller communication unit 83 performs communication with the left controller 3 and right controller 4 in accordance with the Bluetooth (registered trademark) standard.

[0058] The processor 81 is connected to the left terminal 17, right terminal 21, and lower terminal 27. When performing wired communication with the left controller 3, the processor 81 transmits data to the left controller 3 via the left terminal 17 and receives operation data from the left controller 3 via the left terminal 17. When performing wired communication with the right controller 4, the processor 81 transmits data to the right controller 4 via the right terminal 21 and receives operation data from the right controller 4 via the right terminal 21. When performing wired communication with the right controller 4, the processor 81 transmits data to the cradle via the lower terminal 27. As described above, in this embodiment, the main unit 2 can perform both wired and wireless communication with the left controller 3 and the right controller 4. When an integrated device in which the left controller 3 and the right controller 4 are attached to the main unit 2 or the main unit 2 alone is attached to the cradle, the main unit 2 can output data (e.g., image data and audio data) to a stationary monitor or the like via the cradle.

[0059] Here, the main unit 2 can communicate simultaneously (in other words, in parallel) with multiple left controllers 3. The main unit 2 can also communicate simultaneously (in other words, in parallel) with multiple right controllers 4. Therefore, multiple users can simultaneously input to the main unit 2 using their own sets of left controllers 3 and right controllers 4. For example, a first user can input to the main unit 2 using a first set of left controllers 3 and right controllers 4, while a second user can simultaneously input to the main unit 2 using a second set of left controllers 3 and right controllers 4.

[0060] The main device 2 includes a touch panel controller 86, which is a circuit that controls the touch panel 13. The touch panel controller 86 is connected between the touch panel 13 and the processor 81. Based on a signal from the touch panel 13, the touch panel controller 86 generates data indicating, for example, the position where a touch input was made, and outputs the data to the processor 81.

[0061] The display 12 is also connected to the processor 81. The processor 81 displays on the display 12 an image generated (for example, by executing the above-described information processing) and / or an image acquired from the outside.

[0062] The main unit 2 includes a codec circuit 87 and speakers (specifically, a left speaker and a right speaker) 88. The codec circuit 87 is connected to the speakers 88 and the audio input / output terminal 25, and is also connected to the processor 81. The codec circuit 87 is a circuit that controls the input and output of audio data to and from the speakers 88 and the audio input / output terminal 25.

[0063] The main device 2 includes a power control unit 97 and a battery 98. The power control unit 97 is connected to the battery 98 and the processor 81. Although not shown, the power control unit 97 is also connected to each part of the main device 2 (specifically, each part that receives power from the battery 98, the left terminal 17, and the right terminal 21). The power control unit 97 controls the power supply from the battery 98 to each of the above parts based on instructions from the processor 81.

[0064] Furthermore, battery 98 is connected to lower terminal 27. When an external charging device (e.g., a cradle) is connected to lower terminal 27 and power is supplied to main device 2 via lower terminal 27, battery 98 is charged with the supplied power.

[0065] Figure 7 is a block diagram showing an example of the internal configuration of the main unit 2, left controller 3, and right controller 4. Note that details of the internal configuration of the main unit 2 are omitted in Figure 7 because they are shown in Figure 6.

[0066] The left controller 3 is equipped with a communication control unit 101 that communicates with the main unit 2. As shown in FIG. 7 , the communication control unit 101 is connected to each component, including the terminal 42. In this embodiment, the communication control unit 101 can communicate with the main unit 2 both via wired communication via the terminal 42 and via wireless communication without using the terminal 42. The communication control unit 101 controls the method of communication between the left controller 3 and the main unit 2. That is, when the left controller 3 is attached to the main unit 2, the communication control unit 101 communicates with the main unit 2 via the terminal 42. When the left controller 3 is detached from the main unit 2, the communication control unit 101 communicates wirelessly with the main unit 2 (specifically, with the controller communication unit 83). Wireless communication between the controller communication unit 83 and the communication control unit 101 is performed in accordance with, for example, the Bluetooth (registered trademark) standard.

[0067] The left controller 3 also includes a memory 102, such as a flash memory. The communication control unit 101 is configured, for example, by a microcomputer (also called a microprocessor), and executes firmware stored in the memory 102 to perform various processes.

[0068] The left controller 3 includes buttons 103 (specifically, buttons 33 to 39, 43, 44, and 47). The left controller 3 also includes a left stick 32. Each button 103 and left stick 32 repeatedly outputs information relating to an operation performed on that button 103 and left stick 32 to the communication control unit 101 at an appropriate timing.

[0069] The left controller 3 is equipped with an inertial sensor. Specifically, the left controller 3 is equipped with an acceleration sensor 104. The left controller 3 is also equipped with an angular velocity sensor 105. In this embodiment, the acceleration sensor 104 detects the magnitude of acceleration along three predetermined axes (for example, the x, y, and z axes shown in FIG. 4). The acceleration sensor 104 may detect acceleration along one or two axes. In this embodiment, the angular velocity sensor 105 detects angular velocity around three predetermined axes (for example, the x, y, and z axes shown in FIG. 4). The angular velocity sensor 105 may detect angular velocity around one or two axes. The acceleration sensor 104 and the angular velocity sensor 105 are each connected to the communication control unit 101. The detection results of the acceleration sensor 104 and the angular velocity sensor 105 are repeatedly output to the communication control unit 101 at appropriate timing.

[0070] The communication control unit 101 acquires information about the input (specifically, information about the operation or the detection results by the sensors) from each input unit (specifically, each button 103, left stick 32, and each sensor 104 and 105). The communication control unit 101 transmits operation data including the acquired information (or information obtained by performing a predetermined process on the acquired information) to the main unit 2. The operation data is repeatedly transmitted once every predetermined time. The interval at which the information about the input is transmitted to the main unit 2 may or may not be the same for each input unit.

[0071] By transmitting the operation data to the main unit 2, the main unit 2 can obtain the input made to the left controller 3. In other words, the main unit 2 can determine the operation of each button 103 and the left stick 32 based on the operation data. The main unit 2 can also calculate information about the movement and / or orientation of the left controller 3 based on operation data (specifically, the detection results of the acceleration sensor 104 and the angular velocity sensor 105).

[0072] The left controller 3 is equipped with a power supply unit 108. In this embodiment, the power supply unit 108 has a battery and a power control circuit. Although not shown, the power control circuit is connected to the battery and to each part of the left controller 3 (specifically, each part that receives power from the battery).

[0073] As shown in FIG. 7, the right controller 4 is equipped with a communication control unit 111 that communicates with the main unit 2. The right controller 4 also has a memory 112 that is connected to the communication control unit 111. The communication control unit 111 is connected to each component, including the terminal 64. The communication control unit 111 and memory 112 have the same functions as the communication control unit 101 and memory 102 of the left controller 3. Therefore, the communication control unit 111 can communicate with the main unit 2 both via wired communication via the terminal 64 and via wireless communication that does not use the terminal 64 (specifically, communication in accordance with the Bluetooth (registered trademark) standard), and controls the method of communication between the right controller 4 and the main unit 2.

[0074] The right controller 4 has input units similar to those of the left controller 3. Specifically, it has buttons 113, a right stick 52, and inertial sensors (an acceleration sensor 114 and an angular velocity sensor 115). These input units have the same functions as those of the left controller 3, and operate in the same manner.

[0075] The right controller 4 is equipped with a power supply unit 118. The power supply unit 118 has the same functions as the power supply unit 108 of the left controller 3 and operates in the same manner.

[0076] [Outline of information processing in this embodiment] Next, an overview of the operation of information processing executed by the game system 1 according to this embodiment will be described. The processing according to this embodiment is processing related to control of a virtual camera. Specifically, this processing assumes a case where an object of interest is occluded by a predetermined object (hereinafter, occluding object) as viewed from the virtual camera. In this embodiment, the case where the object of interest is a player character object (hereinafter, referred to as PC) will be described as an example.

[0077] [Processing overview and screenshots] 8 and 9 are diagrams for explaining an overview of the processing according to this embodiment, and are also diagrams showing the positional relationship between the virtual camera, the PC 201, and a terrain object that may serve as the above-mentioned occluding object. Also, FIGS. 10 to 15 are diagrams showing examples of screens displayed by the processing according to this embodiment. Also, FIGS. 8 to 9 are schematic diagrams showing cross-sectional images of the terrain shown in FIGS. 10 to 15 cut by a vertical plane passing through the virtual camera and the PC 201. First, the positional relationship will be explained using FIG. 8. In FIG. 8, the PC 201 is placed on the ground in a virtual three-dimensional space (hereinafter simply referred to as the virtual space). Also, in FIG. 8, a terrain object is placed to the left of the PC 201. This terrain object has three steps and has a generally staircase-like shape. Hereinafter, for convenience of explanation, the portions related to the steps will be referred to as the first portion, second portion, and third portion as shown in FIG. 8. Specifically, in FIG. 8, when a virtual line (the line of sight of the virtual camera) from the virtual camera to the PC 201 passes through a terrain object (outside → inside → outside the terrain object) multiple times, the portions of the terrain object that are passed through (and their vicinity) are referred to as the first portion, second portion, and third portion, in order of proximity to the virtual camera. In the following description, each portion is treated as an individual occluding object. These portions may also be collectively referred to as "occluded portions." Note that the terrain object may be divided into these multiple portions. It may be a single object including the occluded portion, or may be configured by combining occluded portions that are separate objects. Also, in Figures 8 to 15, each of the three steps is shown with a different hatching pattern so that each step (height difference) can be easily distinguished.

[0078] An overview of the control process for the virtual camera in this embodiment will be described based on the positional relationship between the terrain object having the above-mentioned shape and the PC 201. In this embodiment, it is assumed that the point of gaze of the virtual camera is set to the PC 201. Then, it is assumed that when the PC 201 is obstructed by the terrain object (the nearest obstructing part) as viewed from the virtual camera and cannot be seen, the virtual camera is moved to a position where the PC 201 can be seen without being obstructed.

[0079] Here, to further explain the movement of the virtual camera, in this embodiment, it is assumed that the virtual camera is moved based on a user operation. Specifically, the user can change the depression angle of the virtual camera, for example, by using the right stick 52. The distance from the virtual camera to the PC 201 is determined based on this depression angle. In this embodiment, the greater the depression angle of the virtual camera, the farther the virtual camera is from the PC 201. Therefore, when the user performs an operation to increase the depression angle of the virtual camera (for example, by inputting the right stick 52 upward), the depression angle of the virtual camera increases, and the virtual camera moves away from the PC 201 (backwards). Conversely, when the user performs an operation to decrease the depression angle of the virtual camera (for example, by inputting the right stick 52 downward), the depression angle can be decreased. As the depression angle decreases, the distance between the virtual camera and the PC 201 decreases. As a result, the user can move the virtual camera closer to the ground and the PC 201 by this operation.

[0080] The processing according to this embodiment can also be applied to automatic control, such as moving the virtual camera so that it follows the PC 201.

[0081] Next, an example of virtual camera movement in this embodiment will be described. Specifically, an example will be described in which the virtual camera finally moves from a state in which it is at the "start position" shown in FIG. 9 to a "position H." First, when the virtual camera is at the above-mentioned "initial position," a screen such as that shown in FIG. 10 is displayed. FIG. 10 shows a state in which the PC 201 is not obstructed as viewed from the virtual camera. Also, FIG. 10 shows a screen in which a part of the step portion of the terrain object is reflected.

[0082] Next, assume that the virtual camera in FIG. 9 moves slightly downward from the "initial position" and reaches "position A." FIG. 11 shows an example of a screen when the virtual camera is at "position A." At "position A," the virtual camera is not in contact with the terrain object, but the three portions are in its line of sight (see FIG. 8). That is, the first portion, the second portion, and the third portion are on the virtual line. Therefore, when viewed from the virtual camera, the PC 201 is hidden by the first portion. In the example screen shown in FIG. 11, most of the screen is covered by the first portion, which is closest to the virtual camera.

[0083] 11, in this embodiment, when the PC 201 is obstructed as viewed from the virtual camera, the PC 201 is displayed in silhouette. This allows the user to visually recognize (understand) the position of the obstructed PC 201. When only a portion of the PC 201 is obstructed, only the obstructed portion may be displayed in silhouette.

[0084] As described above, at "position A," three occluded areas exist on the virtual line. Let us now consider a case where the virtual camera subsequently descends further and comes into contact with the first portion. In this case, when moving the virtual camera to a position where PC 201 is not occluded, conventionally, the virtual camera would typically pass through (go over) the multiple occluded areas at once and move to "position G" (or "position H"), where the virtual camera is not occluded, in an instant or in a very short time. However, this type of control can cause abrupt changes in the image, potentially reducing visibility. For example, if the virtual camera moves a relatively long distance in an instant, such abrupt changes in viewpoint can make it difficult for the user to grasp the positional relationships within the virtual space.

[0085] Therefore, in this embodiment, when there are multiple occluded areas on the line of sight from the virtual camera to the target object and the virtual camera is moved to a position where the line of sight is not occluded, the virtual camera is controlled so that it passes over these occluded areas one by one in a stepwise manner, rather than passing over these multiple occluded areas all at once. By controlling the passing over in a stepwise manner in this way, it is possible to suppress a sudden change in the viewpoint position and prevent a decrease in visibility.

[0086] Specifically, in this embodiment, when PC 201 is occluded and the virtual camera comes into contact with or is buried in the occluded portion (both are collectively referred to as "contact" in the following description), the virtual camera is caused to pass through the occluded portion to a position where PC 201 is not occluded by the occluded portion. Hereinafter, such movement that passes through the occluded portion is referred to as a "slip-through movement." Furthermore, the position where PC 201 is not occluded by the occluded portion, which is the destination of the slip-through movement, is referred to as a "slip-through position." The slip-through position is assumed to be the position immediately after the virtual line first passes through the first portion, or a position closer to the target of interest than the position immediately after the passage.

[0087] Regarding the pass-through destination position, for example, using the example in FIG. 9, first, the virtual camera moves from "position A" to "position B," resulting in contact with the first portion. In this case, a position immediately after the first passing through the first portion is calculated on the virtual line from the virtual camera toward PC 201. Then, this position, or a position closer to PC 201 than this position, is determined as the pass-through destination position. In this embodiment, an example will be described in which the latter position is used as the pass-through destination position. More specifically, a position on the virtual line that is adjacent to PC 201 from a position immediately after passing through the obstructed portion (the first portion in FIG. 8) that is in contact, and where the virtual camera does not come into contact with the obstructed portion, is determined as the pass-through position.

[0088] The virtual camera is moved to the pass-through position thus determined, which is "position C" in the example of FIG. 9. This movement may be instantaneous, or may be performed by slowly passing through the first part. In the former case, the screen will appear to show the camera passing through the first part in an instant, while in the latter case, the image of the camera passing through the first part will be displayed on the screen over a short period of time. In either case, the distance traveled will be smaller than when passing through multiple occluded parts at once, which reduces the difficulty in grasping the positional relationship.

[0089] When the virtual camera is moved to pass through the first portion as described above and is at "position C," a screen such as that shown in FIG. 12 is displayed. At this point, two occluded portions (the second portion and the third portion) still exist on the virtual line. Therefore, the displayed screen shows part of the second portion on the virtual camera side (the foreground) and part of the third portion on the background. Also, because PC 201 is still occluded, it continues to be displayed as a silhouette.

[0090] As shown above, when the virtual camera is at "position C", PC201 is still occluded. In this state, the virtual camera is in a state where it is in contact with the first occluding portion. Therefore, as long as the operation to lower the virtual camera position continues, control is performed to continue moving the virtual camera through the second portion. However, in this embodiment, after the virtual camera has been moved to the first position, the second portion is not moved through unless the "re-movement condition" is satisfied. In other words, after moving through one occluded portion, the virtual camera is not immediately moved through the next occluded portion, but is controlled to move through the second portion only after the re-movement condition is satisfied. In this embodiment, the following condition is used as an example of the re-movement condition. First, the occluded portion that was in contact with the virtual camera before moving to the occluding destination position is defined as the first occluding object, and of the occluded portions on the virtual line as viewed from the occluding destination position, the nearest occluded portion is defined as the second occluding object. In the above example, the first portion corresponds to the first occluding object, and the second portion corresponds to the second occluding object. Furthermore, the occluding destination position for the first portion is defined as the first position, and the occluding destination position for the second portion is defined as the second position. Then, after moving to the first position, the re-movement condition for moving to the second position is that the virtual camera comes into contact with the second occluding object (second portion). Therefore, the virtual camera moves, for example, as follows. First, from the above-mentioned "position C," the virtual camera moves further down to "position D." As a result, the virtual camera comes into contact with the second portion, and the re-movement condition is satisfied. Then, "position E" is determined as the position to which the virtual camera will pass through the second portion. As a result, if the virtual camera comes into contact with the second portion at "position D," the virtual camera will pass through and move from "position" D to "position E."

[0091] FIG. 13 is an example screen when the virtual camera is at "position E." This screen shows that the PC 201 is still occluded by the third portion. Then, similarly to the above, control is performed to move the virtual camera through the third portion, provided that the re-movement condition is satisfied. In this case, the second portion corresponds to the first occluding object, and the third portion corresponds to the second occluding object. Furthermore, the first position corresponds to "position E," and the second position corresponds to "position G." Therefore, after the virtual camera moves to "position E," the condition for the virtual camera to move through the third portion and move to "position G" is that the virtual camera must come into contact with the third portion. Therefore, the virtual camera moves as follows. First, the virtual camera moves from "position E" to "position F," resulting in the virtual camera coming into contact with the third portion. This satisfies the re-movement condition, and "position G" is determined as the destination position. The virtual camera then moves through the third portion from "position F" to "position G."

[0092] Figure 14 is an example of a screen when the virtual camera is at "position G." At "position G," there is no occluding portion (terrain object) that obscures PC 201, so the silhouette display of PC 201 is canceled. In addition, the depression angle of the virtual camera is close to 0 degrees, and the screen displayed shows a line of sight that is close to horizontal.

[0093] If the operation to further lower the virtual camera continues after this, a screen such as that shown in FIG. 15 will eventually be displayed. FIG. 15 is an example of a screen when the virtual camera is at "position H." At this point, the line of sight is horizontal (depression angle is 0 degrees). In this embodiment, once the depression angle of the virtual camera reaches 0 degrees, the virtual camera will not move further downward.

[0094] In this manner, in this embodiment, when there are multiple occluding objects that occlude the target on a virtual line from the virtual camera to the target, the virtual camera is moved stepwise so as to pass over the multiple occluding objects one by one, rather than overcoming all of them at once. This makes it possible to suppress sudden changes in viewpoint, such as the virtual camera moving instantaneously, and improve visibility when there are multiple occluding objects in front of the virtual camera.

[0095] Note that this embodiment illustrates an example in which the virtual camera is manually operated. Therefore, for example, the user can perform an operation to increase the depression angle of the virtual camera. As described above, as the depression angle of the virtual camera increases, the distance from PC 201 also increases. Therefore, the virtual camera moves in a direction away from PC 201. In other words, by performing an operation to increase the depression angle of the virtual camera, the user can also move the virtual camera in a direction opposite to the direction toward PC 201. The movement of the virtual camera in this case will be further explained. FIG. 16 is a diagram illustrating an example of the movement of the virtual camera when, for example, the user performs an operation to increase the depression angle of the virtual camera (an operation to increase the distance from PC 201) after passing through an occluding object. In such a case, the virtual camera moves backward from the pass-through position, and a position where it is buried in the occluding object may be calculated as the destination. When viewed from this destination, PC 201 appears to be occluded and in contact with (buried in) the occluding object. Therefore, the pass-through position described above is determined as the destination of the virtual camera. As a result, the virtual camera moves to a position slightly higher than its original position. By repeating this process, the virtual camera moves upward along the wall of the occluding object. Then, when it reaches the top of the occluding object and there is nothing in contact with it behind, the virtual camera continues to retreat (moving upward while moving away from PC 201).

[0096] [Details of the virtual camera control process of this embodiment] Next, the virtual camera control process in this embodiment will be described in more detail with reference to FIGS.

[0097] [About data usage] First, the various data used in this process will be described. Fig. 17 is a memory map showing an example of the various data stored in the DRAM 85 of the main unit 2. The DRAM 85 of the main unit 2 stores at least a game program 301, player object data 302, terrain object data 303, virtual camera data 304, operation data 305, and a silhouette flag 306.

[0098] The game program 301 is a program for executing game processing including virtual camera control processing in this embodiment.

[0099] The player object data 302 is data relating to the PC 201. The player object data 302 includes position data indicating the position of the PC 201, posture data indicating the posture of the PC 201, and the like.

[0100] The terrain object data 303 is data of terrain objects placed in the virtual space. The terrain object data 303 includes an ID for uniquely identifying each terrain object, information indicating the placement position, model data indicating the shape, polygon data, etc.

[0101] The virtual camera data 304 is data for controlling the virtual camera, and includes data indicating the position, attitude (depression angle), angle of view, movement speed, etc. of the virtual camera.

[0102] Next, the operation data 305 is data obtained from the controller operated by the user. That is, it is data indicating the operation content performed by the user. FIG. 18 shows an example of the data configuration of the operation data 305. The operation data 305 includes digital button data 351, right stick data 352, left stick data 353, right inertial sensor data 354, and , and left inertial sensor data 355. Digital button data 351 is data indicating the press states of various buttons on the controller. Right stick data 352 is data indicating the operation content of the right stick 52. Specifically, it includes two-dimensional data of x and y. Left stick data 353 is data indicating the operation content of the left stick 32. Right inertial sensor data 354 is data indicating the detection results of the inertial sensors, the acceleration sensor 114 and angular velocity sensor 115 of the right controller 4. Specifically, it includes three-axis acceleration data and three-axis angular velocity data. Left inertial sensor data 355 is data indicating the detection results of the inertial sensors, the acceleration sensor 104 and angular velocity sensor 105 of the left controller 3.

[0103] The silhouette flag 306 is a flag for indicating whether or not the PC 201 is to be displayed in silhouette mode. When the silhouette flag 306 is on, it indicates that the PC 201 is to be displayed in silhouette.

[0104] The pass-through flag 307 is a flag for determining whether or not to move the virtual camera to the pass-through destination position described above. The initial value is off, and when the pass-through flag 307 is on, it indicates that the virtual camera needs to be moved to the pass-through destination position.

[0105] In addition, although not shown, various data necessary for game processing is also stored in the DRAM 85.

[0106] [Details of the processing performed by Processor 81] Next, the virtual camera control process in this embodiment will be described in detail. In this embodiment, one or more processors read and execute the above program stored in one or more memories, thereby realizing the flowchart shown below. Note that the flowchart shown below is merely an example of the processing process. Therefore, the processing order of each step may be changed as long as the same results are obtained. Furthermore, the values ​​of variables and thresholds used in the determination steps are merely examples, and other values ​​may be used as necessary.

[0107] 19 is a flowchart showing details of the virtual camera control process according to this embodiment. The process according to this flowchart is repeatedly executed for each frame. It is assumed that a predetermined topographic object and PC 201 have already been placed in the virtual space before this process is executed.

[0108] First, in step S1, processor 81 determines whether pass-through flag 307 is on or not, based on operation data 305. If the result of this determination is off (NO in step S1), in step S2, processor 81 sets the depression angle of the virtual camera based on the operation data (that is, changes the attitude of the virtual camera). In the following step S3, processor 81 determines the distance from the virtual camera to PC 201 based on the set depression angle. As described above, the distance is determined to be larger the greater the depression angle. Then, in step S4, processor 81 moves the virtual camera to a position according to the determined distance (the position is necessarily determined once the depression angle and distance are determined).

[0109] Next, in step S5, processor 81 determines whether or not PC 201 is occluded by some occluding object as viewed from the virtual camera. That is, it determines whether or not an occluding object exists on the virtual line extending from the virtual camera to PC 201. If the result of the determination is that PC 201 is not occluded (NO in step S5), in step S11 processor 81 sets silhouette flag 306 to OFF. Then, the process proceeds to step S9, which will be described later.

[0110] On the other hand, if PC 201 is occluded (YES in step S5), in step S6 processor 81 sets silhouette flag 306 to ON. As a result, when PC 201 is occluded as seen from the virtual camera, settings are made to display PC 201 as a silhouette.

[0111] Next, in step S7, processor 81 determines whether or not the virtual camera is in contact with an obscuring object. If the result of this determination is that the virtual camera is not in contact (NO in step S7), the process proceeds to step S9, which will be described later. On the other hand, if the virtual camera is in contact (YES in step S7), in step S8, processor 81 determines the pass-through destination position as described above, based on the positional relationship between the obscuring object with which the virtual camera is currently in contact and PC 201. Then, processor 81 sets pass-through flag 307 to ON.

[0112] Next, in step S9, processor 81 generates a game image by capturing an image of the virtual space with the virtual camera. At this time, if silhouette flag 306 is on, processor 81 generates an image in which PC 201 is displayed as a silhouette. Then, processor 81 outputs the generated game image to a stationary monitor or the like.

[0113] Next, the process when the result of the determination in step S1 above is that the pass-through flag 307 is on will be described. In this case, in step S10, processor 81 moves the virtual camera to the pass-through destination position determined in step S8 above. That is, the virtual camera is moved to the pass-through destination position determined in the process related to the immediately preceding frame. Furthermore, processor 81 sets pass-through flag 307 to off. Thereafter, the process proceeds to step S5 above.

[0114] The above-described processing is repeatedly executed for each frame until, for example, a game end condition is satisfied. This concludes the detailed description of the virtual camera control processing according to this embodiment.

[0115] In this way, in this embodiment, when there are multiple occluding objects in front of the virtual camera (in the imaging direction), the virtual camera is moved in stages so as to pass over the multiple occluding objects one by one. This prevents abrupt changes in viewpoint caused by the virtual camera moving a relatively large distance at once, thereby improving visibility.

[0116] [Variations] In the above example, the re-movement condition is the virtual camera coming into contact with the "second occluding object" as described above. In this regard, other conditions may be used as the re-movement condition. For example, the re-movement condition may be that a predetermined waiting time has elapsed since the virtual camera was moved to the first position. Furthermore, for example, the re-movement condition may be that the virtual camera has moved a predetermined distance or more (towards the target) since the virtual camera was moved to the first position. Furthermore, these conditions may be used in combination for the determination.

[0117] In addition, in the above embodiment, the virtual camera is controlled such that the distance from the target increases as the depression angle of the virtual camera increases. In other embodiments, the virtual camera may be controlled to move closer to or farther away from the target without changing the depression angle.

[0118] In the above embodiment, a case has been described in which a series of processes relating to game processing is executed by a single main device 2. In other embodiments, the series of processes may be executed in an information processing system made up of a plurality of information processing devices. For example, in an information processing system including a terminal device and a server device that can communicate with the terminal device via a network, In the above-described information processing system, some of the processes may be executed by a server-side device. Furthermore, in an information processing system including a terminal-side device and a server-side device capable of communicating with the terminal-side device via a network, the main processes of the above-described series of processes may be executed by the server-side device, and some of the processes may be executed by the terminal-side device. In the above-described information processing system, the server-side system may be configured with multiple information processing devices, and the processes to be executed on the server side may be shared and executed by the multiple information processing devices. A so-called cloud gaming configuration may also be adopted. For example, the main unit 2 may be configured to send operation data indicating user operations to a predetermined server, and various game processes may be executed on the server, with the execution results being streamed to the main unit 2 as video and audio. [Explanation of symbols]

[0119] 1. Game System 2 Main unit 3 Left Controller 4 Right Controller 81 processors 84 Flash memory 85 DRAM

Claims

1. An information processing program executed on a computer of an information processing device, The computer a collision determination means for determining whether a line segment connecting a virtual camera that captures an image of a target in a virtual space and the target collides with a first portion of an object; a virtual camera control means for, when it is determined by the collision determination means that the line segment will collide with a first portion of the object, moving the virtual camera to a position where the line segment will not collide with the first portion of the object and where the virtual camera approaches the target of interest; functioning as a re-movement determination means for determining whether or not a re-movement condition is satisfied, the re-movement condition including a predetermined time having elapsed since it was determined that a line segment connecting the moved virtual camera and the target of interest will collide with a second portion of the object, after the virtual camera has been moved by the virtual camera control means; The virtual camera control means If the re-movement condition is satisfied, move the virtual camera to a position where the line segment does not collide with a second portion of the object and where the virtual camera approaches the target of interest; If the re-movement condition is not satisfied, the virtual camera is not moved. Information processing program.

2. 2. The information processing program according to claim 1, wherein the virtual camera control means determines that the re-movement condition is satisfied when the virtual camera has moved a predetermined distance or more from a time when the virtual camera was moved to a position where the line segment does not collide with the object and where the virtual camera approaches the target of interest.

3. The information processing program according to claim 1 , wherein the virtual camera control means controls the virtual camera so that the distance to the target becomes shorter as the depression angle of the virtual camera becomes smaller.

4. The information processing program according to claim 1 , wherein the virtual camera control means controls at least one of the position and the attitude of the virtual camera based on a camera control input by a user.

5. The information processing program according to claim 1 , wherein the target of attention is a player character.

6. The information processing program according to claim 1, further causing the computer to function as a drawing means for drawing at least a portion of the target object in a manner that allows it to be seen through the object when at least a portion of the target object is occluded by the object as viewed from the virtual camera.

7. 2. The information processing program according to claim 1, wherein the virtual camera control means moves and changes the attitude of the virtual camera with the target of interest as a point of gaze.

8. a collision determination means for determining whether a line segment connecting a virtual camera that captures an image of a target in a virtual space and the target collides with a first portion of an object; a virtual camera control means for, when it is determined by the collision determination means that the line segment will collide with a first portion of the object, moving the virtual camera to a position where the line segment will not collide with the first portion of the object and where the virtual camera approaches the target of interest; a re-movement determination means for determining whether or not a re-movement condition is satisfied after the virtual camera control means has moved the virtual camera, the re-movement condition including a predetermined time having elapsed since it was determined that a line segment connecting the moved virtual camera and the target of interest will collide with a second portion of the object, The virtual camera control means If the re-movement condition is satisfied, move the virtual camera to a position where the line segment does not collide with a second portion of the object and where the virtual camera approaches the target of interest; If the re-movement condition is not satisfied, the virtual camera is not moved. Information processing device.

9. a collision determination means for determining whether a line segment connecting a virtual camera that captures an image of a target in a virtual space and the target collides with a first portion of an object; a virtual camera control means for, when it is determined by the collision determination means that the line segment will collide with a first portion of the object, moving the virtual camera to a position where the line segment will not collide with the first portion of the object and where the virtual camera approaches the target of interest; a re-movement determination means for determining whether or not a re-movement condition is satisfied after the virtual camera control means has moved the virtual camera, the re-movement condition including a predetermined time having elapsed since it was determined that a line segment connecting the moved virtual camera and the target of interest will collide with a second portion of the object, The virtual camera control means If the re-movement condition is satisfied, move the virtual camera to a position where the line segment does not collide with a second portion of the object and where the virtual camera approaches the target of interest; If the re-movement condition is not satisfied, the virtual camera is not moved. Information processing system.

10. An information processing method executed by a computer of an information processing device, The computer, determining whether a line segment connecting a virtual camera capturing an image of a target object in a virtual space with the target object collides with a first portion of the object; when it is determined that the line segment collides with the first portion of the object, moving the virtual camera to a position where the line segment does not collide with the first portion of the object and where the virtual camera approaches the target of interest; After the virtual camera is moved, it is determined whether a re-movement condition is satisfied, including the lapse of a predetermined time period after it is determined that a line segment connecting the moved virtual camera and the target of interest collides with a second portion of the object; If the re-movement condition is satisfied, move the virtual camera to a position where the line segment does not collide with a second portion of the object and where the virtual camera approaches the target of interest; If the re-movement condition is not satisfied, the virtual camera is not moved. Information processing methods.

Citation Information

Patent Citations

  • Game image control device

    JP2002360920A

  • Game program and game apparatus

    JP2009011567A

  • Game program and game device

    JP2014184300A

  • Information processing program, information processing device, information processing system, and information processing method

    JP2014235538A

  • Information processing program, information processing system, information processing device, and information processing method

    JP2014235596A