WO2023189362A1 - コンピュータシステム、仮想空間制御システムおよび仮想空間制御方法 - Google Patents

コンピュータシステム、仮想空間制御システムおよび仮想空間制御方法 Download PDF

Info

Publication number
WO2023189362A1
WO2023189362A1 PCT/JP2023/009092 JP2023009092W WO2023189362A1 WO 2023189362 A1 WO2023189362 A1 WO 2023189362A1 JP 2023009092 W JP2023009092 W JP 2023009092W WO 2023189362 A1 WO2023189362 A1 WO 2023189362A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual space
space
virtual
viewpoint
user
Prior art date
Application number
PCT/JP2023/009092
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 株式会社バンダイナムコエンターテインメント
Publication of WO2023189362A1 publication Critical patent/WO2023189362A1/ja

Links

Images

Classifications

    • 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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • 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
    • 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/55Controlling game characters or game objects based on the game progress
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics

Definitions

  • the present invention relates to a computer system and the like that control a virtual space.
  • a virtual space (e.g., metaverse, game space, etc.) is constructed through computer processing, and the user's character (e.g., avatar, player character, etc.) is placed there, giving the user a virtual experience in the virtual space.
  • the user's character e.g., avatar, player character, etc.
  • Patent Document 1 discloses a technology that allows users who share one virtual space to communicate.
  • a method of reproducing the state of another virtual space is to carry out the same processing that is being executed in another virtual space (for example, controlling the movement of a character model, controlling game progress, etc.) in the same way in the destination virtual space.
  • this method has a problem in that the processing load on the computer system that controls the virtual space to be reproduced becomes extremely high. Therefore, it is difficult to realize this by simply reproducing the state of the second virtual space in the first virtual space.
  • a new method of realizing the second virtual space as if it existed in the first virtual space is required.
  • the problem to be solved by the present invention is to provide a new embodiment technique that makes it appear as if a second virtual space exists in a first virtual space.
  • a first disclosure is a computer system that separately controls a first virtual space and a second virtual space, a virtual space setting unit that sets a virtual space for expressing a given embodiment space in the first virtual space; a space expression control unit that arranges objects in the virtual space based on information about objects in the second virtual space and performs control to express the materialized space that materializes the second virtual space. It is a computer system.
  • the "computer system” referred to here may of course be composed of a single computer, or may be composed of multiple computers working together.
  • a computer system sets a virtual space within a first virtual space, and performs control to express a materialized space in which a second virtual space is materialized in this virtual space. Since the second virtual space is materialized within a smaller virtual space within the first virtual space, the processing load associated with materialization can be suppressed. Thereby, it is possible to provide a new embodiment technique that makes it appear as if the second virtual space exists in the first virtual space.
  • the spatial representation control unit arranges objects corresponding to objects in the second virtual space in the virtual space in an arrangement based on the arrangement in the second virtual space. It is a computer system that controls the representation of materialized space.
  • the computer system stores an object corresponding to an object in the second virtual space in order to materialize the object in the second virtual space (object to be materialized) in the second virtual space. can be placed in the virtual space based on the arrangement configuration in .
  • a third disclosure is a computer, wherein the space expression control unit is capable of expressing the second virtual space with a smaller amount of calculation than the amount of calculation required to completely reproduce the second virtual space. It is a system.
  • the computer system can express the second virtual space with a smaller amount of calculation than when completely reproducing the second virtual space.
  • a fourth disclosure is a computer system in which the space expression control unit performs control to express the materialized space based on a photographed image of the second virtual space from a given photographing viewpoint.
  • the spatial representation control unit arranges a virtual object within the field of view of a given user viewpoint in the first virtual space, and the spatial representation control unit arranges the virtual object within the field of view of a given user viewpoint in the first virtual space, and
  • the computer system controls the expression of the materialized space by performing a drawing process to draw a virtual object based on the user's viewpoint.
  • the computer system maps a photographed image photographed from a given photographing viewpoint of the second virtual space to a virtual object placed in the first virtual space. It is possible to express a materialized space that materializes the virtual space of
  • the spatial representation control unit includes a virtual object control unit that controls the position and/or orientation of the virtual object according to the position and/or orientation of the user viewpoint in the first virtual space. It is a computer system with
  • the computer system can control the position and orientation of a virtual object placed in the first virtual space according to the position and orientation of the user's viewpoint in the first virtual space. For example, it is possible to control a virtual object to face the user's viewpoint, or to omit control of a virtual object located outside the field of view of the user's viewpoint.
  • the virtual object control unit arranges the virtual object in a posture having a predetermined relative orientation with respect to the user viewpoint, following a change in the position and/or orientation of the user viewpoint. It is a computer system that performs control.
  • the computer system can, for example, control the arrangement so that a predetermined surface of a virtual object (for example, a mapping surface on which texture mapping is applied) continues to face the user's viewpoint.
  • a virtual object for example, a mapping surface on which texture mapping is applied
  • the virtual object may be a plate-like primitive surface.
  • the photographing viewpoints include a plurality of photographing viewpoints having different arrangement positions and/or orientations in the second virtual space
  • the spatial expression control unit is configured to control the plurality of photographing viewpoints.
  • This is a computer system that performs control to express the materialized space based on a photographed image photographed from any one of the photographing viewpoints.
  • the computer system can express the materialized space based on a photographed image taken from any one of a plurality of photographing viewpoints.
  • a ninth disclosure provides a photographing viewpoint control unit that controls the position and/or orientation of the photographing viewpoint in the second virtual space according to the position and/or orientation of the user viewpoint in the first virtual space;
  • a computer system further comprising:
  • a tenth disclosure is that the spatial expression control unit expresses the materialized space by associating the coordinates of the virtual space in the first virtual space with the coordinates of the second virtual space,
  • the embodiment space in which the second virtual space is fixedly embodied is expressed in a virtual space
  • the photographing viewpoint control unit is configured to control a change in the position and/or orientation of the user viewpoint with respect to the virtual space.
  • the computer system controls the position and/or orientation of the photographing viewpoint in the second virtual space so as to follow the photographing viewpoint.
  • the computer system can make the position and orientation of the photographing viewpoint in the second virtual space correspond to changes in the position and orientation of the user's viewpoint in the first virtual space. Furthermore, according to the tenth disclosure, it is possible to make the photographed image look as if the user participating in the first virtual space is in the second virtual space.
  • the second virtual space can be made to appear to users participating in the first virtual space as if it existed at a fixed position in the first virtual space.
  • An eleventh disclosure is that the spatial representation control unit performs the drawing process for each participating user participating in the first virtual space by arranging the user viewpoint corresponding to the participating user.
  • This is a computer system that performs control to express the materialized space as seen from a user's perspective.
  • the computer system can express the materialized space seen from the user viewpoint of each participating user in the first virtual space.
  • a twelfth disclosure is that a plurality of the second virtual spaces exist, and the virtual space setting unit sets the virtual space of each of the second virtual spaces in the first virtual space, and
  • the expression control unit is a computer system that performs the drawing process for each of the virtual spaces within the field of view of the user viewpoint corresponding to the participating user, for each participating user.
  • the computer system can set a plurality of second virtual spaces within a first virtual space, each corresponding to a plurality of second virtual spaces. If the first virtual space is compared to an exhibition hall, the virtual space corresponds to each pavilion. Therefore, the virtual experience that can be provided in the first virtual space becomes richer.
  • a thirteenth disclosure is a computer system in which the photographing viewpoint and a participating user viewpoint for users participating in the second virtual space are different.
  • the shooting viewpoint for embodying the second virtual space in the first virtual space and the viewpoint for participating users participating in the second virtual space can be separated.
  • a fourteenth disclosure is a computer system, wherein the second virtual space is a game space in which game progress is controlled based on operational inputs of users participating in the second virtual space.
  • the computer system can express, in the first virtual space, the state of the game being played in the second virtual space.
  • a fifteenth disclosure is a computer system configured to separately include a computer that controls the first virtual space and a computer that controls the second virtual space.
  • processing related to the first virtual space and processing related to the second virtual space can be distributed to each computer.
  • a sixteenth disclosure is a virtual space control system that includes a server system that is the computer system of each of the above-mentioned disclosures, and a user terminal that serves as a man-machine interface for a user participating in the first virtual space.
  • a seventeenth disclosure is a virtual space control method for separately controlling a first virtual space and a second virtual space, the method for expressing a given embodiment space in the first virtual space. setting a virtual space, placing objects in the virtual space based on information about objects in the second virtual space, and controlling to express the materialized space that materializes the second virtual space.
  • This is a virtual space control method including:
  • FIG. 7 is a diagram for explaining control of a second virtual space by a child server system.
  • FIG. 3 is a diagram for explaining control of a first virtual space by a parent server system.
  • FIG. 3 is a diagram for explaining a photographed image that is the basis of a materialized image.
  • FIG. 3 is a diagram for explaining an example of a calculation amount reduction process.
  • FIG. 2 is a block diagram showing an example of a functional configuration of a parent server system.
  • FIG. 2 is a block diagram showing an example of a functional configuration of a child server system.
  • FIG. 2 is a functional block diagram showing an example of a functional configuration of a user terminal.
  • FIG. 5 is a flowchart for explaining the flow of first virtual space control processing.
  • 5 is a flowchart for explaining the flow of first virtual space screen display processing.
  • 5 is a flowchart for explaining the flow of processing executed by the child server system.
  • FIG. 21 FIG. 3 is a diagram for explaining setting of candidate photographing viewpoints. 3 is a flowchart for explaining the flow of materialization viewpoint selection processing. Flowchart for explaining the flow of image providing processing.
  • FIG. 1 is a diagram showing a configuration example of a virtual space control system 1000.
  • the virtual space control system 1000 is a system that simultaneously provides a virtual experience in a virtual space to a large number of users.
  • the virtual space control system 1000 is a computer system including an operational server system 1010 and user terminals 1500 (1500a, 1500b, . . . ) for each user, which are connected to each other for data communication via the network 9.
  • User terminal 1500 is a man-machine interface (MMIF).
  • MMIF man-machine interface
  • the network 9 means a communication path that allows data communication. That is, the network 9 includes a LAN (Local Area Network) such as a dedicated line (dedicated cable) and Ethernet (registered trademark) for direct connection, as well as a telephone communication network, a cable network, and the Internet.
  • LAN Local Area Network
  • dedicated line dedicated cable
  • Ethernet registered trademark
  • the operational server system 1010 is a computer system managed and operated by a service provider/system operator, and includes a parent server system 1100P and a plurality of child server systems 1100G (1100Ga, 1100Gb,).
  • the parent server system 1100P and the child server system 1100G (1100Ga, 1100Gb,...) are capable of data communication with each other via the network 9, and each is capable of data communication with the user terminal 1500 via the network 9. .
  • the parent server system 1100P is a computer system that controls and manages the first virtual space, and is the server system that the user terminal 1500 first accesses in order to use various services related to the virtual space control system 1000.
  • the child server systems 1100G (1100Ga, 1100Gb,...) each individually control and manage the second virtual space, communicate with one or more user terminals 1500, and serve as game servers with the user terminals 1500 as game clients. It fulfills the function of
  • Parent server system 1100P and child server system 1100G have basic functions as computers. That is, the parent server system 1100P and the child server system 1100G have a main unit, a keyboard, and a touch panel, and a control board 1150 is mounted on the main unit.
  • the control board 1150 includes various microprocessors such as a CPU (Central Processing Unit) 1151, a GPU (Graphics Processing Unit), and a DSP (Digital Signal Processor), various IC memories 1152 such as VRAM, RAM, and ROM, and a communication device 1153. It is installed.
  • control board 1150 may be realized using an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or an SoC (System on a Chip).
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • SoC System on a Chip
  • the parent server system 1100P and the child server system 1100G realize separate functions by the control board 1150 performing arithmetic processing based on predetermined programs and data.
  • the parent server system 1100P and the child server system 1100G are each depicted as being one server device, but they may be configured to be realized by multiple devices.
  • the parent server system 1100P may be configured to include a plurality of blade servers that share each function and are connected to each other via an internal bus so that they can communicate data.
  • the child server system 1100G may be configured to include a plurality of blade servers that share each function and are connected to each other via an internal bus so that they can communicate data.
  • the installation location of the hardware that constitutes the parent server system 1100P and the child server system 1100G does not matter.
  • a configuration may be adopted in which a plurality of independent servers installed in remote locations are caused to perform data communication via the network 9, thereby functioning as the operational server system 1010 as a whole.
  • the user terminal 1500 is a computer system used by a user to utilize the virtual space control system 1000.
  • the user terminal 1500 functions as a man-machine interface (MMIF) in the virtual space control system 1000.
  • MMIF man-machine interface
  • the user terminal 1500 is shown as a device called a smartphone, but if it is a computer system, it may be a wearable computer, a portable game device, a home game device, a tablet computer, a personal computer, or a standalone VR device.
  • a headset, etc. may also be used.
  • multiple electronic devices perform one function by being communicably connected, such as a combination of a smartphone, a smart watch connected to the smartphone, an optional VR headset, etc., these multiple electronic devices are It can be considered as one user terminal 1500.
  • the user terminal 1500 includes an operation input device (for example, a touch panel 1506, a keyboard, a game controller, a mouse, etc.), an image display device (for example, a touch panel 1506, a head-mounted display, a glass-type display, etc.), and a control board 1550. Be prepared.
  • an operation input device for example, a touch panel 1506, a keyboard, a game controller, a mouse, etc.
  • an image display device for example, a touch panel 1506, a head-mounted display, a glass-type display, etc.
  • a control board 1550 for example, Be prepared.
  • the control board 1550 is equipped with a CPU 1551, various microprocessors such as GPU and DSP, various IC memories 1552 such as VRAM, RAM, and ROM, a communication module 1553 connected to the network 9, and the like. These elements mounted on the control board 1550 are electrically connected via a bus circuit or the like, and are connected so that data can be read and written and signals can be transmitted and received. Part or all of the control board 1550 may be configured with ASIC, FPGA, or SoC.
  • the control board 1550 stores programs and various data in the IC memory 1552 for realizing the functions as a user terminal.
  • the user terminal 1500 realizes a function as a man-machine interface (MMIF) of the virtual space control system 1000 by executing a predetermined application program.
  • MMIF man-machine interface
  • the user terminal 1500 is configured to download application programs and various data necessary for their execution from the parent server system 1100P and child server system 1100G, but may also be configured to read them from a storage medium such as a memory card separately obtained by the user. .
  • FIG. 2 is a diagram for explaining control of the second virtual space 12 by the child server system 1100G.
  • the child server system 1100G is a computer system that controls the second virtual space 12, which is a three-dimensional virtual space, and holds the data of the second virtual space 12 and supports various systems placed in the second virtual space 12. control the arrangement and configuration of objects. The child server system 1100G then realizes an online game using these objects.
  • the second virtual space 12 is a game space in which the progress of the game is controlled based on the operation inputs of users participating in the second virtual space 12 (hereinafter referred to as "second participating users").
  • the child server system 1100G places the player character 4 in the second virtual space 12 with the user who has logged in for play as the player, and controls the movement of the player character 4 according to the operation input detected by the user terminal 1500 of the user. do. Additionally, NPCs (non player characters) are automatically controlled. That is, the child server system 1100G functions as a game server of a client-server type system, and provides a virtual experience of an online game to the second participating user who operates the user terminal 1500, which is a game client.
  • the child server system 1100G realizes an online fighting game in which player characters 4 (4a, 4b) of different second participating users fight one on one.
  • player characters 4 (4a, 4b) of different second participating users fight one on one.
  • illustration of background objects is omitted for convenience, the size of the second virtual space 12 is actually much wider than the example of FIG. 2, and various background objects form the field of battle.
  • the game genre of the online game realized by the child server system 1100G is not limited to fighting games, and can be set as appropriate.
  • it may be a MORPG (Multiplayer Online Role Playing Game), a racing game, a sports game such as soccer or baseball, or a strategy simulation game.
  • MORPG Multiplayer Online Role Playing Game
  • racing game a racing game
  • sports game such as soccer or baseball
  • strategy simulation game a racing game
  • it is not limited to online games, but may also be virtual live performances, training games, etc.
  • a participating user viewpoint C2 which is a shooting viewpoint for the second participating user, is set, and an image of the second virtual space 12 taken from the participating user viewpoint C2 (virtual space image) is rendered. Then, a game screen is generated in which appropriate information display for game play is added to the virtual space image.
  • the game screen is displayed as a second virtual space screen W2 on the user terminal 1500 of the second participating user, as shown in FIG.
  • the participating user viewpoint C2 can be set as appropriate depending on the game genre.
  • the position and line of sight direction of the participating user's viewpoint C2 are automatically controlled so as to maintain the screen layout in which the player characters 4 (4a, 4b) are viewed from the side. This is set as one participating user viewpoint C2 that is common to each of the second participating users during the match.
  • the game genre is MORPG
  • the participating user viewpoint C2 is prepared for each second participating user. Then, the placement position and placement direction (posture; direction of line of sight) are automatically controlled so that the player character 4 of the user is the main subject or the field of view of the player character 4 of the user is taken.
  • FIG. 4 is a diagram for explaining control of the first virtual space 11 by the parent server system 1100P.
  • the parent server system 1100P holds data of the first virtual space 11, which is a three-dimensional virtual space, and controls the arrangement and configuration of various objects arranged in the first virtual space 11. Then, the parent server system 1100P uses these objects to create the world of the first virtual space 11, and places the avatar 8 of each first participating user there.
  • the parent server system 1100P controls the movements and actions of the corresponding avatar 8 in accordance with various operations input by the first participating user into the user terminal 1500.
  • a user viewpoint C1 for the first participating user who uses the avatar 8 is set at a predetermined position on the head of the avatar 8.
  • the user viewpoint C1 is also moved in conjunction with the change in the direction of the line of sight (orientation of the visual field).
  • the parent server system 1100P renders (draws) the state of the first virtual space 11 photographed from the user viewpoint C1 for each avatar 8 (for each first participating user). Then, as shown in FIG. 5, an image showing the state of the first virtual space 11 that the avatar 8 is viewing, that is, a first virtual space screen W1, is displayed on the user terminal 1500 of the user of the avatar 8.
  • a first virtual space screen W1 is displayed on the user terminal 1500 of the user of the avatar 8.
  • the first virtual space 11 includes one or more virtual spaces 13, as shown in FIG.
  • the virtual space 13 is a materialization space 14 for materializing at least a portion of the second virtual space 12 (see FIG. 2).
  • the coordinate system of the first virtual space 11 in which the materialization space 14 is set and the coordinate system of the second virtual space 12 can be converted using a predetermined coordinate transformation matrix, and basically they have a fixed relationship. It is in. However, this is not the case when it is desired to move the materialized space 14 within the first virtual space 11.
  • the total number of virtual spaces 13 set in the first virtual space 11 and the position, shape, and size of each virtual space 13 in the first virtual space 11 can be set as appropriate.
  • the total number of embodiment spaces 14 set in one virtual space 13 and the position, shape, and size of the embodiment spaces 14 in the first virtual space 11 can be set as appropriate.
  • FIG. 4 shows an example in which one virtual space 13 is associated with one materialized space 14, the present invention is not limited to this.
  • FIG. 6 is a schematic diagram of a part of the first virtual space 11 viewed from above (the illustration of the avatar 8 is omitted), in which a plurality of virtual spaces 13 (13a, 13a, 13b,...) are set, and a plurality of realization spaces 14 (14a, 14b,...) are set in one virtual space 13.
  • the first virtual space 11 is the Expo venue
  • the virtual space 13 corresponds to thematic pavilions set up at the Expo venue
  • the embodiment space 14 corresponds to detailed theme pavilions set up in one pavilion. You could say it's equivalent to another booth.
  • one or more virtual objects 15 are arranged in association with each user viewpoint C1.
  • only one avatar 8, one user viewpoint C1, and three virtual objects 15 (15a, 15b, 15c) associated with the avatar 8 are depicted, but in actual operation, , a plurality of avatars 8 and user viewpoints C1 may exist for each first participating user. Then, one or more virtual objects 15 are prepared for each of the plurality of avatars 8 and the user viewpoints C1.
  • the virtual object 15 is an object with a simple shape and few constituent polygons.
  • it can be composed of a primitive surface, or it can be composed of one plate-shaped polygon.
  • Each virtual object 15 is one object to be materialized (object to be materialized) in the second virtual space 12 (virtual space to be materialized) linked to the materialization space 14. ).
  • the "object to be materialized” is an object selected from various objects arranged in the second virtual space 12 when materializing the object in the second virtual space 12 in the first virtual space 11. It is an object. Since the progress of the fighting game is controlled in the second virtual space 12, the player characters 4 (4a, 4b) and the item 5 owned by the player character 4a in the second virtual space 12 are materialized objects. Then, virtual objects 15 (15a, 15b, 15c) corresponding to each object to be materialized are arranged in the first virtual space 11.
  • the posture is controlled so that it points towards you. Therefore, the posture of each virtual object 15 is controlled so that it has a predetermined relative orientation with respect to the line-of-sight direction of the user viewpoint C1. So-called billboard processing is executed. Further, the arrangement of the virtual objects 15 in the virtual space 13 is controlled in conjunction with the arrangement of the corresponding object to be realized in the second virtual space 12.
  • FIG. 7 is a diagram for explaining a photographed image that is the basis of the embodied image 17.
  • the parent server system 1100P sends information to the child server system 1100G that manages the second virtual space 12 corresponding to the materialization space 14.
  • a request is made to set an embodiment viewpoint C3 corresponding to the user viewpoint C1 of the avatar 8.
  • the materialization viewpoint C3 is a photographing viewpoint for photographing a photographed image that is the source of the materialization image 17.
  • the materialized viewpoint C3 is a viewpoint in which the line-of-sight direction of the user viewpoint C1 is copied to the position of the user viewpoint C1 when the avatar 8 is assumed to exist in the second virtual space 12. Then, when the avatar 8 moves in the first virtual space 11 or changes the line of sight direction, the corresponding materialized viewpoint C3 changes its position in the second virtual space 12 or changes the line of sight direction. controlled to change.
  • the position and line-of-sight direction of the embodied viewpoint C3 are based on the position and line-of-sight direction of the user viewpoint C1 of the corresponding avatar 8 in the coordinate system of the first virtual space 11 and the coordinate system of the second virtual space 12. It is set by converting based on the coordinate transformation matrix between . Note that the photographing angle of view of the embodiment viewpoint C3 is set to be the same or approximately the same as that of the user viewpoint C1 of the corresponding avatar 8.
  • the child server system 1100G generates captured images 18 (18a, 18b, 18c) for each object to be materialized in the second virtual space 12 associated with the virtual object 15 from the materialization viewpoint C3.
  • the photographed image 18 is represented by a thick rectangular line in FIG. 7, but in practice, it is an image in which only the object to be photographed is drawn.
  • the photographed image 18a of the player character 4a which is the object to be materialized, is created by rendering only the character obtained by photographing the player character 4a from the materialization viewpoint C3. Background is not rendered.
  • the photographed image 18a may be created by rendering the full-field image of the embodiment viewpoint C3 and then cutting out only the portion where the player character 4a is depicted.
  • the child server system 1100G When the child server system 1100G generates the captured image 18 based on the materialization viewpoint C3, it transmits the data to the parent server system 1100P. As shown in FIG. 8, the parent server system 1100P performs calculation amount reduction processing on the received captured image 18 to create a materialized image 17.
  • Coding amount reduction processing is processing that reduces the amount of calculation required when generating the first virtual space screen W1, and includes, for example, image quality reduction processing such as changing from HD image quality to SD image quality (e.g. , reduce the number of colors, lower the resolution, etc.).
  • image quality reduction processing such as changing from HD image quality to SD image quality (e.g. , reduce the number of colors, lower the resolution, etc.).
  • the realized image 17 is then texture mapped onto the virtual object 15.
  • each virtual object 15 to which the realized image 17 is mapped are set so that the realized image 17 of the corresponding object to be realized can fit therein.
  • the size and shape of the virtual object 15 may be determined, for example, as a rectangle (or a slightly larger rectangle) having the same width as the vertical and horizontal widths of the materialized image 17.
  • the size and shape of the virtual object 15 may be determined by projecting a boundary box used for determining contact between objects of the player character 4 onto a normal plane (a plane whose normal line is the line of sight direction) of the materialization viewpoint C3. .
  • the processing load on the operational server system 1010 required for realization is as follows when completely reproducing the second virtual space 12 (all objects placed in the second virtual space 12 are duplicated and placed in the first virtual space 11). (if it is allowed).
  • the virtual objects 15 (15a, 15b, 15c) are constructed by texture mapping the embodied images 17 (17a, 17b, 17c) onto plate-shaped polygons, the amount of calculation is extremely small.
  • Control for expressing the embodiment space 14 that embodies the second virtual space 12 in the first virtual space 11 is set for each avatar 8.
  • virtual objects 15 15d, 15e, 15f
  • the materialized viewpoint corresponding to the user viewpoint C1b of the avatar 8b is set in the second virtual space 12 in the same manner as described above. .
  • the position and/or orientation of the materialization viewpoint of the avatar 8b in the second virtual space 12 is different from the photographing viewpoint for the avatar 8a.
  • the embodiment image 17 for the avatar 8b is created based on the photographed image 18 of the second virtual space 12 photographed from the embodiment viewpoint for the avatar 8b.
  • the virtual objects 15 (15a, 15b, 15c) for the avatar 8a are excluded from drawing targets (drawing OFF), and the It is rendered as an image taken of the virtual space 11 of 1.
  • the virtual objects 15 (15d, 15e15f) for the avatar 8b are excluded from drawing (drawing OFF), and then viewed from the user viewpoint C1a. It will be rendered as an image taken of the first virtual space 11.
  • the parent server system 1100P can embody the appearance of the second virtual space 12 in the first virtual space 11 without looking unnatural from any avatar 8 in the first virtual space 11.
  • FIG. 10 is a block diagram showing an example of the functional configuration of the parent server system 1100P.
  • the parent server system 1100P includes an operation input section 100p, a processing section 200p, a sound output section 390p, an image display section 392p, a communication section 394p, and a storage section 500p.
  • the operation input unit 100p is a means for inputting various operations for managing the parent server system 1100P. For example, keyboards, touch panels, mice, etc. fall under this category.
  • the processing unit 200p is realized by, for example, a processor serving as an arithmetic circuit such as a CPU, GPU, ASIC, or FPGA, as well as electronic components such as an IC memory, and is connected to each functional unit including the operation input unit 100p and the storage unit 500p. controls data input/output. Then, various calculation processes are executed based on predetermined programs and data, operation input signals from the operation input unit 100p, data received from the user terminal 1500, the child server system 1100G (1100Ga, 1100Gb,...), etc. The operation of the parent server system 1100P is controlled in an integrated manner.
  • the processing unit 200p includes a user management unit 202, a first virtual space control unit 210, a clock unit 280p, a sound generation unit 290p, an image generation unit 292p, and a communication control unit 294p.
  • a user management unit 202 includes a user management unit 202, a first virtual space control unit 210, a clock unit 280p, a sound generation unit 290p, an image generation unit 292p, and a communication control unit 294p.
  • a user management unit 202 includes a user management unit 202, a first virtual space control unit 210, a clock unit 280p, a sound generation unit 290p, an image generation unit 292p, and a communication control unit 294p.
  • functional units other than these can also be included as appropriate.
  • the user management unit 202 performs processing related to user registration procedures, storage management of various information linked to user accounts, and system login/system logout processing.
  • the first virtual space control unit 210 performs various controls related to the first virtual space 11.
  • the first virtual space control section 210 includes a virtual space setting section 212 and a space representation control section 214.
  • the virtual space setting unit 212 sets a virtual space 13 for expressing the embodiment space 14 within the first virtual space 11. If a plurality of second virtual spaces 12 exist, the virtual space setting unit 212 sets a virtual space 13 for each of the second virtual spaces 12 within the first virtual space 11.
  • the spatial representation control unit 214 arranges objects in the virtual space 13 based on information about objects in the second virtual space 12, and converts a materialized space 14 that materializes the second virtual space 12 into a second virtual space. 12 is expressed based on a photographed image 18 photographed from a given photographing viewpoint (embodiment viewpoint C3 in FIG. 7).
  • the spatial expression control unit 214 associates the coordinates of the virtual space 13 in the first virtual space 11 with the coordinates of the second virtual space 12 and expresses the materialized space 14, thereby creating a virtual space.
  • 13 represents a materialized space 14 in which the second virtual space 12 is fixedly materialized.
  • the spatial representation control unit 214 arranges, for each participating user participating in the first virtual space 11, a user viewpoint C1 corresponding to the participating user.
  • the spatial expression control unit 214 performs a drawing process on each of the virtual spaces 13 within the field of view of the user viewpoint C1 corresponding to the participating user, thereby performing control to express the materialized space 14 seen from each user's viewpoint. .
  • the spatial expression control unit 214 expresses the materialized space by arranging virtual objects 15 corresponding to objects in the second virtual space 12 in an arrangement based on the arrangement of the second virtual space 12. Take control. Specifically, the spatial representation control unit 214 arranges the virtual object 15 within the field of view of the user viewpoint C1 in the first virtual space 11. Then, the spatial representation control unit 214 performs a drawing process to draw the virtual object 15 to which the image based on the captured image 18 (the materialized image 17 in FIG. 4) has been mapped, based on the user viewpoint C1, thereby creating the materialized space. Control the expression.
  • the spatial representation control unit 214 includes a virtual object control unit 216.
  • the virtual object control unit 216 controls the position and/or orientation of the virtual object 15 according to the position and/or orientation of the user viewpoint C1 in the first virtual space 11. Specifically, the virtual object control unit 216 arranges the virtual object 15 in a posture with a predetermined relative orientation to the user viewpoint C1, following changes in the position and/or orientation of the user viewpoint C1. Take control. This corresponds to billboard processing for the virtual object 15 (see FIG. 4).
  • the clock unit 280p measures various times such as the current date and time and time limit using the system clock.
  • the sound generation unit 290p is realized by executing an IC or software that generates and decodes audio data.
  • the sound generation section 290p outputs the generated audio signal to the sound output section 390p.
  • the sound output unit 390p is realized by a speaker or the like, and emits sound based on the audio signal.
  • the image generation unit 292p generates images of various management screens for system management of the parent server system 1100P, and outputs image data to the image display unit 392p.
  • the image display section 392p is realized by a flat panel display, a head mounted display, a projector, or the like.
  • the communication control unit 294p executes data processing related to data communication and realizes data exchange with an external device via the communication unit 394p.
  • the communication unit 394p connects to the network 9 to realize communication.
  • it is realized by a wireless communication device, a modem, a TA (terminal adapter), a jack for a wired communication cable, a control circuit, and the like. In the example of FIG. 1, this corresponds to the communication device 1153.
  • the storage unit 500p stores programs and various data for realizing various functions for causing the processing unit 200p to integrally control the parent server system 1100P.
  • the storage unit 500p is used as a work area for the processing unit 200p, and temporarily stores calculation results executed by the processing unit 200p according to various programs.
  • This function is realized by, for example, an IC memory such as a RAM or ROM, a magnetic disk such as a hard disk, an optical disk such as a CD-ROM or DVD, an online storage, and the like. In the example of FIG. 1, this corresponds to a storage medium such as an IC memory 1152 or a hard disk mounted on the main unit. Online storage may be included in the storage unit 500p.
  • FIG. 11 is a diagram showing an example of programs and data stored in the storage unit 500p of the parent server system 1100P.
  • the storage unit 500p stores a parent server program 501, a first client program for distribution 502, child server registration data 510, user management data 520, first virtual space control data 522, and current date and time 900. do. Note that the storage unit 500p also stores other programs and data (eg, timers, counters, various flags, etc.) as appropriate.
  • the parent server program 501 is a program that is read and executed by the processing unit 200p to cause the parent server system 1100P to function as the user management unit 202, the first virtual space control unit 210, etc.
  • the first client program for distribution 502 is an application program provided to and executed by the user terminal 1500, and is an original client program for using the first virtual space 11.
  • Child server registration data 510 is prepared for each child server system 1100G.
  • the child server registration data 510 includes a unique server ID, a virtual space ID uniquely set to the second virtual space 12 managed by the child server system 1100G, and information that enables data communication to the child server system 1100G. server access information needed to connect.
  • server ID unique server ID
  • server access information needed to connect.
  • data other than these can also be included as appropriate.
  • the user management data 520 is prepared for each user who has completed the registration procedure, stores various data related to the user, and is managed by the user management unit 202.
  • One piece of user management data 520 includes, for example, a user-specific user account, game save data, participation history data (for example, login and logout dates and times), and the like. Of course, data other than these can also be included as appropriate.
  • the first virtual space control data 522 stores various data related to control of the first virtual space 11.
  • the first virtual space control data 522 stores avatar management data 524 for each avatar 8, virtual space management data 530, and first virtual space screen display control data 550.
  • the avatar management data 524 includes, for example, a user account indicating the first participating user who uses the avatar 8, a user viewpoint position and a user gaze direction of the user viewpoint C1 of the avatar 8, and an avatar for controlling objects of the avatar 8. Contains object control data, etc.
  • the virtual space management data 530 is created for each virtual space 13 and stores various data related to the virtual space 13.
  • One piece of virtual space management data 530 includes, for example, a virtual space ID 531, virtual space definition data 533, and a materialization space created for each materialization space 14 set in the virtual space 13, as shown in FIG. management data 540.
  • data other than these may also be stored as appropriate.
  • the virtual space definition data 533 indicates where and in what shape the virtual space 13 is set in the first virtual space 11. For example, it includes the positional coordinates of the representative point of the virtual space 13 in the first virtual space coordinate system, boundary setting data for setting the boundary of the virtual space 13 (for example, each apex coordinate of the boundary contour, etc.), and the like.
  • One piece of materialized space management data 540 includes a management server ID 541, materialized space definition data 542, and coordinate transformation definition data 544.
  • the management server ID 541 indicates a child server system 1100G that controls and manages the second virtual space 12 materialized in the materialization space 14.
  • the materialization space definition data 542 indicates where and in what shape the materialization space 14 is set in the virtual space 13. For example, it includes data that defines the position and size of the materialized space 14 in the first virtual space 11 (for example, representative point position coordinates, boundary setting data, etc.).
  • the coordinate transformation definition data 544 converts the coordinate system of the first virtual space 11 in which the materialization space 14 is located (first virtual space coordinate system) to the coordinates of the second virtual space 12 materialized in the materialization space 14.
  • the transformation matrix to the system original virtual space coordinate system
  • the first virtual space screen display control data 550 includes various data related to the process of generating the embodied image 17 for each avatar 8 and displaying the first virtual space screen W1 on the user terminal 1500. Store.
  • the first virtual space screen display control data 550 includes, for example, as shown in FIG. A user viewpoint position 553 that is a position, a user gaze direction 555 that is a gaze direction of the user viewpoint C1, and registered embodiment space management data 560 are stored.
  • the registered embodiment space management data 560 is created every time a new embodiment space 14 within the field of view of the avatar 8 is newly detected, and stores various data related to the embodiment space 14.
  • One registered embodiment space management data 560 includes a management server ID 561, an applied embodiment viewpoint ID 562, an embodiment target object list 564, and space expression control data 566.
  • the management server ID 561 indicates a child server system 1100G that controls and manages the second virtual space 12 that is the source of the materialized space 14.
  • the applied embodiment viewpoint ID 562 is the embodiment viewpoint C3 set in the second virtual space 12 of the child server system 1100G indicated by the management server ID 561, and indicates the embodiment viewpoint C3 of the avatar 8 indicated by the avatar ID 551.
  • the materialization target object list 564 is a list of object IDs of the materialization target objects in the second virtual space 12 that are materialized in the materialization space 14.
  • the materialization target object list 564 is provided by the child server system 1100G by sending a predetermined request from the parent server system 1100P to the child server system 1100G indicated by the management server ID 561. This list becomes the source of the virtual object 15 (see FIG. 4) to be set for the avatar 8 indicated by the avatar ID 551.
  • the space expression control data 566 is a control data group that expresses the materialized space 14.
  • the spatial representation control data 566 includes virtual object control data 570 for each object in the materialization target object list 564.
  • One virtual object control data 570 includes a unique virtual object ID 572 , a materialization target object ID 574 indicating a target to be materialized by the virtual object 15 , object shape data 576 , and a placement position 578 in the first virtual space 11 , an arrangement orientation 580, captured image data 584 of the object to be realized indicated by the object to be realized ID 574, and realized image data 586 to be texture mapped to the virtual object 15.
  • the arrangement orientation 580 indicates the orientation of the virtual object 15. If the virtual object 15 is a plate-shaped polygon, it indicates the normal direction of the mapping surface to be texture mapped.
  • FIG. 14 is a block diagram showing an example of the functional configuration of the child server system 1100G (1100Ga, 1100Gb,).
  • the child server system 1100G includes an operation input section 100g, a processing section 200g, a sound output section 390g, an image display section 392g, a communication section 394g, and a storage section 500g.
  • the operation input unit 100g is a means for inputting various operations for managing the child server system 1100G.
  • keyboards, touch panels, mice, VR controllers, etc. fall under this category.
  • the processing unit 200g is realized by electronic components such as an IC memory as well as a processor serving as an arithmetic circuit such as a CPU, GPU, ASIC, or FPGA, and is connected to each functional unit including an operation input unit 100g and a storage unit 500g. controls data input/output.
  • the child server system 1100G executes various calculation processes based on predetermined programs and data, operation input signals from the operation input unit 100g, data received from the user terminal 1500, the parent server system 1100P, etc. Control operations in an integrated manner.
  • the processing section 200g includes a second virtual space control section 230, a clock section 280g, a sound generation section 290g, an image generation section 292g, and a communication control section 294g.
  • a second virtual space control section 230 includes a clock section 280g, a sound generation section 290g, an image generation section 292g, and a communication control section 294g.
  • functional units other than these can also be included as appropriate.
  • the second virtual space control unit 230 performs various controls related to the second virtual space 12. Since the second virtual space 12 is a game space, the second virtual space control unit 230 realizes the function of a game server. For example, various controls related to participation registration control (play login) of the user who is a player (second participating user), control of the player character 4, game progress control, NPC control, background object management, etc. are executed.
  • the second virtual space control section 230 includes a photographing viewpoint control section 232 and a photographed image generation control section 234.
  • the photographing viewpoint control unit 232 sets a photographing viewpoint in the second virtual space 12, and controls its position and viewing direction (orientation). Specifically, the photographing viewpoint control unit 232 sets and controls the participating user viewpoint C2 and the embodiment viewpoint C3 (see FIG. 7).
  • the position of the materialized viewpoint C3 for the avatar 8 is further determined according to the position and/or orientation of the user viewpoint C1 corresponding to the avatar 8 of the second participating user in the first virtual space 11. and/or control orientation.
  • the corresponding materialized viewpoint C3 also moves in the second virtual space 12, and the position and line-of-sight direction change. Trace control is performed on the materialization viewpoint C3 so that the actualization viewpoint C3 changes.
  • the photographed image generation control unit 234 performs control related to the generation of photographed images 18 (see FIG. 7) in which the object to be materialized is photographed for each materialization viewpoint C3.
  • the timekeeping unit 280g uses the system clock to measure various times such as the current date and time and time limit.
  • the sound generation unit 290g is realized by executing an IC and software that generates and decodes audio data, and performs system management of the child server system 1100G, operation sounds and sound effects related to providing online games, BGM, voice calls, etc. Generate or decode audio data. Then, audio signals related to system management are output to the sound output section 390g.
  • the sound output unit 390g is realized by a speaker or the like, and emits sound based on the audio signal.
  • the image generation unit 292g generates images of various management screens for system management of the child server system 1100G, and outputs a display control signal for displaying the generated images to the image display unit 392g.
  • the image display section 392g is realized by a device that displays images, such as a flat panel display, a head mounted display, or a projector.
  • the image generation unit 292g also generates images related to game play. For example, rendering (drawing processing) of an image taken of the second virtual space 12 from the participating user viewpoint C2 and generation of the second virtual space screen W2 to be displayed on each user terminal 1500 are performed (see FIG. 2).
  • the image generation unit 292g also performs rendering (drawing processing) of an image (captured image 18; see FIG. 7) of the second virtual space 12 taken from the materialization viewpoint C3.
  • the communication control unit 294g realizes data exchange with an external device via the communication unit 394g.
  • the communication unit 394g connects to the network 9 to realize communication.
  • it is realized by a wireless communication device, a modem, a TA (terminal adapter), a jack for a wired communication cable, a control circuit, and the like. In the example of FIG. 1, this corresponds to the communication device 1153.
  • the storage unit 500g stores programs and various data for realizing various functions for causing the processing unit 200g to integrally control the child server system 1100G. It is also used as a work area for the processing section 200g, and temporarily stores calculation results executed by the processing section 200g according to various programs.
  • This function is realized by, for example, an IC memory such as a RAM or ROM, a magnetic disk such as a hard disk, an optical disk such as a CD-ROM or DVD, an online storage, and the like. In the example of FIG. 1, this corresponds to a storage medium such as an IC memory 1152 or a hard disk mounted on the main unit. Online storage may be included in the storage unit 500g.
  • the storage unit 500g stores, for example, a child server program 503, a second distribution client program 504, game initial setting data 590, second virtual space control data 600, and current date and time 900. Of course, data other than these may be stored as appropriate.
  • the child server program 503 is a program that is read and executed by the processing unit 200g to cause the processing unit 200g to function as the second virtual space control unit 230.
  • the child server program 503 is also a game server program that realizes the function as a game server.
  • the second client program for distribution 504 is an original application program provided to and executed by the user terminal 1500 accessing the child server system 1100G. Note that the second client program for distribution 504 may be included in the first client program for distribution 502 (see FIG. 11).
  • the game initial setting data 590 stores various initial setting data for the online game.
  • object definition data 592 is stored.
  • the object definition data 592 is prepared for each object placed in the second virtual space 12, and stores various initial setting data related to the object.
  • the object definition data 592 includes an object ID, a realization target flag that is set to "1" when the object is a realization target object, and an object model.
  • data other than these can also be included as appropriate.
  • FIG. 15 is a diagram showing a data configuration example of the second virtual space control data 600.
  • the second virtual space control data 600 corresponds to game space control data, and includes, for example, a unique virtual space ID 601, second participating user management data 602, game progress control data 604, and object control data 610. , including participating user viewpoint control data 630 and embodied viewpoint control data 640. Of course, data other than these can also be included as appropriate.
  • the second participating user management data 602 is created every time the second participating user logs in to play the game, and stores the user account, the object ID of the player character 4, and the like.
  • the object control data 610 is created for each object placed in the second virtual space 12, and stores various data related to the object.
  • One object control data 610 includes, for example, an object ID 611, an object category 613 indicating whether the object is a background object or a player character 4, a materialization target flag 615, a placement position 617, and a placement posture 619. and, including.
  • data other than these, such as operation control data can also be included as appropriate.
  • Participating user viewpoint control data 630 is created for each participating user viewpoint C2, and stores various data describing the latest state.
  • Participating user viewpoint control data 630 includes a shooting viewpoint ID 631, an applicable user account 633 indicating a second participating user who uses the viewpoint, a placement position 635 in the second virtual space 12, and a second virtual space 12.
  • the line of sight direction 637 (arrangement direction) is included. Of course, data other than these can also be included as appropriate.
  • the materialized viewpoint control data 640 is created for each materialized viewpoint C3, and stores various data related to the materialized viewpoint C3.
  • One piece of realized viewpoint control data 640 includes a photographing viewpoint ID 641 , an applied avatar ID 643 indicating which avatar 8 the viewpoint is for, a placement position 645 in the second virtual space 12 , and a second virtual space 12 .
  • the line of sight direction 647 is included. Of course, data other than these can also be included as appropriate.
  • FIG. 16 is a functional block diagram showing an example of the functional configuration of the user terminal 1500.
  • the user terminal 1500 includes an operation input section 100, a terminal processing section 200, a sound output section 390, an image display section 392, a communication section 394, and a terminal storage section 500.
  • the operation input unit 100 outputs operation input signals corresponding to various operation inputs made by the user to the terminal processing unit 200.
  • it can be realized by a push switch, joystick, touch pad, trackball, acceleration sensor, gyro, VR controller, etc.
  • the terminal processing unit 200 is realized by, for example, a microprocessor such as a CPU or GPU, or an electronic component such as an IC memory, and controls data input/output between each functional unit including the operation input unit 100 and the terminal storage unit 500. I do.
  • the operation of the user terminal 1500 is controlled by executing various calculation processes based on predetermined programs and data, operation input signals from the operation input unit 100, and various data received from the parent server system 1100P and the child server system 1100G. Control.
  • the terminal processing unit 200 includes a client control unit 260, a clock unit 280, a sound generation unit 290, an image generation unit 292, and a communication control unit 294.
  • the client control unit 260 performs various controls as a client or a game client in the virtual space control system 1000, and causes the user terminal 1500 to function as a man-machine interface (MMIF).
  • the client control section 260 includes an operation input information providing section 261 and a display control section 262.
  • the operation input information providing unit 261 controls the transmission of operation input information to the parent server system 1100P and child server system 1100G in response to input from the operation input unit 100.
  • the display control unit 262 performs control to display various images based on data received from the parent server system 1100P and child server system 1100G.
  • the clock unit 280 measures the current date and time, time limit, etc. using the system clock.
  • the sound generation unit 290 is realized by, for example, a digital signal processor (DSP), a processor such as a voice synthesis IC, an audio codec that can play audio files, etc., and generates sound signals for music, sound effects, and various operation sounds. , is output to the sound output section 390.
  • the sound output section 390 is realized by a device such as a speaker that outputs sound based on the sound signal input from the sound generation section 290.
  • the image generation unit 292 outputs a display control signal that causes the image display unit 392 to display an image based on the control of the client control unit 260.
  • this includes a GPU (Graphics Processing Unit), a graphics controller, a graphics board, etc. mounted on the control board 1550.
  • the image display unit 392 is realized by a device that displays images, such as a flat panel display, a display element of a VR headset, a projector, or the like.
  • the communication control unit 294 executes data processing related to data communication and realizes data exchange with an external device via the communication unit 394.
  • the communication unit 394 connects to the network 9 to realize communication.
  • it is realized by a wireless communication device, a modem, a TA (terminal adapter), a jack for a wired communication cable, a control circuit, and the like.
  • this corresponds to the communication module 1553.
  • the terminal storage unit 500 stores programs and various data for making the terminal processing unit 200 realize a given function. It is also used as a work area for the terminal processing section 200, and temporarily stores calculation results executed by the terminal processing section 200 according to various programs, input data input from the operation input section 100, and the like.
  • These functions are realized by, for example, IC memories such as RAM and ROM, magnetic disks such as hard disks, optical disks such as CD-ROMs and DVDs, and the like. In the example of FIG. 1, this corresponds to the IC memory 1552 mounted on the control board 1550.
  • the terminal storage unit 500 stores a first client program 505 (application program), a second client program 506 (application program), and a current date and time 900.
  • data other than these can also be stored as appropriate. For example, tokens, flags, timers, counters, etc. are also stored.
  • the first client program 505 is a program for functioning as the client control unit 260 in order to use the first virtual space 11, and is acquired from the parent server system 1100P.
  • the second client program 506 is a program for functioning as the client control unit 260 for using the second virtual space 12, and is acquired from the child server system 1100G.
  • FIG. 17 is a flowchart for explaining the flow of the first virtual space control process executed by the parent server system 1100P.
  • the parent server system 1100P places a background object in the first virtual space 11 and starts automatic control of the first virtual space 11 (step S10). For example, automatic control of actions of NPCs (Non Player Characters), occurrence of events, etc. is started.
  • NPCs Non Player Characters
  • the parent server system 1100P communicates with the user terminal 1500 that executes the first client program 505 and receives a predetermined system login, it determines that there is a user who wishes to participate (YES in step S12), and assigns the user who has logged in to the system as a new user.
  • the avatar management data 524 is created for the new first participating user, the avatar 8 of that user is placed in the first virtual space 11, and the movement of the avatar 8 is controlled according to the operation input by the participating user.
  • start step S14
  • the user viewpoint C1 of the newly placed avatar 8 is set at a predetermined position of the avatar 8 (step S16). From now on, the user viewpoint C1 is automatically controlled in accordance with the motion control of the avatar 8 so as to be linked to the position and orientation of the avatar 8's head.
  • the parent server system 1100P executes loop A for each avatar 8, and executes the first virtual space screen display process for each avatar 8 (steps S20 to S22).
  • FIGS. 18 and 19 are flowcharts for explaining the flow of the first virtual space screen display process.
  • the parent server system 1100P detects a manifestation space 14 that has entered the visual field of the avatar 8 (target avatar) to be processed in loop A (YES in step S30)
  • the parent server system 1100P detects a newly detected manifestation space 14
  • the registered embodiment space management data 560 (see FIG. 13) is created, and the corresponding embodiment space 14 is registered in association with the target avatar (step S32).
  • the parent server system 1100P refers to the materialization space management data 540 (see FIG. 12) of the detected materialization space 14 and transmits a predetermined setting request to the child server system 1100G indicated by the management server ID 541.
  • Step S34 information on the placement position and line-of-sight direction of the materialized viewpoint C3 to be set is transmitted to the second virtual space 12 of the destination child server system 1100G.
  • the arrangement position and line-of-sight direction of the embodiment viewpoint C3 in the second virtual space 12 are based on the user viewpoint position 553 and user line-of-sight direction 555 (see FIG. 13) of the target avatar, and the detected coordinate transformation definition data 544 of the embodiment space 14. (See FIG. 12).
  • the parent server system 1100P newly detects a manifestation space 14 that is out of sight from among the manifestation spaces 14 registered for the target avatar (YES in step S36), the parent server system 1100P The registration of the space 14 is canceled and a request is made to cancel the materialized viewpoint C3 (step S38). Specifically, the registered embodiment space management data 560 (see FIG. 13) is deleted, and a request for discarding a predetermined embodiment viewpoint is sent to the child server system corresponding to the detected embodiment space 14 along with the avatar ID 551 of the target avatar. Send to 1100G.
  • the parent server system 1100P executes loop B for each embodiment space registered for the target avatar (steps S50 to S76).
  • the parent server system 1100P sends a predetermined control request to the child server system 1100G that manages the second virtual space 12 that is the source of the registered materialization space (target materialization space) to be processed. Transmit (step S52).
  • the "control request” follows the position and line-of-sight direction of the target avatar's embodied viewpoint C3 in the second virtual space 12 to the latest state of the position and line-of-sight direction of the user viewpoint C1 in the first virtual space 11 of the target avatar. - It requests the child server system 1100G to perform interlocking control. Along with the request, the avatar ID 551 of the target avatar, the change destination position, and the post-change gaze direction are transmitted. The change destination position and post-change gaze direction are obtained by converting the placement position and gaze direction of the first virtual space coordinate system of the user viewpoint C1 of the target avatar based on the coordinate transformation definition data 544 of the target embodiment space. .
  • the parent server system 1100P sends a request for providing a list of objects to be materialized in the object materialization space to the avatar ID 551 of the object avatar, and manages the second virtual space 12 that is the source of the object materialization space.
  • the list is transmitted to the child server system 1100G to obtain the list (step S54).
  • the materialization target object list 564 is updated with the received list (see FIG. 13).
  • the parent server system 1100P deletes the virtual object control data 570 (see FIG. 13) in the target materialization space, once clears the settings of the virtual object 15 (step S56), and updates the latest data in the target materialization space.
  • Loop C is executed for each object to be materialized.
  • the parent server system 1100P rearranges the virtual object 15 according to the latest status of the object to be realized in the second virtual space 12 indicated by the object to be realized list 564 (steps S60 to S74).
  • the parent server system 1100P requests the provision of a photographed image 18 (see FIG. 7) of a materialization target object (target object) to be processed in loop C at the materialization viewpoint C3 of the target avatar.
  • a predetermined image request is sent to the child server system 1100G that manages the second virtual space 12 that is the source of the target materialization space, and is acquired (step S62).
  • the avatar ID 551 of the target avatar and the materialization target object ID 574 of the target object are transmitted together with the image request.
  • the image received from the child server system 1100G becomes photographed image data 584 (see FIG. 13).
  • the parent server system 1100P performs calculation amount reduction processing on the received captured image 18 to generate the embodied image 17 (step S64).
  • the parent server system 1100P sends a predetermined position request requesting the provision of the latest placement position of the object to be realized in the second virtual space 12 to the object to be realized, along with the object to be realized ID 574 of the target object.
  • the virtual space is transmitted to the child server system 1100G that manages the second virtual space 12 that is the source of the virtual space, and is acquired (step S66).
  • the received position coordinates are transformed using the inverse matrix of the coordinate transformation definition data 544 of the target materialization space, and are set as the placement position 578 of the virtual object 15 of the object to be materialized (see FIG. 13).
  • the parent server system 1100P determines the size and shape of the virtual object 15, which is the target object, and places it in the first virtual space 11 (step S68). Specifically, the object shape data 576 is set as the size and shape of the virtual object 15 as the size and shape of a rectangle having the same width as the vertical and horizontal widths of the received captured image 18 or the generated embodied image 17. Then, the virtual object 15 according to the setting data is placed at the placement position 578.
  • the parent server system 1100P texture-maps the embodied image 17 onto the placed virtual object 15 (step S70), and performs billboard processing to direct the mapping surface of the virtual object 15 toward the user viewpoint C1 of the target avatar. (Step S72).
  • the billboard process may be omitted as appropriate depending on the relative positional relationship and relative orientation between the virtual object 15 of the object to be materialized and the user viewpoint C1 of the target avatar.
  • the virtual object 15, which is the object to be materialized and is away from the user viewpoint C1 by a predetermined distance or more, may be omitted.
  • the deviation between the viewing direction of the user viewpoint C1 and the normal direction of the mapping plane of the virtual object 15 is within an allowable angle, it may be omitted. Thereby, the processing load on the parent server system 1100P can be reduced.
  • step S74 After executing loop C for all the objects to be materialized and placing the virtual objects 15 corresponding to each object to be materialized in the virtual space 13 (step S74), the next registered materialization space is materialized as a target. Repeat loop B as space.
  • the parent server system 1100P sets the drawing of the virtual object 15 for the target avatar to ON, and sets the drawing of the virtual objects 15 for other avatars to OFF. (Step S100). Next, the parent server system 1100P renders the image of the first virtual space 11 taken from the user viewpoint C1 of the target avatar, adds information display, etc. to this as appropriate, and generates the first virtual space screen W1 ( Step S102).
  • the first virtual space screen W1 is displayed on the user terminal 1500 of the target avatar (step S104).
  • the first virtual space screen display process to the target avatar ends.
  • the parent server system 1100P upon receiving a predetermined system logout from the user terminal 1500 of the first participating user, erases the user's avatar 8 from the first virtual space 11. Then, the parent server system 1100P deletes the avatar management data 524 and the first virtual space screen display control data 550, and cancels the participation registration of the first participating user (step S110).
  • the parent server system 1100P repeatedly executes steps S12 to S110.
  • the child server system 1100G refers to the game initial setting data 590, arranges background objects constituting the game space in the second virtual space 12, and starts automatic control of the second virtual space 12 (step S130). Then, the child server system 1100G sets a materialization target flag 615 (see FIG. 15) on an object whose materialization target flag is set in the object definition data 592 among the arranged background objects (step S132). .
  • the child server system 1100G When the child server system 1100G communicates with the user terminal 1500 that executes the second client program 506 and receives a login for game play, it determines that there is a user who wishes to participate (YES in step S140). The child server system 1100G places the player character 4 in the second virtual space 12 with the user who has logged in for play as a new second participating user, and controls the motion according to the operation input by the new second participating user. The process starts (step S142).
  • the child server system 1100G sets a participating user viewpoint C2 (photographing viewpoint) at a predetermined position of the newly placed player character 4, and changes the viewpoint position and line-of-sight direction when changing the position and orientation of the player character 4.
  • Automatic tracking control is started (step S136).
  • the child server system 1100G sets the embodiment target flag 615 for the player character 4 (step S146).
  • the viewpoint C2 for participating users is common, but depending on the game genre, the viewpoint C2 for participating users is Set viewpoint C2.
  • the player character 4 is unconditionally set as an object to be materialized, but in MMORPG (Massively Multiplayer Online Role Playing Game), all player characters 4 are not necessarily set as objects to be materialized. You don't have to. For example, in this step, the object to be realized may be extracted from among the player characters 4 already placed in the second virtual space 12.
  • the child server system 1100G determines whether it is possible to start playing the game (step S150).
  • a one-on-one fighting game is executed in the second virtual space 12, so if an affirmative determination is made when two second participating users are present (YES in step S150), the game progress control is executed.
  • the process starts (step S152).
  • the child server system 1100G generates an image of the second virtual space 12 taken from the participating user viewpoint C2, and displays the second virtual space screen W2 on the user terminal 1500 of the second participating user. (See FIG. 3).
  • steps S150 to S154 may be executed together with steps S142 and S144.
  • the child server system 1100G When the child server system 1100G receives the setting request from the parent server system 1100P (YES in step S160), the child server system 1100G sets the materialization viewpoint C3 in the second virtual space 12 (step S162).
  • the child server system 1100G erases and discards the requested embodiment viewpoint C3 from the second virtual space 12 (step S166).
  • the child server system 1100G when the child server system 1100G receives a control request from the parent server system 1100P (YES in step S180), the child server system 1100G changes the requested position and viewing direction of the materialized viewpoint C3 to correspond to the materialized viewpoint C3. Change control is performed to follow changes in the position and line of sight direction of the user viewpoint C1 of the avatar 8 (step S182).
  • the materialization target flag 615 is set to "1 (flag Search for objects that are marked as "Standing)".
  • the child server system 1100G then returns the list of these object IDs 611 to the parent server system 1100P (step S186).
  • the child server system 1100G when the child server system 1100G receives an image request from the parent server system 1100P (YES in step S190), the child server system 1100G generates a photographed image 18 of the requested materialization target object from the requested materialization viewpoint C3. , and sends a reply to the parent server system 1100P (step S192).
  • the child server system 1100G receives a position request from the parent server system 1100P (YES in step S194), the child server system 1100G returns the requested position coordinates of the object to be materialized to the parent server system 1100P (step S196).
  • step S200 the child server system 1100G executes the game ending process (step S202). For example, the player character 4 of the second participating user is deleted from the second virtual space 12. If it is a knockout type competition game, the winning player character 4 does not need to be deleted.
  • the virtual space control system 1000 sets a virtual space 13 within the first virtual space 11, and expresses a materialized space 14 in which the second virtual space 12 is materialized in this virtual space 13. At this time, only the objects to be materialized in the second virtual space 12 are placed in the virtual space 13 by the virtual objects 15 that materialize them. In other words, the amount of calculation, processing steps, and amount of data are much smaller than replicating all objects placed in the second virtual space 12 into the first virtual space 11 and controlling their operations in the same way as the original. In this way, the state of the second virtual space 12 can be realized in the first virtual space 11.
  • the state of the second virtual space 12 can be seen in the first virtual space 12 as if it were a live broadcast. It can be expressed in the virtual space 11.
  • the processing of the parent server system 1100P related to the expression of the materialized space 14 is performed. Load can be suppressed. Moreover, since the embodied image 17 is created by performing calculation amount reduction processing on the photographed image 18, the processing load on the parent server system 1100P can be further suppressed.
  • the embodiment viewpoint C3 is set in the second virtual space 12 for each avatar 8, but the present invention is not limited to this.
  • a large number of candidate shooting viewpoints C4 (C4a, C4b,...) may be set in advance in the second virtual space 12, and the materialization viewpoint C3 may be selected from among these. .
  • the number of candidate photographing viewpoints C4 can be set as appropriate, but for example, it is possible to photograph approximately 100 points of the object to be materialized (in the example of FIG. 22, player character 4a, player character 4b, and item 5) from all directions. Set to .
  • Each candidate shooting viewpoint C4 has a relative position and line-of-sight direction so that the object to be materialized (in the example of FIG. 22, player character 4a, player character 4b, and item 5) is photographed in a given screen layout from the respective position. It is set.
  • the avatar viewpoint C3' in FIG. 22 is a viewpoint based on the position coordinates and line-of-sight direction that the child server system 1100G receives along with the setting request. In the above embodiment, this corresponds to the materialization viewpoint C3 set in step S162 (see FIG. 20).
  • the child server system 1100G executes the flow of the materialized viewpoint selection process shown in FIG. 23 instead of step S162. That is, the child server system 1100G selects, from among the candidate photographing viewpoints C4, the candidate photographing viewpoint C4 (candidate photographing viewpoint C4a in the example of FIG. 23) having the closest position coordinates and viewing direction received with the setting request (step S200). ), the candidate photographing viewpoint C4 is registered as the embodiment viewpoint C3 of the target avatar (step S202).
  • the child server system 1100G executes the flow of the image providing process shown in FIG. 24 instead of step S192 (see FIG. 21). That is, the child server system 1100G generates the photographed image 18 of the requested materialization target object at the materialization viewpoint C3 of the avatar 8 requested in the image request (step S220). Next, the child server system 1100G uses the requested representative point of the object to be materialized as a starting point, and calculates (1) a distance L1 from the starting point to the avatar viewpoint C3', and a distance L2 from the starting point to the materializing viewpoint C3. is calculated (step S224), and the previously generated captured image 18 is enlarged/reduced based on the ratio of the distance L1 and the distance L2. If the avatar viewpoint C3' is farther away from the materialization viewpoint C3 or from the requested materialization target object, the photographed image 18 is reduced according to the ratio, and if vice versa, it is enlarged according to the ratio.
  • the child server system 1100G performs projection conversion processing on the enlarged/reduced captured image 18 onto a normal plane (a plane whose line of sight is the normal direction) of the avatar viewpoint C3' (step S226), and converts this into a captured image. 18 and transforms into the parent server system 1100P (step S228).
  • the virtual object 15 is created for each object to be materialized, but in the case where the participating user viewpoint C2 fits all objects to be materialized within the shooting range, all objects to be materialized are created in one virtual object.
  • the configuration may be expressed using an object 15.
  • a plate-shaped polygon is illustrated as the virtual object 15, but the virtual object 15 is not limited to this.
  • the virtual object 15 may be created as a three-dimensional model composed of a large number of polygons by photogrammetry based on the photographed image 18 photographed at the candidate photographing viewpoint C4.
  • the parent server system 1100P acquires the photographed images 18 of all candidate photographing viewpoints C4 from the child server system 1100G instead of the loop C, and uses the acquired photographed images 18 as photogrammetry material images.
  • the virtual object 15 may be created by performing grammetry processing. In this case, the billboard process (step S72 in FIG. 19) for the virtual object 15 does not need to be executed.
  • step S72 it can be said that the parent server system 1100P controls the position and/or orientation of the virtual object 15 according to the position and/or orientation of the user viewpoint C1 in the first virtual space 11.
  • step S182 the child server system 1100G determines the position and/or orientation of the materialized viewpoint C3 in the second virtual space according to the position and/or orientation of the user viewpoint C1 in the first virtual space 11. You can say it's controlled.

Abstract

仮想空間制御システム(1000)は、第1の仮想空間(11)内に仮想スペース(13)を設定し、この仮想スペース(13)に第2の仮想空間(12)を具現化した具現化空間(14)を表現する。第2の仮想空間内の具現化対象オブジェクトを具現化する仮想オブジェクト(15)を仮想スペース(13)内に配置する。仮想オブジェクト(15)の第1の仮想空間(11)での配置構成は、それらに対応づけられる具現化対象オブジェクトの第2の仮想空間(12)における配置構成に合わせる。仮想オブジェクト(15)にテクスチャマッピングされる具現化画像(17)の元になる撮影画像(18)は、子サーバシステム(1100G)にて生成される。具現化画像(17)は撮影画像(18)に対して演算量低減化処理を施して作成される。

Description

コンピュータシステム、仮想空間制御システムおよび仮想空間制御方法
 本発明は、仮想空間を制御するコンピュータシステム等に関する。
 コンピュータの演算処理により仮想空間(例えば、メタバース、ゲーム空間、など)を構築し、利用者であるユーザのキャラクタ(例えば、アバター、プレーヤキャラクタ、など)を配置して、ユーザに仮想空間での仮想体験を提供する技術が知られている。例えば、特許文献1には、1つの仮想空間を共有するユーザ間でコミュニケーションをとることができる技術が開示されている。
特開2001-312744号公報
 仮想空間が複数ある場合には、仮想空間内での仮想体験をより豊かにするために、第1の仮想空間内に、第2の仮想空間の様子を再現したいというニーズがある。例えば、対戦格闘ゲームをゲームプレイしている様子を、対戦格闘ゲームの仮想空間とは異なる別の仮想空間で再現できれば、その別の仮想空間に参加しているユーザが対戦格闘ゲームのゲームプレイの様子を観戦できるようになり、仮想体験がより豊かになる。
 他の仮想空間の様子を再現する手法としては、他の仮想空間で実行されている処理(例えば、キャラクタモデル等の動作制御やゲーム進行制御など)を、再現先の仮想空間でもそのまま同じように実行する方法が考えられる。しかし、この手法では、再現先の仮想空間を制御するコンピュータシステムでの処理負荷が非常に高くなる問題がある。そのため、第1の仮想空間に第2の仮想空間の様子を単純に再現する手法では実現が困難である。第1の仮想空間に第2の仮想空間が存在するかのような新たな具現化手法が必要となる。
 本発明が解決しようとする課題は、第1の仮想空間に第2の仮想空間が存在するかのような新たな具現化手法の技術を提供すること、である。
 第1の開示は、第1の仮想空間と第2の仮想空間とを個別に制御するコンピュータシステムであって、
 前記第1の仮想空間内に、所与の具現化空間を表現するための仮想スペースを設定する仮想スペース設定部と、
 前記第2の仮想空間のオブジェクトの情報に基づいて前記仮想スペースにオブジェクトを配置し、前記第2の仮想空間を具現化した前記具現化空間を表現する制御を行う空間表現制御部と、を備えるコンピュータシステムである。
 ここで言う「コンピュータシステム」は、単数のコンピュータで構成される場合は勿論、複数のコンピュータによって連携して構成されるものでもよい。
 第1の開示によれば、コンピュータシステムは、第1の仮想空間内に仮想スペースを設定し、この仮想スペースに第2の仮想空間を具現化した具現化空間を表現する制御を行う。第1の仮想空間内にそれよりも小さい仮想スペース内にて第2の仮想空間を具現化するので、具現化に係る処理負荷を抑制できる。これにより、第1の仮想空間に第2の仮想空間が存在するかのような新たな具現化手法の技術を提供することができる。
 第2の開示は、前記空間表現制御部が、前記第2の仮想空間のオブジェクトに相当するオブジェクトを、前記第2の仮想空間の配置構成に基づく配置構成で前記仮想スペースに配置することで前記具現化空間を表現する制御を行う、コンピュータシステムである。
 第2の開示によれば、コンピュータシステムは、第2の仮想空間のオブジェクト(具現化対象オブジェクト)を具現化するための、第2の仮想空間のオブジェクトに相当するオブジェクトを、第2の仮想空間における配置構成に基づいて、仮想スペースに配置することができる。
 第3の開示は、前記空間表現制御部が、前記第2の仮想空間を完全に再現する場合の演算量よりも少ない演算量で前記第2の仮想空間を表現することが可能である、コンピュータシステムである。
 第3の開示によれば、コンピュータシステムは、第2の仮想空間を完全に再現する場合よりも少ない演算量で第2の仮想空間を表現することができる。
 第4の開示は、前記空間表現制御部が、前記第2の仮想空間を所与の撮影視点から撮影した撮影画像に基づいて、前記具現化空間を表現する制御を行う、コンピュータシステムである。
 第5の開示は、前記空間表現制御部が、前記第1の仮想空間における所与のユーザ視点の視界内に仮想オブジェクトを配置し、前記撮影画像に基づく画像がマッピング(テクスチャマッピング)された前記仮想オブジェクトを前記ユーザ視点に基づき描画する描画処理を行うことで、前記具現化空間を表現する制御を行う、コンピュータシステムである。
 第4又は第5の開示によれば、コンピュータシステムは、第2の仮想空間を所与の撮影視点から撮影した撮影画像を第1の仮想空間に配置した仮想オブジェクトにマッピングすることで、第2の仮想空間を具現化した具現化空間を表現することができる。
 第6の開示は、前記空間表現制御部が、前記第1の仮想空間における前記ユーザ視点の位置および/又は向きに応じて、前記仮想オブジェクトの位置および/又は向きを制御する仮想オブジェクト制御部を有する、コンピュータシステムである。
 第6の開示によれば、コンピュータシステムは、第1の仮想空間におけるユーザ視点の位置や向きに応じて、第1の仮想空間に配置される仮想オブジェクトの位置や向きを制御できる。例えば、仮想オブジェクトをユーザ視点に向けるように制御したり、ユーザ視点の視界外に位置する仮想オブジェクトの制御を省略する、といったことができる。
 第7の開示は、前記仮想オブジェクト制御部が、前記ユーザ視点の位置の変化および/又は向きの変化に追従させて、前記ユーザ視点に対して所定の相対向きとなる姿勢で前記仮想オブジェクトを配置する制御を行う、コンピュータシステムである。
 第7の開示によれば、コンピュータシステムは、例えば、仮想オブジェクトの所定面(例えば、テクスチャマッピングが施されるマッピング面)をユーザ視点に向け続けるように配置制御することが可能になる。仮想オブジェクトを板状のプリミティブ面としてもよい。
 第8の開示は、前記撮影視点には、前記第2の仮想空間における配置位置および/又は配置向きが異なる複数の撮影視点が含まれており、前記空間表現制御部は、前記複数の撮影視点のうちの何れかの撮影視点から撮影した撮影画像に基づいて、前記具現化空間を表現する制御を行う、コンピュータシステムである。
 第8の開示によれば、コンピュータシステムは、複数の撮影視点のうちの何れかで撮影された撮影画像に基づいて具現化空間を表現することができる。
 第9の開示は、前記第1の仮想空間における前記ユーザ視点の位置および/又は向きに応じて、前記第2の仮想空間における前記撮影視点の位置および/又は向きを制御する撮影視点制御部、を更に備えるコンピュータシステムである。
 第10の開示は、前記空間表現制御部が、前記第1の仮想空間における前記仮想スペースの座標と前記第2の仮想空間の座標とを対応付けて前記具現化空間を表現することで、前記仮想スペースに前記第2の仮想空間が固定的に具現化された前記具現化空間を表現し、前記撮影視点制御部は、前記仮想スペースに対する前記ユーザ視点の位置の変化および/又は向きの変化に追従させるように、前記第2の仮想空間における前記撮影視点の位置および/又は向きを制御する、コンピュータシステムである。
 第9の開示によれば、コンピュータシステムは、第1の仮想空間でのユーザ視点の位置や向きの変化に、第2の仮想空間の撮影視点の位置や向きを対応させることができる。
 更に第10の開示によれば、撮影画像を、第1の仮想空間の参加ユーザが第2の仮想空間に居て見ているかのような画像とすることが可能になる。第1の仮想空間の参加ユーザに対して、第2の仮想空間があたかも第1の仮想空間の固定位置に存在するかのように見せることができる。
 第11の開示は、前記空間表現制御部が、第1の仮想空間に参加している参加ユーザ毎に、当該参加ユーザに対応する前記ユーザ視点を配置して前記描画処理を行うことで、各ユーザ視点から見た前記具現化空間を表現する制御を行う、コンピュータシステムである。
 第11の開示によれば、コンピュータシステムは、第1の仮想空間の参加ユーザそれぞれのユーザ視点から見た具現化空間を表現することができる。
 第12の開示は、前記第2の仮想空間は複数存在し、前記仮想スペース設定部は、前記第1の仮想空間内に、前記第2の仮想空間それぞれの前記仮想スペースを設定し、前記空間表現制御部は、前記参加ユーザ毎に、当該参加ユーザに対応する前記ユーザ視点の視界内の前記仮想スペースそれぞれについて前記描画処理を行う、コンピュータシステムである。
 第12の開示によれば、コンピュータシステムは、第1の仮想空間内に複数の第2の仮想空間をそれぞれに対応する仮想スペースを設定することができる。第1の仮想空間を博覧会会場に例えれば、仮想スペースは各パビリオンに相当する。よって、第1の仮想空間で提供できる仮想体験がより豊かになる。
 第13の開示は、前記撮影視点と、前記第2の仮想空間に参加しているユーザのための参加ユーザ用視点とは、異なる、コンピュータシステムである。
 第13の開示によれば、第1の仮想空間に第2の仮想空間を具現化するための撮影視点と、第2の仮想空間に参加している参加ユーザ用視点とを別にすることができる。
 第14の開示は、前記第2の仮想空間が、前記第2の仮想空間に参加しているユーザの操作入力に基づいてゲーム進行が制御されるゲーム空間である、コンピュータシステムである。
 第14の開示によれば、コンピュータシステムは、第1の仮想空間内に、第2の仮想空間で繰り広げられているゲームの様子を表現できる。
 第15の開示は、前記第1の仮想空間を制御するコンピュータと、前記第2の仮想空間を制御するコンピュータと、を個別に具備して構成されるコンピュータシステムである。
 第15の開示によれば、第1の仮想空間に係る処理と、第2の仮想空間に係る処理とを、それぞれのコンピュータに分散させることができる。
 第16の開示は、上述した各開示のコンピュータシステムであるサーバシステムと、前記第1の仮想空間に参加するユーザのマンマシンインターフェースとなるユーザ端末と、を具備する仮想空間制御システムである。
 第16の開示によれば、サーバシステムとマンマシンインターフェースとなるユーザ端末とを具備するシステムにおいて、上述した各開示と同様の作用効果を得ることができる。
 第17の開示は、第1の仮想空間と第2の仮想空間とを個別に制御する仮想空間制御方法であって、前記第1の仮想空間内に、所与の具現化空間を表現するための仮想スペースを設定することと、前記第2の仮想空間のオブジェクトの情報に基づいて前記仮想スペースにオブジェクトを配置し、前記第2の仮想空間を具現化した前記具現化空間を表現する制御を行うことと、を含む仮想空間制御方法である。
 第17の開示によれば、第1の開示と同様の作用効果を奏する仮想空間制御方法を実現できる。
仮想空間制御システムの構成例を示す図。 子サーバシステムによる第2の仮想空間の制御について説明するための図。 第2の仮想空間画面の例を示す図。 親サーバシステムによる第1の仮想空間の制御について説明するための図。 第1の仮想空間画面の例を示す図。 第1の仮想空間、仮想スペース、具現化空間の相対位置関係の一例を示す図。 具現化画像の元になる撮影画像について説明するための図。 演算量低減化処理の一例について説明するための図。 第1の仮想空間におけるアバター、仮想スペース、仮想オブジェクトの配置の一例を示す図。 親サーバシステムの機能構成例を示すブロック図。 親サーバシステムの記憶部が記憶するプログラムやデータの例を示す図。 仮想スペース管理データのデータ構成例を示す図。 第1の仮想空間画面表示制御データのデータ構成例を示す図。 子サーバシステムの機能構成例を示すブロック図。 第2の仮想空間制御データのデータ構成例を示す図。 ユーザ端末の機能構成例を示す機能ブロック図。 第1の仮想空間制御処理の流れを説明するためのフローチャート。 第1の仮想空間画面表示処理の流れを説明するためのフローチャート。 図18より続くフローチャート。 子サーバシステムが実行する処理の流れを説明するためのフローチャート。 図21より続くフローチャート。 候補撮影視点の設定について説明するための図。 具現化視点選択処理の流れを説明するためのフローチャート。 画像提供処理の流れを説明するためのフローチャート。
 以下、本発明の実施形態の例を説明するが、本発明を適用可能な形態が以下の実施形態に限られないことは勿論である。
 図1は、仮想空間制御システム1000の構成例を示す図である。
 仮想空間制御システム1000は、多数のユーザに対して仮想空間における仮想体験を同時に提供するシステムである。仮想空間制御システム1000は、ネットワーク9を介してデータ通信可能に接続された運用サーバシステム1010およびユーザ別のユーザ端末1500(1500a,1500b,…)を含むコンピュータシステムである。ユーザ端末1500はマンマシンインターフェース(Man Machine Interface:MMIF)である。
 ネットワーク9は、データ通信が可能な通信路を意味する。すなわち、ネットワーク9とは、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLAN(Local Area Network)の他、電話通信網やケーブル網、インターネットを含む。
 運用サーバシステム1010は、サービス提供者・システム運用者が管理運用するコンピュータシステムであって、親サーバシステム1100Pと、複数の子サーバシステム1100G(1100Ga,1100Gb,…)とを有する。親サーバシステム1100Pと、子サーバシステム1100G(1100Ga,1100Gb,…)とは、ネットワーク9を介して互いにデータ通信が可能であり、それぞれがネットワーク9を介してユーザ端末1500とデータ通信が可能である。
 親サーバシステム1100Pは、第1の仮想空間を制御・管理するコンピュータシステムであり、仮想空間制御システム1000に係る各種サービスを利用するために、ユーザ端末1500が最初にアクセスするサーバシステムである。
 子サーバシステム1100G(1100Ga,1100Gb,…)は、それぞれが個別に第2の仮想空間を制御・管理し、単数又は複数のユーザ端末1500と通信して、ユーザ端末1500をゲームクライアントとしたゲームサーバとしての機能を果たす。
 親サーバシステム1100Pと子サーバシステム1100Gとは、コンピュータとしての基本的な機能を有する。
 すなわち、親サーバシステム1100Pおよび子サーバシステム1100Gは、本体装置、キーボード、タッチパネル、を有し、本体装置に制御基板1150を搭載する。制御基板1150には、CPU(Central Processing Unit)1151やGPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などの各種マイクロプロセッサ、VRAMやRAM,ROM等の各種ICメモリ1152、通信装置1153、が搭載されている。なお、制御基板1150の一部又は全部は、ASIC(Application Specific Integrated Circuit)や、FPGA(Field-Programmable Gate Array)、SoC(System on a Chip)により実現するとしてもよい。但し、親サーバシステム1100Pと子サーバシステム1100Gとは、制御基板1150が所定のプログラムおよびデータに基づいて演算処理することによりそれぞれ別個の機能を実現する。
 図1には、親サーバシステム1100Pおよび子サーバシステム1100Gは、それぞれが1台のサーバ装置であるかのように描いているが、複数の装置で実現する構成であってもよい。例えば、親サーバシステム1100Pは、各機能を分担する複数のブレードサーバを搭載して相互に内部バスを介してデータ通信可能に接続した構成であってもよい。子サーバシステム1100Gも同様である。また、親サーバシステム1100Pおよび子サーバシステム1100Gを構成するハードウェアの設置場所は問わない。離れた場所に設置された独立した複数のサーバを、ネットワーク9を介してデータ通信させることで、全体として運用サーバシステム1010として機能させる構成であってもよい。
 ユーザ端末1500は、ユーザが仮想空間制御システム1000を利用するために使用するコンピュータシステムである。ユーザ端末1500は、仮想空間制御システム1000におけるマンマシンインターフェース(MMIF)の機能を担っている。
 図1では、ユーザ端末1500を、いわゆるスマートフォンと呼ばれる装置として表しているが、コンピュータシステムであれば、ウェアラブルコンピュータや、携帯型ゲーム装置、家庭用ゲーム装置、タブレット型コンピュータ、パソコン、スタンドアローン型VRヘッドセット、などでもよい。スマートフォンと、当該スマートフォンに通信接続されたスマートウォッチ、オプション型VRヘッドセット、などの組み合わせといった複数の電子機器が通信可能に接続することで1つの機能を果たす場合にはこれらの複数の電子機器を1つのユーザ端末1500とみなすことができる。
 ユーザ端末1500は、操作入力デバイス(例えば、タッチパネル1506、キーボード、ゲームコントローラ、マウスなど)と、画像表示デバイス(例えば、タッチパネル1506、ヘッドマウントディスプレイ、グラス型ディスプレイなど)と、制御基板1550と、を備える。
 制御基板1550は、CPU1551や、GPU,DSPなどの各種マイクロプロセッサ、VRAMやRAM,ROM等の各種ICメモリ1552、ネットワーク9に接続する通信モジュール1553、などを搭載する。制御基板1550に搭載されているこれらの要素は、バス回路などを介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。制御基板1550の一部又は全部をASICやFPGA、SoCにて構成してもよい。そして、制御基板1550は、ユーザ端末としての機能を実現させるためのプログラムや各種データをICメモリ1552に記憶する。そして、ユーザ端末1500は、所定のアプリケーションプログラムを実行することにより、仮想空間制御システム1000のマンマシンインターフェース(MMIF)としての機能を実現する。
 ユーザ端末1500は、アプリケーションプログラムやその実行に必要な各種データを親サーバシステム1100Pや子サーバシステム1100Gからダウンロードする構成としているが、ユーザが別途入手したメモリカードなどの記憶媒体から読み出す構成としてもよい。
 図2は、子サーバシステム1100Gによる第2の仮想空間12の制御について説明するための図である。子サーバシステム1100Gは、3次元仮想空間である第2の仮想空間12を制御するコンピュータシステムであって、第2の仮想空間12のデータを保持し、第2の仮想空間12に配置された様々なオブジェクトの配置構成を制御する。そして、子サーバシステム1100Gは、それらオブジェクトを用いてオンラインゲームを実現する。
 すなわち、第2の仮想空間12は、第2の仮想空間12に参加しているユーザ(以下、「第2の参加ユーザ」と呼称)の操作入力に基づいてゲーム進行が制御されるゲーム空間である。子サーバシステム1100Gは、プレイログインしたユーザをプレーヤとして、プレーヤキャラクタ4を第2の仮想空間12に配置し、当該ユーザのユーザ端末1500で検出された操作入力に応じてプレーヤキャラクタ4の動作を制御する。また、NPC(non player character)を自動制御する。つまり、子サーバシステム1100Gは、クライアントサーバ型システムのゲームサーバとして機能して、ゲームクライアントであるユーザ端末1500を操作する第2の参加ユーザへ、オンラインゲームの仮想体験を提供する。
 図2の例では、子サーバシステム1100Gは、第2の参加ユーザ別のプレーヤキャラクタ4(4a,4b)が1対1で戦う格闘対戦ゲームのオンラインゲームを実現している。便宜上、背景オブジェクトの図示を省略しているが、実際には第2の仮想空間12の大きさは図2の例より遥かに広く、様々な背景オブジェクトが戦いのフィールドを形作っている。
 なお、子サーバシステム1100Gが実現するオンラインゲームのゲームジャンルは、格闘対戦ゲームに限らず適宜設定可能である。例えば、MORPG(Multiplayer Online Role Playing Game)、レースゲーム、サッカーや野球などのスポーツゲーム、戦略シミュレーションゲーム、であってもよい。更には、オンラインゲームに限らず、仮想ライブ、育成ゲーム、などであってもよい。
 第2の仮想空間12には、第2の参加ユーザ用の撮影視点である参加ユーザ用視点C2が設定され、参加ユーザ用視点C2から撮影した第2の仮想空間12の画像(仮想空間画像)がレンダリングされる。そして、仮想空間画像にゲームプレイ上の適宜の情報表示を加えたゲーム画面が生成される。ゲーム画面は、図3に示すように第2の参加ユーザのユーザ端末1500にて第2の仮想空間画面W2として表示される。
 参加ユーザ用視点C2は、ゲームジャンルに応じて適宜設定可能である。図3の例では、格闘対戦ゲームのゲーム画面なので、プレーヤキャラクタ4(4a,4b)を側方から見た画面レイアウトを維持するように参加ユーザ用視点C2の位置や視線方向が自動制御され、対戦中の第2の参加ユーザそれぞれに共通する1つの参加ユーザ用視点C2として設定されている。もし、ゲームジャンルがMORPGであれば、参加ユーザ用視点C2は、第2の参加ユーザ別に用意される。そして、当該ユーザのプレーヤキャラクタ4を主たる被写体とするように、或いは、当該ユーザのプレーヤキャラクタ4の視界とするように、配置位置と配置向き(姿勢;視線方向)とが自動制御される。
 図4は、親サーバシステム1100Pによる第1の仮想空間11の制御について説明するための図である。親サーバシステム1100Pは、3次元仮想空間である第1の仮想空間11のデータを保持し、第1の仮想空間11に配置された様々なオブジェクトの配置構成を制御する。そして、親サーバシステム1100Pは、それらのオブジェクトを使って第1の仮想空間11の世界を作り、そこに第1の参加ユーザ毎のアバター8を配置する。
 親サーバシステム1100Pは、第1の参加ユーザがユーザ端末1500に入力した様々な操作に応じて、対応するアバター8の移動や動作を制御する。
 アバター8の頭部の所定位置に、当該アバター8を使用する第1の参加ユーザ用のユーザ視点C1が設定されている。アバター8を移動させ、アバター8の姿勢を変更すると、ユーザ視点C1も連動して移動し視線方向(視界の向き)が変わる。
 親サーバシステム1100Pは、アバター8毎(第1の参加ユーザ毎)に、そのユーザ視点C1で撮影した第1の仮想空間11の様子をレンダリング(描画処理)する。そして、図5に示すようにアバター8が見ている第1の仮想空間11の様子を示す画像すなわち第1の仮想空間画面W1を、当該アバター8のユーザのユーザ端末1500に表示させる。
 第1の仮想空間11をメタバースに相当させた場合、第1の参加ユーザは、現実さながらの擬似生活型の仮想体験を楽しむことができる。
 本実施形態の特徴の1つとして、第1の仮想空間11には、図4に示す通り、単数又は複数の仮想スペース13が用意されている。仮想スペース13は、第2の仮想空間12(図2参照)の少なくとも一部を具現化するための具現化空間14とされる。具現化空間14が設定される第1の仮想空間11の座標系と第2の仮想空間12の座標系とは所定の座標変換行列により変換可能であり、基本的には両者は固定的な関係にある。但し、具現化空間14を第1の仮想空間11内で移動させたい場合にはその限りではない。
 第1の仮想空間11に設定される仮想スペース13の総数、仮想スペース13それぞれの第1の仮想空間11における位置・形状・大きさは適宜設定可能である。
 1つの仮想スペース13に設定される具現化空間14の総数や、第1の仮想空間11における具現化空間14の位置・形状・大きさは適宜設定可能である。
 図4では1つの仮想スペース13に1つの具現化空間14を対応付けて設定する例を示しているがこれに限らない。例えば、図6は、第1の仮想空間11の一部を上方から俯瞰した略図であって(アバター8の図示は省略)、第1の仮想空間11の中に複数の仮想スペース13(13a,13b,…)が設定され、1つの仮想スペース13に複数の具現化空間14(14a,14b,…)が設定されている例を示している。第1の仮想空間11を万博会場と仮定すれば、仮想スペース13は万博会場に設置されたテーマ別のパビリオンに相当し、具現化空間14は、1つのパビリオンの中に設けられた詳細なテーマ別のブースに相当する、と言っても良い。
 図4に戻って、具現化空間14には、ユーザ視点C1毎に単数又は複数の仮想オブジェクト15が対応づけられて配置される。図4の例では、アバター8およびユーザ視点C1が1つと、当該アバター8に対応づけられている3つの仮想オブジェクト15(15a,15b,15c)のみが描かれているが、実際の運用に当たっては、アバター8およびユーザ視点C1は、第1の参加ユーザ別に複数存在し得る。そして、複数のアバター8およびユーザ視点C1それぞれについて、単数又は複数の仮想オブジェクト15が用意されることになる。
 仮想オブジェクト15は、形状が単純で構成ポリゴンが少ないオブジェクトである。例えば、プリミティブ面で構成することができ、1つの板状のポリゴンで構成してもよい。
 各仮想オブジェクト15は、当該具現化空間14に紐付けられている第2の仮想空間12(具現化の対象とされる仮想空間)における1つの具現化対象オブジェクト(具現化の対象とされるオブジェクト)に対応づけられている。
 「具現化対象オブジェクト」は、第2の仮想空間12の事物を第1の仮想空間11にて具現化するにあたり、第2の仮想空間12に配置されている様々なオブジェクトの中から選抜されたオブジェクトである。第2の仮想空間12では格闘対戦ゲームが進行制御されるので、第2の仮想空間12におけるプレーヤキャラクタ4(4a,4b)やプレーヤキャラクタ4aが所持するアイテム5が具現化対象オブジェクトとされる。そして、各具現化対象オブジェクトに対応する仮想オブジェクト15(15a,15b,15c)が第1の仮想空間11に配置される。
 各仮想オブジェクト15は、マッピング面に、対応する具現化対象オブジェクトの画像である具現化画像17(17a,17b,17c)がテクスチャマッピングされ、マッピング面の法線方向を、対応するユーザ視点C1へ向けるように姿勢制御される。従って、各仮想オブジェクト15は、ユーザ視点C1の視線方向に対して所定の相対向きとなるように姿勢制御される。いわゆる、ビルボード処理が実行される。また、仮想オブジェクト15の仮想スペース13内での配置構成は、対応する具現化対象オブジェクトの第2の仮想空間12における配置構成に連動制御される。
 図7は、具現化画像17の元になる撮影画像について説明するための図である。
 親サーバシステム1100Pは、アバター8のユーザ視点C1の視界に、新たな具現化空間14が入ると、当該具現化空間14に対応する第2の仮想空間12を管理する子サーバシステム1100Gへ、当該アバター8のユーザ視点C1に相当する具現化視点C3の設定をリクエストする。
 具現化視点C3は、具現化画像17の元になる撮影画像を撮影するための撮影視点である。具現化視点C3は、アバター8が第2の仮想空間12に存在すると仮定した場合のユーザ視点C1の位置に、ユーザ視点C1の視線方向をコピーした視点である。そして、アバター8が第1の仮想空間11にて移動したり視線方向を変更したりすると、対応する具現化視点C3は連動して第2の仮想空間12での位置を変更したり視線方向を変更したりするように制御される。
 具体的には、具現化視点C3の位置および視線方向は、対応するアバター8のユーザ視点C1の位置および視線方向を、第1の仮想空間11の座標系と第2の仮想空間12の座標系との間の座標変換行列に基づいて換算することで設定される。なお、具現化視点C3の撮影画角は、対応するアバター8のユーザ視点C1のそれと同じ又は略同じに設定される。
 子サーバシステム1100Gは、具現化視点C3から当該仮想オブジェクト15に対応づけられている第2の仮想空間12の具現化対象オブジェクト別の撮影画像18(18a,18b,18c)を生成する。
 理解を容易にするために、図7では撮影画像18を矩形太線で表しているが、実施には撮影対象のオブジェクトのみが描画された画像である。
 例えば、具現化対象オブジェクトであるプレーヤキャラクタ4aの撮影画像18aは、具現化視点C3でプレーヤキャラクタ4aを撮影した当該キャラクタのみをレンダリングして作成される。背景はレンダリングされない。或いは、具現化視点C3の全視界画像をレンダリングした後に、そこからプレーヤキャラクタ4aの描かれている部分のみを切り出すことで撮影画像18aを作成してもよい。プレーヤキャラクタ4bの撮影画像18bや、アイテム5の撮影画像18cについても同様である。なお、アイテム5がプレーヤキャラクタ4aに所持されている、或いは接触している場合には、両者を1つの仮想オブジェクト15とし、1つの撮影画像18として扱っても良い。
 これらの撮影画像18(18a,18b,18c)はオンラインゲーム用の画像ではない。そのため、子サーバシステム1100Gには、第2の仮想空間12の具現化のために余分な処理が要求されることとなる。しかし、描画対象とする具現化対象オブジェクトは第2の仮想空間12の全オブジェクトのなかの一部であるため、撮影画像18の描画に伴う処理負荷は全オブジェクトを描画するよりも遥かに少なくて済む。
 子サーバシステム1100Gは、具現化視点C3に基づく撮影画像18を生成すると、そのデータを親サーバシステム1100Pへ送信する。親サーバシステム1100Pは、図8に示すように、受信した撮影画像18に演算量低減化処理を施して具現化画像17を作成する。
 「演算量低減化処理」は、第1の仮想空間画面W1を生成する際に要する演算量を低減でるようにする処理であって、例えば、HD画質からSD画質にするといった画質低減処理(例えば、色数を減らす解像度を下げるなど)である。そして、具現化画像17が仮想オブジェクト15にテクスチャマッピングされる。
 図4に戻って、具現化画像17がマッピングされる各仮想オブジェクト15の大きさや形状は、対応する具現化対象オブジェクトの具現化画像17が収まるように設定される。
 仮想オブジェクト15の大きさや形状は、例えば、具現化画像17の上下幅・左右幅と同じ幅を有する矩形(或いは、それよりやや大きい矩形)として求めても良い。或いは、仮想オブジェクト15の大きさや形状を、プレーヤキャラクタ4のオブジェクトの接触判定に用いるバウンダリボックスを具現化視点C3の法線面(視線方向を法線とする面)に投影して求めてもよい。
 結果、第1の仮想空間画面W1(W1a,W1b)では(図5参照)、アバター8(8a)の視界に入った仮想スペース13の具現化空間14において、対応する第2の仮想空間12の様子が具現化される。具現化に要する運用サーバシステム1010の処理負荷は、第2の仮想空間12を完全に再現する場合(第2の仮想空間12に配置されている全てのオブジェクトを第1の仮想空間11に複製配置させる場合)よりも抑制される。
 特に、仮想オブジェクト15(15a,15b、15c)は、板状のポリゴンに具現化画像17(17a,17b,17c)をテクスチャマッピングすることで構成されるため、演算量は極めて少ない。
 第2の仮想空間12でプレーヤキャラクタ4a、プレーヤキャラクタ4b、アイテム5が移動すると、それぞれの仮想オブジェクト15(15a,15b,15c)の位置もこれに連動して変化する。
 第2の仮想空間12を具現化した具現化空間14を第1の仮想空間11内に表現する制御は、アバター8毎に設定される。
 例えば、図9に示すように、アバター8a(図4参照)とは別のアバター8bが第1の仮想空間11に配置されている場合、当該アバター8b用の仮想オブジェクト15(15d,15e,15f)が用意され、アバター8bのユーザ視点C1aへ向けてビルボード処理される。これらの仮想オブジェクト15にテクスチャマッピングされる具現化画像17は、先に説明したのと同様にして、アバター8bのユーザ視点C1bに対応する具現化視点が、第2の仮想空間12に設定される。基本的には、アバター8bの具現化視点の第2の仮想空間12における配置位置および/又は配置向きは、アバター8a用の撮影視点とは異なる。そして、アバター8b用の具現化画像17は、このアバター8b用の具現化視点で撮影した第2の仮想空間12の撮影画像18に基づいて作成される。
 アバター8b向けの第1の仮想空間画面W1を生成する際には、アバター8a用の仮想オブジェクト15(15a,15b,15c)は描画対象外(描画OFF)にした上で、ユーザ視点C1bから第1の仮想空間11を撮影した画像としてレンダリングされる。逆に、アバター8a向けの第1の仮想空間画面W1を生成する際には、アバター8b用の仮想オブジェクト15(15d,15e15f)は描画対象外(描画OFF)にした上で、ユーザ視点C1aから第1の仮想空間11を撮影した画像としてレンダリングされることになる。
 よって、親サーバシステム1100Pは、第1の仮想空間11のどのアバター8から見ても不自然無く、第2の仮想空間12の様子を第1の仮想空間11内に具現化させることができる。
 次に、機能構成について説明する。
 図10は、親サーバシステム1100Pの機能構成例を示すブロック図である。
 親サーバシステム1100Pは、操作入力部100pと、処理部200pと、音出力部390pと、画像表示部392pと、通信部394pと、記憶部500pとを備える。
 操作入力部100pは、親サーバシステム1100Pの管理のための各種操作を入力するための手段である。例えば、キーボード、タッチパネル、マウス、などがこれに該当する。
 処理部200pは、例えば、CPUやGPU、ASIC、FPGA等の演算回路となるプロセッサの他、ICメモリなどの電子部品によって実現され、操作入力部100pや記憶部500pを含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100pからの操作入力信号、ユーザ端末1500や子サーバシステム1100G(1100Ga,1100Gb,…)などから受信したデータ、等に基づいて各種の演算処理を実行して、親サーバシステム1100Pの動作を統合的に制御する。
 処理部200pは、ユーザ管理部202と、第1の仮想空間制御部210と、計時部280pと、音生成部290pと、画像生成部292pと、通信制御部294pとを含む。勿論、これら以外の機能部も適宜含めることができる。
 ユーザ管理部202は、ユーザ登録手続きに係る処理、ユーザアカウントに紐付けられる各種情報の記憶管理、システムログイン/システムログアウトの処理を行う。
 第1の仮想空間制御部210は、第1の仮想空間11に係る各種制御を行う。
 第1の仮想空間制御部210は、仮想スペース設定部212と、空間表現制御部214と、を有する。
 仮想スペース設定部212は、第1の仮想空間11内に、具現化空間14を表現するための仮想スペース13を設定する。第2の仮想空間12が複数存在する場合、仮想スペース設定部212は、第1の仮想空間11内に、第2の仮想空間12それぞれの仮想スペース13を設定する。
 空間表現制御部214は、第2の仮想空間12のオブジェクトの情報に基づいて仮想スペース13にオブジェクトを配置し、第2の仮想空間12を具現化した具現化空間14を、第2の仮想空間12を所与の撮影視点(図7の具現化視点C3)から撮影した撮影画像18に基づいて、表現する制御を行う。
 具体的には、空間表現制御部214は、第1の仮想空間11における仮想スペース13の座標と第2の仮想空間12の座標とを対応付けて具現化空間14を表現することで、仮想スペース13に第2の仮想空間12が固定的に具現化された具現化空間14を表現する。そして、空間表現制御部214は、第1の仮想空間11に参加している参加ユーザ毎に、当該参加ユーザに対応するユーザ視点C1を配置する。そして、空間表現制御部214は、当該参加ユーザに対応するユーザ視点C1の視界内の仮想スペース13それぞれについて描画処理を行うことで、各ユーザ視点から見た具現化空間14を表現する制御を行う。
 また、空間表現制御部214は、第2の仮想空間12内のオブジェクトに相当する仮想オブジェクト15を、第2の仮想空間12の配置構成に基づく配置構成で配置することで具現化空間を表現する制御を行う。具体的には、空間表現制御部214は、第1の仮想空間11におけるユーザ視点C1の視界内に仮想オブジェクト15を配置する。そして、空間表現制御部214は、撮影画像18に基づく画像(図4の具現化画像17)がマッピングされた仮想オブジェクト15をユーザ視点C1に基づき描画する描画処理を行うことで、具現化空間を表現する制御を行う。
 空間表現制御部214は、仮想オブジェクト制御部216を有する。
 仮想オブジェクト制御部216は、第1の仮想空間11におけるユーザ視点C1の位置および/又は向きに応じて、仮想オブジェクト15の位置および/又は向きを制御する。具体的には、仮想オブジェクト制御部216は、ユーザ視点C1の位置の変化および/又は向きの変化に追従させて、ユーザ視点C1に対して所定の相対向きとなる姿勢で仮想オブジェクト15を配置する制御を行う。仮想オブジェクト15へのビルボード処理がこれに該当する(図4参照)。
 計時部280pは、システムクロックを利用して現在日時や制限時間等の各種計時を行う。
 音生成部290pは、音声データの生成やデコードをするICやソフトウェアの実行により実現される。音生成部290pは、生成した音声信号を音出力部390pへ出力する。音出力部390pは、スピーカ等により実現され、音声信号に基づいて放音する。
 画像生成部292pは、親サーバシステム1100Pのシステム管理のための各種管理画面の画像生成を行い、画像データを画像表示部392pに出力する。画像表示部392pは、フラットパネルディスプレイや、ヘッドマウントディスプレイ、プロジェクターなどで実現される。
 通信制御部294pは、データ通信に係るデータ処理を実行し、通信部394pを介して外部装置とのデータのやりとりを実現する。通信部394pは、ネットワーク9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。図1の例では通信装置1153がこれに該当する。
 記憶部500pは、処理部200pに親サーバシステム1100Pを統合的に制御させるための諸機能を実現するためのプログラムや各種データ等を記憶する。記憶部500pは、処理部200pの作業領域として用いられ、処理部200pが各種プログラムに従って実行した演算結果などを一時的に記憶する。この機能は、例えば、RAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD-ROMやDVDなどの光学ディスク、オンラインストレージなどによって実現される。図1の例では本体装置が搭載するICメモリ1152やハードディスクなどの記憶媒体がこれに該当する。オンラインストレージを記憶部500pに含めてもよい。
 図11は、親サーバシステム1100Pの記憶部500pが記憶するプログラムやデータの例を示す図である。
 記憶部500pは、親サーバプログラム501と、配信用第1クライアントプログラム502と、子サーバ登録データ510と、ユーザ管理データ520と、第1の仮想空間制御データ522と、現在日時900と、を記憶する。なお、記憶部500pは、その他のプログラムやデータ(例えば、タイマーや、カウンタ、各種フラグ、など)も適宜記憶する。
 親サーバプログラム501は、処理部200pが読み出して実行することで、親サーバシステム1100Pを、ユーザ管理部202、第1の仮想空間制御部210、などとして機能させるためのプログラムである。
 配信用第1クライアントプログラム502は、ユーザ端末1500へ提供されて実行されるアプリケーションプログラムであって、第1の仮想空間11を利用するためのクライアントプログラムのオリジナルである。
 子サーバ登録データ510は、子サーバシステム1100G毎に用意される。子サーバ登録データ510は、固有のサーバIDと、当該子サーバシステム1100Gにて管理される第2の仮想空間12に固有に設定された仮想空間IDと、当該子サーバシステム1100Gへデータ通信可能に接続するために必要とされるサーバアクセス情報と、を含む。勿論、これら以外のデータも適宜含めることができる。
 ユーザ管理データ520は、登録手続を済ませたユーザ別に用意され、当該ユーザに係る各種データを格納し、ユーザ管理部202により管理される。1つのユーザ管理データ520は、例えば、ユーザ固有のユーザアカウント、ゲームセーブデータ、参加履歴データ(例えば、ログイン、ログアウトの日時)、などを含む。勿論、これら以外のデータも適宜含めることができる。
 第1の仮想空間制御データ522は、第1の仮想空間11の制御に係る各種データを格納する。例えば、第1の仮想空間制御データ522は、アバター8別のアバター管理データ524と、仮想スペース管理データ530と、第1の仮想空間画面表示制御データ550と、を格納する。
 アバター管理データ524は、例えば、当該アバター8を使用する第1の参加ユーザを示すユーザアカウント、当該アバター8のユーザ視点C1のユーザ視点位置及びユーザ視線方向、アバター8のオブジェクトを制御するためのアバターオブジェクト制御データ、などを含む。
 仮想スペース管理データ530は、仮想スペース13毎に作成され、当該仮想スペース13に係る各種データを格納する。1つの仮想スペース管理データ530は、例えば、図12に示すように、仮想スペースID531と、仮想スペース定義データ533と、当該仮想スペース13に設定される具現化空間14毎に作成される具現化空間管理データ540と、を格納する。勿論、これら以外のデータも適宜格納してもよい。
 仮想スペース定義データ533は、第1の仮想空間11の何処にどのような形状の仮想スペース13が設定されているかを示す。例えば、仮想スペース13の代表点の第1の仮想空間座標系における位置座標、仮想スペース13の境界を設定するための境界設定データ(例えば、境界輪郭の各頂天座標など)、などを含む。
 1つの具現化空間管理データ540は、管理サーバID541と、具現化空間定義データ542と、座標変換定義データ544と、を含む。
 管理サーバID541は、当該具現化空間14で具現化する第2の仮想空間12を制御・管理する子サーバシステム1100Gを示す。
 具現化空間定義データ542は、当該仮想スペース13の何処にどのような形状の具現化空間14が設定されているかを示す。例えば、当該具現化空間14の第1の仮想空間11における位置や大きさを定義するデータ(例えば、代表点位置座標、境界設定データなど)を含む。
 座標変換定義データ544は、当該具現化空間14のある第1の仮想空間11の座標系(第1の仮想空間座標系)から当該具現化空間14で具現化する第2の仮想空間12の座標系(元仮想空間座標系)への変換行列を示す。
 図11に戻って、第1の仮想空間画面表示制御データ550は、アバター8別に具現化画像17を生成し、ユーザ端末1500にて第1の仮想空間画面W1を表示させる処理に係る各種データを格納する。
 第1の仮想空間画面表示制御データ550は、例えば図13に示すように、どのアバター8についてのデータであるかを示すアバターID551と、当該アバター8のユーザ視点C1の第1の仮想空間11における位置であるユーザ視点位置553と、ユーザ視点C1の視線方向であるユーザ視線方向555と、登録具現化空間管理データ560と、を格納する。
 登録具現化空間管理データ560は、当該アバター8の視界内に入る具現化空間14が新たに検出される毎に作成され、当該具現化空間14に係る各種データを格納する。1つの登録具現化空間管理データ560は、管理サーバID561と、適用具現化視点ID562と、具現化対象オブジェクトリスト564と、空間表現制御データ566と、を含む。
 管理サーバID561は、当該具現化空間14の元である第2の仮想空間12を制御・管理する子サーバシステム1100Gを示す。
 適用具現化視点ID562は、管理サーバID561が示す子サーバシステム1100Gの第2の仮想空間12に設定される具現化視点C3であって、アバターID551が示すアバター8の具現化視点C3を示す。
 具現化対象オブジェクトリスト564は、当該具現化空間14で具現化する第2の仮想空間12における具現化対象オブジェクトのオブジェクトIDのリストである。具現化対象オブジェクトリスト564は、管理サーバID561の示す子サーバシステム1100Gに親サーバシステム1100Pから所定のリクエストを送信して子サーバシステム1100Gから提供を受ける。当該リストが、アバターID551が示すアバター8用に設定するべき仮想オブジェクト15(図4参照)の元になる。
 空間表現制御データ566は、当該具現化空間14を表現する制御用データ群である。
 例えば、空間表現制御データ566は、具現化対象オブジェクトリスト564のオブジェクト別の仮想オブジェクト制御データ570を含む。
 1つの仮想オブジェクト制御データ570は、固有の仮想オブジェクトID572と、当該仮想オブジェクト15が具現化する対象を示す具現化対象オブジェクトID574と、オブジェクト形状データ576と、第1の仮想空間11における配置位置578と、配置姿勢580と、具現化対象オブジェクトID574が示す具現化対象オブジェクトの撮影画像データ584と、当該仮想オブジェクト15にテクスチャマッピングされる具現化画像データ586と、を含む。
 配置姿勢580は、仮想オブジェクト15の向きを示す。仮想オブジェクト15が板状のポリゴンならばテクスチャマッピングされるマッピング面の法線方向を示す。
 図14は、子サーバシステム1100G(1100Ga,1100Gb,…)の機能構成例を示すブロック図である。子サーバシステム1100Gは、操作入力部100gと、処理部200gと、音出力部390gと、画像表示部392gと、通信部394gと、記憶部500gとを備える。
 操作入力部100gは、子サーバシステム1100Gの管理のための各種操作を入力するための手段である。例えば、キーボード、タッチパネル、マウス、VRコントローラなどがこれに該当する。
 処理部200gは、例えば、CPUやGPU、ASIC、FPGA等の演算回路となるプロセッサの他、ICメモリなどの電子部品によって実現され、操作入力部100gや記憶部500gを含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100gからの操作入力信号、ユーザ端末1500や親サーバシステム1100Pなどから受信したデータ、等に基づいて各種の演算処理を実行して、子サーバシステム1100Gの動作を統合的に制御する。
 処理部200gは、第2の仮想空間制御部230と、計時部280gと、音生成部290gと、画像生成部292gと、通信制御部294gとを含む。勿論、これら以外の機能部も適宜含めることができる。
 第2の仮想空間制御部230は、第2の仮想空間12に係る各種制御を行う。第2の仮想空間12はゲーム空間なので、第2の仮想空間制御部230はゲームサーバとしての機能を実現する。例えば、プレーヤであるユーザ(第2の参加ユーザ)の参加登録制御(プレイログイン)、プレーヤキャラクタ4の制御、ゲーム進行制御、NPCの制御、背景オブジェクトの管理、などに係る各種制御を実行する。そして、第2の仮想空間制御部230は、撮影視点制御部232と、撮影画像生成制御部234と、を有する。
 撮影視点制御部232は、第2の仮想空間12の中に撮影視点を設定し、その位置や視線方向(向き)を制御する。具体的には、撮影視点制御部232は、参加ユーザ用視点C2、具現化視点C3を設定・制御する(図7参照)。
 具現化視点C3については更に、第1の仮想空間11における第2の参加ユーザのアバター8に対応するユーザ視点C1の位置および/又は向きに応じて、当該アバター8用の具現化視点C3の位置および/又は向きを制御する。つまり、アバター8が第1の仮想空間11で動くことでユーザ視点C1の位置や視線方向が変化すると、対応する具現化視点C3も同じように第2の仮想空間12で動き、位置や視線方向が変化するように具現化視点C3をトレース制御する。
 撮影画像生成制御部234は、具現化視点C3別に、具現化対象オブジェクトを撮影した撮影画像18(図7参照)の生成に係る制御を行う。
 計時部280gは、システムクロックを利用して現在日時や制限時間等の各種計時を行う。
 音生成部290gは、音声データの生成やデコードをするICやソフトウェアの実行により実現され、子サーバシステム1100Gのシステム管理や、オンラインゲームの提供に係る操作音や効果音、BGM、音声通話、などの音声データを生成或いはデコードする。そして、システム管理に関する音声信号は音出力部390gへ出力する。音出力部390gは、スピーカ等により実現され、音声信号に基づいて放音する。
 画像生成部292gは、子サーバシステム1100Gのシステム管理のための各種管理画面の画像生成を行い、生成した画像を表示させるための表示制御信号を画像表示部392gへ出力する。画像表示部392gは、フラットパネルディスプレイや、ヘッドマウントディスプレイ、プロジェクター、などの画像を表示させるデバイスで実現される。
 また、画像生成部292gは、ゲームプレイに係る画像の生成を行う。例えば、参加ユーザ用視点C2から第2の仮想空間12を撮影した画像のレンダリング(描画処理)、各ユーザ端末1500に表示させる第2の仮想空間画面W2の生成を行う(図2参照)。
 また、画像生成部292gは、具現化視点C3から第2の仮想空間12を撮影した画像(撮影画像18;図7参照)のレンダリング(描画処理)を行う。
 通信制御部294gは、通信部394gを介して外部装置とのデータのやりとりを実現する。通信部394gは、ネットワーク9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。図1の例では通信装置1153がこれに該当する。
 記憶部500gは、処理部200gに子サーバシステム1100Gを統合的に制御させるための諸機能を実現するためのプログラムや各種データ等を記憶する。また、処理部200gの作業領域として用いられ、処理部200gが各種プログラムに従って実行した演算結果などを一時的に記憶する。この機能は、例えば、RAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD-ROMやDVDなどの光学ディスク、オンラインストレージなどによって実現される。図1の例では本体装置が搭載するICメモリ1152やハードディスクなどの記憶媒体がこれに該当する。オンラインストレージを記憶部500gに含めてもよい。
 記憶部500gは、例えば、子サーバプログラム503と、配信用第2クライアントプログラム504と、ゲーム初期設定データ590と、第2の仮想空間制御データ600と、現在日時900と、を記憶する。勿論、これら以外のデータを適宜格納してもよい。
 子サーバプログラム503は、処理部200gが読み出して実行することで、処理部200gを第2の仮想空間制御部230として機能させるためのプログラムである。本実施形態では、第2の仮想空間12を用いてオンラインゲームを実現するので、子サーバプログラム503は、ゲームサーバとしての機能を実現させるゲームサーバプログラムでもある。
 配信用第2クライアントプログラム504は、子サーバシステム1100Gにアクセスするユーザ端末1500へ提供されて実行されるアプリケーションプログラムのオリジナルである。なお、配信用第2クライアントプログラム504は、配信用第1クライアントプログラム502(図11参照)に含まれているとしてもよい。
 ゲーム初期設定データ590は、オンラインゲームの各種初期設定データを格納する。例えば、オブジェクト定義データ592を格納する。オブジェクト定義データ592は、第2の仮想空間12に配置されるオブジェクト毎に用意され、当該オブジェクトに係る各種初期設定データを格納する。例えば、オブジェクト定義データ592は、オブジェクトIDと、当該オブジェクトが具現化対象オブジェクトである場合に「1」に設定される具現化対象フラグと、オブジェクトモデルと、を含む。勿論、これら以外のデータも適宜含めることができる。
 図15は、第2の仮想空間制御データ600のデータ構成例を示す図である。
 第2の仮想空間制御データ600は、ゲーム空間の制御データに相当し、例えば、固有の仮想空間ID601と、第2の参加ユーザ管理データ602と、ゲーム進行制御データ604と、オブジェクト制御データ610と、参加ユーザ用視点制御データ630と、具現化視点制御データ640と、を含む。勿論、これら以外のデータも適宜含めることができる。
 第2の参加ユーザ管理データ602は、第2の参加ユーザがゲームプレイのためにログインする毎に作成され、ユーザアカウント、プレーヤキャラクタ4のオブジェクトID、などを格納する。
 オブジェクト制御データ610は、第2の仮想空間12に配置されたオブジェクト毎に作成され、当該オブジェクトに係る各種データを格納する。1つのオブジェクト制御データ610は、例えば、オブジェクトID611と、当該オブジェクトが背景オブジェクトであるかプレーヤキャラクタ4であるかを示すオブジェクトカテゴリー613と、具現化対象フラグ615と、配置位置617と、配置姿勢619と、を含む。勿論、これら以外のデータ、例えば動作制御データなども適宜含めることができる。
 参加ユーザ用視点制御データ630は、参加ユーザ用視点C2毎に作成され、最新の状態を記述する各種データを格納する。参加ユーザ用視点制御データ630は、撮影視点ID631と、当該視点を使用する第2の参加ユーザを示す適用ユーザアカウント633と、第2の仮想空間12における配置位置635と、第2の仮想空間12における視線方向637(配置向き)と、を含む。勿論、これら以外のデータも適宜含めることができる。
 具現化視点制御データ640は、具現化視点C3毎に作成され、具現化視点C3に係る各種データを格納する。1つの具現化視点制御データ640は、撮影視点ID641と、当該視点がどのアバター8用であるかを示す適用アバターID643と、第2の仮想空間12における配置位置645と、第2の仮想空間12における視線方向647と、を含む。勿論、これら以外のデータも適宜含めることができる。
 図16は、ユーザ端末1500の機能構成例を示す機能ブロック図である。ユーザ端末1500は、操作入力部100と、端末処理部200と、音出力部390と、画像表示部392と、通信部394と、端末記憶部500と、を備える。
 操作入力部100は、ユーザによってなされた各種の操作入力に応じた操作入力信号を端末処理部200に出力する。例えば、プッシュスイッチや、ジョイスティック、タッチパッド、トラックボール、加速度センサ、ジャイロ、VRコントローラ、などによって実現できる。
 端末処理部200は、例えば、CPUやGPU等のマイクロプロセッサや、ICメモリなどの電子部品によって実現され、操作入力部100や端末記憶部500を含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100からの操作入力信号、親サーバシステム1100Pや子サーバシステム1100Gから受信した各種データに基づいて各種の演算処理を実行して、ユーザ端末1500の動作を制御する。
 端末処理部200は、クライアント制御部260と、計時部280と、音生成部290と、画像生成部292と、通信制御部294と、を有する。
 クライアント制御部260は、仮想空間制御システム1000におけるクライアント、或いはゲームクライアントとしての各種制御を行い、ユーザ端末1500をマンマシンインターフェース(MMIF)として機能させる。具体的には、クライアント制御部260は、操作入力情報提供部261と、表示制御部262と、を有する。
 操作入力情報提供部261は、操作入力部100からの入力に応じて操作入力情報を親サーバシステム1100Pや子サーバシステム1100Gへ送信する制御を行う。
 表示制御部262は、親サーバシステム1100Pや子サーバシステム1100Gから受信したデータに基づいて各種の画像を表示させるための制御を行う。
 計時部280は、システムクロックを利用して現在日時や制限時間等の計時を行う。
 音生成部290は、例えば、デジタルシグナルプロセッサ(DSP)や、音声合成ICなどのプロセッサ、音声ファイルを再生可能なオーディオコーデック等によって実現され、楽曲や効果音、各種操作音の音信号を生成し、音出力部390に出力する。音出力部390は、スピーカなど音生成部290から入力される音信号に基づいて音出力(放音)する装置によって実現される。
 画像生成部292は、クライアント制御部260の制御に基づく画像を画像表示部392へ表示させる表示制御信号を出力する。図1の例では、制御基板1550に搭載されるGPU(Graphics Processing Unit)や、グラフィックコントローラ、グラフィックボード、などがこれに該当する。画像表示部392は、フラットパネルディスプレイや、VRヘッドセットの表示素子、プロジェクター、など、画像を表示させる装置で実現される。
 通信制御部294は、データ通信に係るデータ処理を実行し、通信部394を介して外部装置とのデータのやりとりを実現する。
 通信部394は、ネットワーク9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。図1の例では通信モジュール1553がこれに該当する。
 端末記憶部500は、端末処理部200に所与の機能を実現させるためのプログラムや、各種データ等を記憶する。また、端末処理部200の作業領域として用いられ、端末処理部200が各種プログラムに従って実行した演算結果や操作入力部100から入力される入力データ等を一時的に記憶する。こうした機能は、例えば、RAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD-ROMやDVDなどの光学ディスクなどによって実現される。図1の例では、制御基板1550が搭載するICメモリ1552がこれに該当する。
 具体的には、端末記憶部500は、第1クライアントプログラム505(アプリケーションプログラム)と、第2クライアントプログラム506(アプリケーションプログラム)と、現在日時900と、を記憶する。勿論、これら以外のデータも適宜記憶できる。例えば、トークンやフラグ、タイマー、カウンタなども記憶する。
 第1クライアントプログラム505は、第1の仮想空間11を利用するためにクライアント制御部260としての機能させるためのプログラムであって、親サーバシステム1100Pから取得する。
 第2クライアントプログラム506は、第2の仮想空間12を利用するためのクライアント制御部260として機能させるためのプログラムであって、子サーバシステム1100Gから取得する。
 図17は、親サーバシステム1100Pが実行する第1の仮想空間制御処理の流れを説明するためのフローチャートである。
 同処理において、親サーバシステム1100Pは、第1の仮想空間11に背景オブジェクトを配置して、第1の仮想空間11の自動制御を開始する(ステップS10)。例えば、NPC(Non Player Character)の動作、イベントの発生などの自動制御が開始される。
 親サーバシステム1100Pは、第1クライアントプログラム505を実行するユーザ端末1500と通信して所定のシステムログインを受け付けると、参加希望ユーザありと判断し(ステップS12のYES)、システムログインしたユーザを新たな第1の参加ユーザとみなす。そして、新たな第1の参加ユーザ用にアバター管理データ524を作成して当該ユーザのアバター8を第1の仮想空間11に配置し、当該加ユーザによる操作入力に応じたアバター8の動作制御を開始する(ステップS14)。そして、新たに配置したアバター8の所定位置に当該アバター8のユーザ視点C1を設定する(ステップS16)。ユーザ視点C1は、これ以降、アバター8の動作制御に応じて、アバター8の頭の位置や向きに連動するように自動制御される。
 次に、親サーバシステム1100Pは、アバター8毎にループAを実行して、アバター8毎に第1の仮想空間画面表示処理を実行する(ステップS20からステップS22)。
 図18から図19は、第1の仮想空間画面表示処理の流れを説明するためのフローチャートである。同処理において、親サーバシステム1100Pは、ループAの処理対象のアバター8(対象アバター)の視界範囲に入った具現化空間14を新たに検出すると(ステップS30のYES)、検出した具現化空間14の登録具現化空間管理データ560(図13参照)を作成して、当該具現化空間14を対象アバターと対応づけて登録する(ステップS32)。
 次に、親サーバシステム1100Pは、検出した具現化空間14の具現化空間管理データ540(図12参照)を参照して、その管理サーバID541が示す子サーバシステム1100Gへ所定の設定リクエストを送信する(ステップS34)。
 具体的には、送信先の子サーバシステム1100Gの第2の仮想空間12に設定を求める具現化視点C3の配置位置および視線方向の情報が送信される。具現化視点C3の第2の仮想空間12における配置位置および視線方向は、対象アバターのユーザ視点位置553及びユーザ視線方向555(図13参照)を、検出した具現化空間14の座標変換定義データ544(図12参照)に基づいて変換して得られる。
 一方、親サーバシステム1100Pは、対象アバターに係り登録されている具現化空間14のなかから視界外になった具現化空間14を新たに検出したならば(ステップS36のYES)、検出した具現化空間14の登録を破棄し具現化視点C3の破棄をリクエストする(ステップS38)。具体的には、登録具現化空間管理データ560(図13参照)を消去して、所定の具現化視点の破棄リクエストを対象アバターのアバターID551とともに、検出した具現化空間14に対応する子サーバシステム1100Gへ送信する。
 次に、親サーバシステム1100Pは、対象アバターについて登録されている具現化空間毎にループBを実行する(ステップS50からステップS76)。
 ループBにおいて、親サーバシステム1100Pは、処理対象とされる登録済みの具現化空間(対象具現化空間)の元になる第2の仮想空間12を管理する子サーバシステム1100Gへ所定の制御リクエストを送信する(ステップS52)。
 「制御リクエスト」は、対象アバターの具現化視点C3の第2の仮想空間12における位置と視線方向を、対象アバターの第1の仮想空間11におけるユーザ視点C1の位置と視線方向の最新状態に追従・連動させる制御を子サーバシステム1100Gへ求めるものである。リクエストとともに、対象アバターのアバターID551と、変更先位置と、変更後視線方向とを送信する。変更先位置および変更後視線方向は、対象アバターのユーザ視点C1の第1の仮想空間座標系の配置位置及び視線方向を、対象具現化空間の座標変換定義データ544に基づいて変換したものである。
 次に、親サーバシステム1100Pは、対象具現化空間における具現化対象オブジェクトのリスト提供を求める提供リクエストを、対象アバターのアバターID551とともに、対象具現化空間の元になる第2の仮想空間12を管理する子サーバシステム1100Gへ送信してリストを取得する(ステップS54)。受信したリストで、具現化対象オブジェクトリスト564が更新される(図13参照)。
 次に、親サーバシステム1100Pは、対象具現化空間の仮想オブジェクト制御データ570(図13参照)を削除して仮想オブジェクト15の設定を一旦クリアして(ステップS56)、対象具現化空間における最新の具現化対象オブジェクト毎にループCを実行する。親サーバシステム1100Pは、具現化対象オブジェクトリスト564が示す具現化対象オブジェクトの第2の仮想空間12における最新状況に応じて仮想オブジェクト15を再配置する(ステップS60からステップS74)。
 ループCにおいて、親サーバシステム1100Pは、対象アバターの具現化視点C3で、ループCの処理対象とされる具現化対象オブジェクト(対象オブジェクト)を撮影した撮影画像18(図7参照)の提供を求める所定の画像リクエストを、対象具現化空間の元になる第2の仮想空間12を管理する子サーバシステム1100Gへ送信し、これを取得する(ステップS62)。画像リクエストとともに、対象アバターのアバターID551と、対象オブジェクトの具現化対象オブジェクトID574とが送信される。子サーバシステム1100Gから受信した画像は、撮影画像データ584となる(図13参照)。
 次いで、親サーバシステム1100Pは、受信した撮影画像18に演算量低減化処理を施して具現化画像17を生成する(ステップS64)。
 図19に移って、親サーバシステム1100Pは、具現化対象オブジェクトの第2の仮想空間12における最新の配置位置の提供を求める所定の位置リクエストを、対象オブジェクトの具現化対象オブジェクトID574とともに、対象具現化空間の元になる第2の仮想空間12を管理する子サーバシステム1100Gへ送信し、これを取得する(ステップS66)。受信した位置座標を対象具現化空間の座標変換定義データ544の逆行列で変換して、具現化対象オブジェクトの仮想オブジェクト15の配置位置578とする(図13参照)。
 そして、親サーバシステム1100Pは、対象オブジェクトの仮想オブジェクト15の大きさと形状を決定して第1の仮想空間11に配置する(ステップS68)。
 具体的には、仮想オブジェクト15の大きさと形状を、受信した撮影画像18又は生成した具現化画像17の上下幅・左右幅と同じ幅を有する矩形の大きさおよび形状としてオブジェクト形状データ576を設定し、当該設定データに従った仮想オブジェクト15を配置位置578へ配置する。
 そして、親サーバシステム1100Pは、配置した仮想オブジェクト15へ、具現化画像17をテクスチャマッピングして(ステップS70)、当該仮想オブジェクト15のマッピング面を対象アバターのユーザ視点C1へ向けるようにビルボード処理をする(ステップS72)。
 なお、ビルボード処理は、具現化対象オブジェクトの仮想オブジェクト15と対象アバターのユーザ視点C1との相対位置関係や相対向きに応じて、適宜省略するとしてもよい。例えば、ユーザ視点C1から所定距離以上離れている具現化対象オブジェクトの仮想オブジェクト15については省略することとしてもよい。また、ユーザ視点C1の視線方向の向きと仮想オブジェクト15のマッピング面の法線方向とのズレが許容角度内である場合には省略することとしてもよい。これにより、親サーバシステム1100Pの処理負荷を低減できる。
 具現化対象オブジェクトの全てについてループCを実行し、それぞれの具現化対象オブジェクトに対応する仮想オブジェクト15を仮想スペース13内に配置したならば(ステップS74)、次の登録具現化空間を対象具現化空間としてループBを繰り返す。
 全ての登録具現化空間についてループBを実行したならば(ステップS76)、親サーバシステム1100Pは、対象アバター用の仮想オブジェクト15を描画ON、他のアバター用の仮想オブジェクト15の描画OFFに設定する(ステップS100)。次いで、親サーバシステム1100Pは、対象アバターのユーザ視点C1から撮影した第1の仮想空間11の画像をレンダリングして、適宜これに情報表示などを加えて第1の仮想空間画面W1を生成する(ステップS102)。
 そして、第1の仮想空間画面W1を対象アバターのユーザ端末1500へ表示させ(ステップS104)。対象アバターへの第1の仮想空間画面表示処理を終了する。
 図17に戻って、親サーバシステム1100Pは、第1の参加ユーザのユーザ端末1500から所定のシステムログアウトを受け付けると、当該ユーザのアバター8を第1の仮想空間11から消去する。そして、親サーバシステム1100Pは、アバター管理データ524と第1の仮想空間画面表示制御データ550を削除して、当該第1の参加ユーザの参加登録を抹消する(ステップS110)。
 親サーバシステム1100Pは、ステップS12からステップS110を繰り返し実行する。
 図20から図21は、子サーバシステム1100Gが実行する処理の流れを説明するためのフローチャートである。
 子サーバシステム1100Gは、ゲーム初期設定データ590を参照して第2の仮想空間12にゲーム空間を構成する背景オブジェクトを配置し、第2の仮想空間12の自動制御を開始する(ステップS130)。そして、子サーバシステム1100Gは、配置されている背景オブジェクトのうち、そのオブジェクト定義データ592で具現化対象フラグが立てられているオブジェクトに具現化対象フラグ615(図15参照)を立てる(ステップS132)。
 子サーバシステム1100Gは、第2クライアントプログラム506を実行するユーザ端末1500と通信してゲームプレイのログインを受け付けると、参加希望ユーザありと判断する(ステップS140のYES)。子サーバシステム1100Gは、プレイログインしたユーザを新たな第2の参加ユーザとしてそのプレーヤキャラクタ4を第2の仮想空間12に配置し、新たな第2の参加ユーザによる操作入力に応じた動作制御を開始する(ステップS142)。
 次いで、子サーバシステム1100Gは、新たに配置したプレーヤキャラクタ4の所定位置に参加ユーザ用視点C2(撮影視点)を設定して、プレーヤキャラクタ4の位置や向きの変更に視点の位置や視線方向を追従させる自動制御を開始する(ステップS136)。子サーバシステム1100Gは、当該プレーヤキャラクタ4に具現化対象フラグ615を立てる(ステップS146)。
 本実施形態では、第2の仮想空間12で1対1の対戦を行う対戦格闘ゲームを実行するので、参加ユーザ用視点C2は共通とされるが、ゲームジャンルによってはプレーヤキャラクタ4別に参加ユーザ用視点C2を設定する。また、本実施形態では、プレーヤキャラクタ4は無条件に具現化対象オブジェクトとして設定しているが、MMORPG(Massively Multiplayer Online Role Playing Game)などでは必ずしも全てのプレーヤキャラクタ4を具現化対象オブジェクトに設定しなくてもよい。例えば、当該ステップにおいて、既に第2の仮想空間12に配置されているプレーヤキャラクタ4の中から具現化対象オブジェクトを抜粋するとしてもよい。
 次に、子サーバシステム1100Gは、ゲーム進行開始が可能になったかを判定する(ステップS150)。本実施形態では、第2の仮想空間12で1対1の対戦格闘ゲームを実行するので、第2の参加ユーザが2名揃った場合に肯定判定すると(ステップS150のYES)、ゲーム進行制御を開始する(ステップS152)。子サーバシステム1100Gは、ゲーム進行制御として、参加ユーザ用視点C2から撮影した第2の仮想空間12の画像を生成して、第2の参加ユーザのユーザ端末1500にて第2の仮想空間画面W2(図3参照)を表示させる制御を開始する。
 なお、第2の仮想空間12で実行されるゲームのジャンルが、例えば、MORPG(Multiplayer Online Role Playing Game)などでは、ステップS150からステップS154を、ステップS142やステップS144とともに実行すればよい。
 子サーバシステム1100Gは、親サーバシステム1100Pから設定リクエストを受信すると(ステップS160のYES)、第2の仮想空間12内に具現化視点C3を設定する(ステップS162)。
 また、子サーバシステム1100Gは、親サーバシステム1100Pから破棄リクエストを受信すると(ステップS164のYES)、リクエストされた具現化視点C3を第2の仮想空間12から消去・破棄する(ステップS166)。
 図21に移って、子サーバシステム1100Gは、親サーバシステム1100Pから制御リクエストを受信すると(ステップS180のYES)、リクエストされた具現化視点C3の位置や視線方向を、当該具現化視点C3に対応するアバター8のユーザ視点C1の位置や視線方向の変化に追従するように変更制御する(ステップS182)。
 また、子サーバシステム1100Gは、親サーバシステム1100Pから提供リクエストを受信すると(ステップS184のYES)、第2の仮想空間12に配置されているオブジェクトの中から具現化対象フラグ615が「1(フラグ立ち)」になっているオブジェクトを検索する。そして、子サーバシステム1100Gは、それらのオブジェクトID611のリストを親サーバシステム1100Pへ返信する(ステップS186)。
 また、子サーバシステム1100Gは、親サーバシステム1100Pから画像リクエストを受信すると(ステップS190のYES)、リクエストされた具現化視点C3からリクエストされた具現化対象オブジェクトを撮影した撮影画像18を生成して、親サーバシステム1100Pへ返信する(ステップS192)。
 また、子サーバシステム1100Gは、親サーバシステム1100Pから位置リクエストを受信すると(ステップS194のYES)、リクエストされた具現化対象オブジェクトの位置座標を親サーバシステム1100Pへ返信する(ステップS196)。
 ゲーム終了条件が満たされると(ステップS200のYES)、子サーバシステム1100Gは、ゲーム終了処理を実行する(ステップS202)。例えば、第2の参加ユーザのプレーヤキャラクタ4を第2の仮想空間12から消去する。勝ち抜き戦タイプの対戦ゲームであれば、勝者のプレーヤキャラクタ4は消去しなくてもよい。
 以上、本実施形態によれば、第1の仮想空間に第2の仮想空間が存在するかのような新たな具現化手法の技術を提供することができる。
 仮想空間制御システム1000は、第1の仮想空間11内に仮想スペース13を設定し、この仮想スペース13に第2の仮想空間12を具現化した具現化空間14を表現する。その際、第2の仮想空間12内の具現化対象オブジェクトに限り、それを具現化する仮想オブジェクト15を仮想スペース13内に配置する。つまり、第2の仮想空間12に配置される全オブジェクトを第1の仮想空間11に複製して複製元と同じように動作制御するよりも、遥かに少ない演算量、少ない処理ステップ、少ないデータ量で第2の仮想空間12の様子を第1の仮想空間11にて具現化できる。
 しかも、仮想オブジェクト15の配置構成を、それらに対応づけられる具現化対象オブジェクトの第2の仮想空間12における配置構成に合わせることで、第2の仮想空間12の様子をライブ中継のごとく第1の仮想空間11にて表現できる。
 そして、仮想オブジェクト15には、テクスチャマッピングされる具現化画像17の元になる撮影画像18は、子サーバシステム1100Gにて生成されるので、具現化空間14の表現に係る親サーバシステム1100Pの処理負荷を抑制できる。しかも具現化画像17は、撮影画像18に対して演算量低減化処理を施して作成されるので、更に親サーバシステム1100Pの処理負荷を抑制できる。
 〔変形例〕
 以上、本発明を適用した実施形態の一例について説明したが、本発明を適用可能な形態は上記形態に限定されるものではなく適宜構成要素の追加・省略・変更を施すことができる。
 (変形例その1)
 例えば、上記実施形態では、具現化視点C3をアバター8別に第2の仮想空間12に設定したがこれに限らない。例えば、図22に示すように、第2の仮想空間12内に予め候補撮影視点C4(C4a,C4b,…)を多数設定しておいて、この中から具現化視点C3を選択するとしてもよい。
 候補撮影視点C4の数は適宜設定可能であるが、例えば、100点程度を、具現化対象オブジェクト(図22の例では、プレーヤキャラクタ4a、プレーヤキャラクタ4b、アイテム5)を四方八方から撮影するように設定する。各候補撮影視点C4は、それぞれの位置から具現化対象オブジェクト(図22の例では、プレーヤキャラクタ4a、プレーヤキャラクタ4b、アイテム5)を所与の画面レイアウトで写すように、相対位置や視線方向が設定されている。
 図22中のアバター視点C3’は、子サーバシステム1100Gが、設定リクエストとともに受信した位置座標及び視線方向に基づく視点である。上記実施形態であれば、ステップS162(図20参照)にて設定される具現化視点C3に相当する。
 当該変形例において、子サーバシステム1100Gは、ステップS162に代えて図23に示す具現化視点選択処理の流れを実行する。すなわち、子サーバシステム1100Gは、候補撮影視点C4の中から、設定リクエストとともに受信した位置座標及び視線方向が最も近い候補撮影視点C4(図23の例では候補撮影視点C4a)を選択し(ステップS200)、当該候補撮影視点C4を、対象アバターの具現化視点C3として登録する(ステップS202)。
 また、当該変形例において、子サーバシステム1100Gは、ステップS192(図21参照)に代えて図24に示す画像提供処理の流れを実行する。
 すなわち、子サーバシステム1100Gは、画像リクエストでリクエストされたアバター8の具現化視点C3でリクエストされた具現化対象オブジェクトの撮影画像18を生成する(ステップS220)。次で、子サーバシステム1100Gは、リクエストされた具現化対象オブジェクトの代表点を起点として、(1)当該起点からアバター視点C3’までの距離L1と、当該起点から具現化視点C3までの距離L2を算出し(ステップS224)、距離L1と距離L2の比率に基づいて先に生成した撮影画像18を拡大/縮小処理する。アバター視点C3’が具現化視点C3より、リクエストされた具現化対象オブジェクトより離れていれば撮影画像18は比率に応じて縮小され、その逆であれば比率に応じて拡大される。
 次いで、子サーバシステム1100Gは、拡大/縮小した撮影画像18を、アバター視点C3’の法線面(視線方向を法線方向とする面)に投影変換処理し(ステップS226)、これを撮影画像18として親サーバシステム1100Pへ変身する(ステップS228)。
 (変形例その2)
 また、上記実施形態では、仮想オブジェクト15を具現化対象オブジェクト毎に作成したが、参加ユーザ用視点C2が具現化対象オブジェクトを全て撮影範囲に収めるケースでは、全ての具現化対象オブジェクトを1つの仮想オブジェクト15で表現する構成としてもよい。
 (変形例その3)
 また、上記実施形態では、プレーヤキャラクタ4を具現化対象オブジェクトとする例を示したが、光彩や爆煙、霧、火花、集中線、などの各種演出表示用のオブジェクトも適宜具現化対象オブジェクトとしてもよい。
 (変形例その4)
 また、上記実施形態では、仮想オブジェクト15として、板状のポリゴンを例示したがこれに限らない。例えば、候補撮影視点C4で撮影された撮影画像18に基づくフォトグラメトリにより仮想オブジェクト15を多数のポリゴンで構成された立体的なモデルとして作成してもよい。具体的には、親サーバシステム1100Pは、ループCに代えて子サーバシステム1100Gから全ての候補撮影視点C4の撮影画像18をフォトグラメトリ素材画像として取得し、取得した撮影画像18を素材としてフォトグラメトリ処理を実行して仮想オブジェクト15を作成するとしてもよい。この場合、仮想オブジェクト15へのビルボード処理(図19のステップS72)は実行不要となる。
 (変形例その5)
 また、各種の視点(ユーザ視点C1、参加ユーザ用視点C2、具現化視点C3、候補撮影視点)に係り、それぞれの仮想空間での位置と視線方向との両方を制御する例を示したが、これに限らない。(a)第1の仮想空間11や第2の仮想空間12での主な表現対象物、(b)第2の仮想空間12で実現されるゲームの内容、(c)アバター8やプレーヤキャラクタ4のデザイン、(d)仮想オブジェクト15の形状、などによっては、位置と視線方向の何れか一方のみを制御する構成であってもよい。また、ステップS66は、第2の仮想空間12において固定位置にあるオブジェクト(例えば、ある種の背景オブジェクト)については省略してもよい。
 (変形例その6)
 ステップS30およびステップS36に係り(図18参照)、具現化空間14がアバター8の視界に入るか否かは、第1の仮想空間11におけるユーザ視点C1の位置や向き(視線方向)に応じて変わる。ユーザ視点C1の位置だけが変わるか、視線方向だけが変わるか、両方変わるのか、は上記(a)から(d)の内容次第となる。
 また、ユーザ視点C1の移動や方向の変化に応じた仮想オブジェクト15の移動や向きの制御についても、移動のみの制御とするか、向きのみの制御とするか、両方を制御するのかもやはり上記(a)から(d)の内容次第となる。
 つまり、ステップS72に係り、親サーバシステム1100Pは、第1の仮想空間11におけるユーザ視点C1の位置および/又は向きに応じて、仮想オブジェクト15の位置および/又は向きを制御すると言える。
 第2の仮想空間12における具現化視点C3の制御についても同様である。
 すなわち、ユーザ視点C1の位置だけが変わるか、視線方向だけが変わるか、両方変わるのか、は上記(a)から(d)の内容次第となる。また、具現化視点C3を移動のみ制御するのか、向きのみ制御するのか、両方を制御するのかもやはり上記(a)から(d)の内容次第となる。
 つまり、子サーバシステム1100Gは、ステップS182に係り、第1の仮想空間11におけるユーザ視点C1の位置および/又は向きに応じて、第2の仮想空間における具現化視点C3の位置および/又は向きを制御する、と言える。
  4…プレーヤキャラクタ(具現化対象オブジェクト)
  8…アバター
  11…第1の仮想空間
  12…第2の仮想空間
  13…仮想スペース
  14…具現化空間
  15…仮想オブジェクト
  17…具現化画像
  18…撮影画像
  200p…処理部
  210…第1の仮想空間制御部
  212…仮想スペース設定部
  214…空間表現制御部
  216…仮想オブジェクト制御部
  230…第2の仮想空間制御部
  232…撮影視点制御部
  234…撮影画像生成制御部
  501…親サーバプログラム
  503…子サーバプログラム
  505…第1クライアントプログラム
  506…第2クライアントプログラム
  522…第1の仮想空間制御データ
  524…アバター管理データ
  530…仮想スペース管理データ
  540…具現化空間管理データ
  544…座標変換定義データ
  550…第1の仮想空間画面表示制御データ
  553…ユーザ視点位置座標
  555…ユーザ視線方向
  560…登録具現化空間管理データ
  561…管理サーバID
  564…具現化対象オブジェクトリスト
  566…空間表現制御データ
  570…仮想オブジェクト制御データ
  574…具現化対象オブジェクトID
  578…配置位置
  580…配置姿勢
  584…撮影画像データ
  586…具現化画像データ
  600…第2の仮想空間制御データ
  615…具現化対象フラグ
  630…参加ユーザ用視点制御データ
  640…具現化視点制御データ
  645…位置座標
  647…視線方向
  1000…仮想空間制御システム
  1010…運用サーバシステム
  1100G…子サーバシステム
  1100P…親サーバシステム
  1500…ユーザ端末
  C1…ユーザ視点
  C2…参加ユーザ用視点
  C3…具現化視点
  C4…候補撮影視点
  W1…第1の仮想空間画面
  W2…第2の仮想空間画面

Claims (17)

  1.  第1の仮想空間と第2の仮想空間とを個別に制御するコンピュータシステムであって、
     前記第1の仮想空間内に、所与の具現化空間を表現するための仮想スペースを設定する仮想スペース設定部と、
     前記第2の仮想空間のオブジェクトの情報に基づいて前記仮想スペースにオブジェクトを配置し、前記第2の仮想空間を具現化した前記具現化空間を表現する制御を行う空間表現制御部と、
     を備えるコンピュータシステム。
  2.  前記空間表現制御部は、前記第2の仮想空間のオブジェクトに相当するオブジェクトを、前記第2の仮想空間の配置構成に基づく配置構成で前記仮想スペースに配置することで前記具現化空間を表現する制御を行う、
     請求項1に記載のコンピュータシステム。
  3.  前記空間表現制御部は、前記第2の仮想空間を完全に再現する場合の演算量よりも少ない演算量で前記第2の仮想空間を表現することが可能である、
     請求項1又は2に記載のコンピュータシステム。
  4.  前記空間表現制御部は、前記第2の仮想空間を所与の撮影視点から撮影した撮影画像に基づいて、前記具現化空間を表現する制御を行う、
     請求項1から3の何れか一項に記載のコンピュータシステム。
  5.  前記空間表現制御部は、前記第1の仮想空間における所与のユーザ視点の視界内に仮想オブジェクトを配置し、前記撮影画像に基づく画像がマッピングされた前記仮想オブジェクトを前記ユーザ視点に基づき描画する描画処理を行うことで、前記具現化空間を表現する制御を行う、
     請求項4に記載のコンピュータシステム。
  6.  前記空間表現制御部は、前記第1の仮想空間における前記ユーザ視点の位置および/又は向きに応じて、前記仮想オブジェクトの位置および/又は向きを制御する仮想オブジェクト制御部を有する、
     請求項5に記載のコンピュータシステム。
  7.  前記仮想オブジェクト制御部は、前記ユーザ視点の位置の変化および/又は向きの変化に追従させて、前記ユーザ視点に対して所定の相対向きとなる姿勢で前記仮想オブジェクトを配置する制御を行う、
     請求項6に記載のコンピュータシステム。
  8.  前記撮影視点には、前記第2の仮想空間における配置位置および/又は配置向きが異なる複数の撮影視点が含まれており、
     前記空間表現制御部は、前記複数の撮影視点のうちの何れかの撮影視点から撮影した撮影画像に基づいて、前記具現化空間を表現する制御を行う、
     請求項5から7の何れか一項に記載のコンピュータシステム。
  9.  前記第1の仮想空間における前記ユーザ視点の位置および/又は向きに応じて、前記第2の仮想空間における前記撮影視点の位置および/又は向きを制御する撮影視点制御部、
     を更に備える請求項5から7の何れか一項に記載のコンピュータシステム。
  10.  前記空間表現制御部は、前記第1の仮想空間における前記仮想スペースの座標と前記第2の仮想空間の座標とを対応付けて前記具現化空間を表現することで、前記仮想スペースに前記第2の仮想空間が固定的に具現化された前記具現化空間を表現し、
     前記撮影視点制御部は、前記仮想スペースに対する前記ユーザ視点の位置の変化および/又は向きの変化に追従させるように、前記第2の仮想空間における前記撮影視点の位置および/又は向きを制御する、
     請求項9に記載のコンピュータシステム。
  11.  前記空間表現制御部は、第1の仮想空間に参加している参加ユーザ毎に、当該参加ユーザに対応する前記ユーザ視点を配置して前記描画処理を行うことで、各ユーザ視点から見た前記具現化空間を表現する制御を行う、
     請求項5から10の何れか一項に記載のコンピュータシステム。
  12.  前記第2の仮想空間は複数存在し、
     前記仮想スペース設定部は、前記第1の仮想空間内に、前記第2の仮想空間それぞれの前記仮想スペースを設定し、
     前記空間表現制御部は、前記参加ユーザ毎に、当該参加ユーザに対応する前記ユーザ視点の視界内の前記仮想スペースそれぞれについて前記描画処理を行う、
     請求項11に記載のコンピュータシステム。
  13.  前記撮影視点と、前記第2の仮想空間に参加しているユーザのための参加ユーザ用視点とは、異なる、
     請求項4から12の何れか一項に記載のコンピュータシステム。
  14.  前記第2の仮想空間は、前記第2の仮想空間に参加しているユーザの操作入力に基づいてゲーム進行が制御されるゲーム空間である、
     請求項1から13の何れか一項に記載のコンピュータシステム。
  15.  前記第1の仮想空間を制御するコンピュータと、前記第2の仮想空間を制御するコンピュータと、を個別に具備して構成される請求項1から14の何れか一項に記載のコンピュータシステム。
  16.  請求項1から15の何れか一項に記載のコンピュータシステムであるサーバシステムと、
     前記第1の仮想空間に参加するユーザのマンマシンインターフェースとなるユーザ端末と、
     を具備する仮想空間制御システム。
  17.  第1の仮想空間と第2の仮想空間とを個別に制御する仮想空間制御方法であって、
     前記第1の仮想空間内に、所与の具現化空間を表現するための仮想スペースを設定することと、
     前記第2の仮想空間のオブジェクトの情報に基づいて前記仮想スペースにオブジェクトを配置し、前記第2の仮想空間を具現化した前記具現化空間を表現する制御を行うことと、
     を含む仮想空間制御方法。
PCT/JP2023/009092 2022-03-30 2023-03-09 コンピュータシステム、仮想空間制御システムおよび仮想空間制御方法 WO2023189362A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022056821A JP2023148674A (ja) 2022-03-30 2022-03-30 コンピュータシステム、仮想空間制御システムおよび仮想空間制御方法
JP2022-056821 2022-03-30

Publications (1)

Publication Number Publication Date
WO2023189362A1 true WO2023189362A1 (ja) 2023-10-05

Family

ID=88200659

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/009092 WO2023189362A1 (ja) 2022-03-30 2023-03-09 コンピュータシステム、仮想空間制御システムおよび仮想空間制御方法

Country Status (2)

Country Link
JP (1) JP2023148674A (ja)
WO (1) WO2023189362A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017142569A (ja) * 2016-02-08 2017-08-17 株式会社コロプラ 仮想空間の画像をヘッドマウントディスプレイに提供する方法及びプログラム
US20170286993A1 (en) * 2016-03-31 2017-10-05 Verizon Patent And Licensing Inc. Methods and Systems for Inserting Promotional Content into an Immersive Virtual Reality World
WO2018079557A1 (ja) * 2016-10-31 2018-05-03 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および画像生成方法
JP2019141162A (ja) * 2018-02-16 2019-08-29 株式会社カプコン コンピュータシステム
JP2019175323A (ja) * 2018-03-29 2019-10-10 株式会社バンダイナムコエンターテインメント シミュレーションシステム及びプログラム
JP2019192175A (ja) * 2018-04-27 2019-10-31 株式会社コロプラ プログラム、情報処理装置、および方法
JP2020201575A (ja) * 2019-06-06 2020-12-17 株式会社ソニー・インタラクティブエンタテインメント 表示制御装置、表示制御方法、及び表示制御プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017142569A (ja) * 2016-02-08 2017-08-17 株式会社コロプラ 仮想空間の画像をヘッドマウントディスプレイに提供する方法及びプログラム
US20170286993A1 (en) * 2016-03-31 2017-10-05 Verizon Patent And Licensing Inc. Methods and Systems for Inserting Promotional Content into an Immersive Virtual Reality World
WO2018079557A1 (ja) * 2016-10-31 2018-05-03 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および画像生成方法
JP2019141162A (ja) * 2018-02-16 2019-08-29 株式会社カプコン コンピュータシステム
JP2019175323A (ja) * 2018-03-29 2019-10-10 株式会社バンダイナムコエンターテインメント シミュレーションシステム及びプログラム
JP2019192175A (ja) * 2018-04-27 2019-10-31 株式会社コロプラ プログラム、情報処理装置、および方法
JP2020201575A (ja) * 2019-06-06 2020-12-17 株式会社ソニー・インタラクティブエンタテインメント 表示制御装置、表示制御方法、及び表示制御プログラム

Also Published As

Publication number Publication date
JP2023148674A (ja) 2023-10-13

Similar Documents

Publication Publication Date Title
US11722629B2 (en) Spectator view into a live event held in a real-world venue
JP6849349B2 (ja) サードパーティ入力を含むゲームシステム
US10424077B2 (en) Maintaining multiple views on a shared stable virtual space
JP5558733B2 (ja) プログラム、情報記憶媒体、及びゲームシステム
JP6849348B2 (ja) サードパーティ制御を含むゲームシステム
US8568229B2 (en) Apparatus and method for displaying player character showing special movement state in network game
US20020142834A1 (en) Game screen switching method performed in game machine and network game system, and program for executing the method
US11724191B2 (en) Network-based video game editing and modification distribution system
WO2011109126A1 (en) Maintaining multiple views on a shared stable virtual space
JP2012016523A (ja) プログラム、情報記憶媒体、及びゲーム装置
JP2020018745A (ja) ゲームシステム及びプログラム
JP7323751B2 (ja) ゲームシステム及びプログラム
US20210146252A1 (en) Game system, storage medium for use therewith, and control method
WO2023189362A1 (ja) コンピュータシステム、仮想空間制御システムおよび仮想空間制御方法
JP6829364B2 (ja) ゲームシステム、及びそれに用いるコンピュータプログラム
JP7051993B2 (ja) プログラム及び電子機器
JP7411368B2 (ja) コンピュータシステム、サーバシステム及びプログラム
WO2023189361A1 (ja) コンピュータシステム、仮想空間制御システムおよび制御方法
JP2024058071A (ja) ゲームシステム、サーバ装置、プログラム及びゲーム提供方法
JP2024052169A (ja) ゲームシステム、プログラム及びゲーム提供方法
JP2024058072A (ja) ゲームシステム、サーバ装置、プログラム及びゲーム提供方法
JP2023049982A (ja) サーバシステム、プログラム、プレーヤ端末、及び提供方法
JP5848399B2 (ja) プログラム及びゲームシステム
JP2024018679A (ja) コンピュータシステムおよび背景キャラクタ制御方法
JP2023148672A (ja) コンピュータシステム、仮想空間制御システムおよび仮想空間制御方法

Legal Events

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

Ref document number: 23779388

Country of ref document: EP

Kind code of ref document: A1