PROJECTION PROGRAM, PROJECTION METHOD, PROJECTION SYSTEM, AND COMPUTER-READABLE MEDIUM

The projection program addresses the cumbersome need to redesign 3D models by transforming and combining viewing volumes in virtual space, allowing for realistic distortions in CG animation without model alteration.

JP7740735B2Active Publication Date: 2025-09-17STUDIO BOKAN INC
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2023559389
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-11-15
Publication Date
2025-09-17
Estimated Expiration
2041-11-15

AI Technical Summary

Technical Problem

Existing CG animation technologies require redesigning three-dimensional models to express impossible real-world distortions, making the process cumbersome.

Method used

A projection program that transforms and combines multiple viewing volumes in a virtual space to project images that would not occur in the real world, without altering pre-designed three-dimensional models.

Benefits of technology

Enables the projection of images with distorted perspectives or impossible real-world effects in CG animation without redesigning the three-dimensional models, enhancing impact and dynamism.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007740735000001
    Figure 0007740735000001
  • Figure 0007740735000002
    Figure 0007740735000002
  • Figure 0007740735000003
    Figure 0007740735000003
Patent Text Reader

Abstract

Provided in the present disclosure is a projection program (10) that projects an object disposed in a three-dimensional virtual space, wherein the projection program causes a computer (10) to execute: a step (S4) for setting the coordinates of a first view volume (V1) in the virtual space; a step (S4) for setting the coordinates of a second view volume (V2) in the virtual space; a step (S5) for converting the first view volume into a first shape; a step (S5) for converting the second view volume into a first shape; a step (S6) for synthesizing the post-conversion first view volume and the post-conversion second view volume and generating a first projection view volume (PV); and a step (S7) for projecting an image (IM1) on the basis of the first projection view volume.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a projection program, and more particularly to projection using a virtual camera in a virtual space. [Background technology]

[0002] In recent years, animations using computer graphics (CG) have been produced in a wide range of fields, including movies and games. Japanese Patent Application Laid-Open Publication No. 2018-147002 (Patent Document 1) discloses a technology related to a virtual camera for displaying to a user a three-dimensional model drawn in a virtual space.

[0003] CG animation, as shown in Patent Document 1, includes a design process in which a three-dimensional model to be imaged is designed before a projection process in which the three-dimensional model is photographed with a virtual camera and projected as a two-dimensional image.

[0004] The three-dimensional model is designed by a designer using, for example, CG animation software. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Japanese Patent Application Publication No. 2018-147002 Summary of the Invention [Problem to be solved by the invention]

[0006] While CG animation can achieve more realistic expressions if it is designed to resemble the real world, there are also cases where expressions that are impossible in the real world are required. For example, to increase the power and dynamism of an animation, it is sometimes necessary to express as if space is distorted.

[0007] More specifically, in a scene where a 3D humanoid model hits another person with its bare hands, it is conceivable to temporarily design the size of the arms of the 3D humanoid model to be larger than the rest of the model. This would allow the creation of an animation in which only the arms of the 3D model are displayed larger, increasing the impact of the animation. However, this would require redesigning only the arms of an already designed 3D humanoid model, making the work cumbersome.

[0008] The present disclosure has been made to solve such problems, and its purpose is to project images in CG animation that express things that would not occur in the real world without having to redesign a pre-designed three-dimensional model. [Means for solving the problem]

[0009] A projection program according to the present disclosure is a projection program for projecting an object arranged in a three-dimensional virtual space. The projection program causes a computer to execute the steps of: setting coordinates of a first viewing volume in the virtual space; setting coordinates of a second viewing volume different from the first viewing volume in the virtual space; transforming the first viewing volume into a first shape; transforming the second viewing volume into the first shape; combining the transformed first viewing volume and the transformed second viewing volume to generate a first viewing volume for projection; and projecting an image based on the first viewing volume for projection.

[0010] A projection method according to the present disclosure is a projection method for projecting an object placed in a three-dimensional virtual space, and includes the steps of: setting coordinates of a first viewing volume in the virtual space; setting coordinates of a second viewing volume different from the first viewing volume in the virtual space; transforming the first viewing volume into a first shape; transforming the second viewing volume into the first shape; combining the transformed first viewing volume and the transformed second viewing volume to generate a first viewing volume for projection; and projecting an image based on the first viewing volume for projection.

[0011] The projection system according to the present disclosure is a projection system that projects an object located in a three-dimensional virtual space. The projection system according to the present disclosure includes a memory and a processor. When executing computer-executable instructions stored in the memory, the processor is configured to: set coordinates of a first view volume in the virtual space; set coordinates of a second view volume different from the first view volume in the virtual space; transform the first view volume into a first shape; transform the second view volume into the first shape; combine the transformed first view volume and the transformed second view volume to generate a first projection view volume; and project an image based on the first projection view volume.

[0012] A computer-readable medium in the present disclosure includes computer-executable instructions that, when executed by a processor, cause the processor to execute a projection method for projecting an object located in a three-dimensional virtual space. The projection method that the computer-readable medium in the present disclosure causes the processor to execute includes the steps of setting coordinates of a first view volume in the virtual space, setting coordinates of a second view volume different from the first view volume in the virtual space, transforming the first view volume into a first shape, transforming the second view volume into the first shape, combining the transformed first view volume and the transformed second view volume to generate a first projection view volume, and projecting an image based on the first projection view volume. [Effects of the Invention]

[0013] The projection program according to the present disclosure transforms the first and second view volumes in a virtual space into the same shape (first shape) and combines them into a single projection view volume. Because the imaging range is a single space created by transforming and combining two different spaces, it is possible to project images based on spaces that cannot be realized in the real world. Therefore, with this configuration, it is possible to project images that would not occur in the real world in CG animation without having to redesign a pre-designed three-dimensional model. [Brief explanation of the drawings]

[0014] [Figure 1] 1 is a block diagram of an information processing device that executes a projection program according to a first embodiment. [Figure 2] FIG. 2 is a diagram for explaining projection by a projection program in the first embodiment. [Figure 3] 2 is a perspective view of two view frustums that are the imaging ranges of the virtual cameras in the first embodiment. FIG. [Figure 4] This is a plan view of the view frustum from the positive side of the Z axis. [Figure 5] FIG. 1 is a conceptual diagram for explaining perspective projection transformation based on two viewing frustums. [Figure 6] 5 is a flowchart showing the procedure of a projection process based on a projection program in the first embodiment. [Figure 7] FIG. 10 is a diagram for explaining projection using only a virtual camera in a comparative example. [Figure 8] FIG. 10 is a diagram for explaining projection using only a virtual camera in a comparative example. [Figure 9] FIG. 11 is a perspective view of three view frustums that are the imaging ranges of the virtual cameras in the second embodiment. [Figure 10] 10 is a plan view of the near clip plane and the far clip plane shown in FIG. 9. FIG. [Figure 11] FIG. 1 is a conceptual diagram for explaining perspective projection transformation based on three view frustums. [Figure 12] FIG. 10 is a diagram for explaining projection using a projection program in the second embodiment. [Figure 13] FIG. 10 is a diagram for explaining projection using only a virtual camera in a comparative example. [Figure 14] FIG. 11 is a perspective view of two view frustums that are the imaging ranges of the virtual cameras in the third embodiment. [Figure 15] FIG. 11 is a diagram for explaining projection by a projection program in the third embodiment. [Figure 16] FIG. 10 is a diagram illustrating an example in which a viewing frustum is rotated relative to the imaging direction. [Figure 17] FIG. 1 is a diagram for explaining parallel projection. [Figure 18] FIG. 1 is a first diagram illustrating an object placed in a virtual space. [Figure 19] FIG. 2 is a second diagram for explaining objects arranged in a virtual space. [Figure 20] FIG. 3 is a third diagram for explaining objects arranged in the virtual space. [Figure 21] This is the image projected by the view volume shown by the dashed line. [Figure 22]10 is an image projected by a view volume of the first comparative example. [Figure 23] 10 is an image projected by a view volume of the second comparative example. [Figure 24] 10 is an image projected by a view volume of the third comparative example. DETAILED DESCRIPTION OF THE INVENTION

[0015] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the drawings, the same or corresponding parts are designated by the same reference numerals, and description thereof will not be repeated.

[0016] [Embodiment 1] <Basic configuration of information processing device> 1 is a block diagram of an information processing device 100 that executes a projection program 10 according to the first embodiment. The information processing device 100 is typically a general-purpose PC (desktop computer, notebook computer), a smartphone, a tablet terminal, or the like.

[0017] The following describes the configuration of the information processing device 100. The information processing device 100 includes a CPU 101, an input interface (I / F) 102, an output interface (I / F) 103, a storage device 104, a main memory 105, and a GPU .

[0018] The CPU 101 controls the information processing device 100 in an integrated manner. The CPU 101 corresponds to the "computer" or "processor" of the present disclosure. The CPU 101 is connected to the input device 200 via an input interface (I / F) 102. The CPU 101 is connected to the display device 300 via an output interface (I / F) 103. The input device 200 and the display device 300 are connected to the information processing device 100 by wire or wirelessly. The input device 200 is typically a keyboard or a mouse. The display device 300 is typically a display. The input device 200 and the display device 300 may be provided integrally, for example, as a touch panel.

[0019] The storage device 104 is typically a non-volatile memory such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive). The CG animation creation software 11 and the projection program 10 are stored in the storage device 104. The CG animation creation software 11 and the projection program 10 may be stored in a server that can communicate with the information processing device 100, or may be stored in an external memory such as an SD card that is detachable from the information processing device 100.

[0020] The CG animation creation software 11 is software capable of executing the design process and projection process of CG animation, such as Maya (registered trademark) or Unity. The projection program 10 is a program that projects objects placed in a virtual space in the CG animation creation software 11 as two-dimensional moving images. That is, the information processing device 100 can execute the projection program 10 while the CG animation creation software 11 is running. Note that the projection program 10 may be provided as an external program separate from the CG animation creation software 11.

[0021] Main memory 105 is a volatile memory. Main memory 105 is used as a work memory or buffer memory for CPU 101. Main memory 105 also stores image generation data (polygon data, texture data, etc.) required for GPU 106 to execute graphics commands (drawing commands).

[0022] Main memory 105 stores, for example, image data for one frame of display device 300. GPU 106 rewrites the image data stored in main memory 105 every frame (for example, every 1 / 60 seconds). Specifically, main memory 105 stores color information of an image for each picture element (pixel).

[0023] CPU 101 reads image data stored in main memory 105 and outputs it to display device 300 via output I / F 103. This causes a moving image to be displayed on the screen of display device 300. Main memory 105 may include a VRAM, which is a memory dedicated to displaying moving images.

[0024] The GPU 106 generates image data in accordance with graphics commands from the CPU 101. The GPU 106 performs calculations required to display 3D graphics in accordance with the graphics commands, such as pre-rendering processes such as coordinate conversion from 3D coordinates to 2D coordinates, and final rendering processes such as texture mapping.

[0025] <Perspective projection of a three-dimensional model in the first embodiment> 2A and 2B are diagrams for explaining projection by the projection program 10 in the first embodiment. Fig. 2A is a plan view of a virtual space on the CG animation creation software 11. Fig. 2B is a diagram showing an image IM1 projected from a three-dimensional model P1 captured by the virtual camera DC shown in Fig. 2A.

[0026] The virtual space prepared in CG animation creation software 11 such as Maya is a three-dimensional space represented by the X-axis, Y-axis, and Z-axis. A user can design three-dimensional models of various shapes in the virtual space. Each individual, independent three-dimensional model placed in the virtual space is called an object. The projection program 10 in the first embodiment projects the objects placed in the virtual space as two-dimensional images.

[0027] FIG. 2(A) shows a plan view of the XY plane of a virtual space indicated by the X, Y, and Z axes. Objects constituting the floor (ground) are spread out on the XY plane of the virtual space. A three-dimensional model P1 is placed on the XY plane. The three-dimensional model P1 is a humanoid object wearing a suit. As shown in FIGS. 2(A) and 2(B), the three-dimensional model P1 has a head H, a right hand Rh, a left hand Lh, a right foot Rf, and a left foot Lf.

[0028] A virtual camera DC for capturing an image of the three-dimensional model P1 is placed in the virtual space. The virtual camera DC is an object displayed in the virtual space by executing the projection program 10 in the first embodiment. As shown in FIG. 2(A), the imaging range of the virtual camera DC in the first embodiment is the areas within two view frustums V1 and V2.

[0029] A view frustum is a space in the shape of a quadrangular pyramid that is used to project a two-dimensional image with a sense of perspective when projecting an object in a virtual space as an image. The area within the view frustum is the closed space surrounded by the edges (edges) that make up the view frustum. The way the projected image appears varies depending on the shape of the view frustum. A camera that uses a view frustum to capture images of a virtual space is generally called a perspective camera.

[0030] Typically, a virtual camera capturing an image of a virtual space uses one view frustum to capture the image, but the virtual camera DC in the first embodiment captures the image of the three-dimensional model P1 using two view frustums V1 and V2. The view frustum V1 in the first embodiment corresponds to the "first view volume" in the present disclosure. The view frustum V2 in the first embodiment corresponds to the "second view volume" in the present disclosure. A view volume is a space that indicates the capture range, and is also called a view volume.

[0031] Each of the view frustums V1 and V2 in the first embodiment has a quadrangular pyramid shape. Fig. 2(A) shows only one of the trapezoidal side surfaces of each of the view frustums V1 and V2. Fig. 3 is a perspective view of the two view frustums V1 and V2, which are the imaging ranges of the virtual camera DC in the first embodiment.

[0032] View frustum V1 is positioned closer to virtual camera DC than view frustum V2. That is, virtual camera DC, view frustum V1, and view frustum V2 are positioned in the order of virtual camera DC in the negative direction of the Y axis, and view frustum V1 and view frustum V2 in the positive direction.

[0033] Returning to FIG. 2(A), the three-dimensional model P1 is located in an area within the view frustums V1 and V2. The head H, right hand Rh, left hand Lh, and left foot Lf are located in an area within the view frustum V1, and only the right foot Rf is located in an area within the view frustum V2. FIG. 2(B) shows an image IM1 of the three-dimensional model P1 captured by the virtual camera DC of FIG. 2(A). The image IM1 is two-dimensional image data that does not have three-dimensional information such as coordinates. The image IM1 is generated by the CPU 101 executing the projection program 10.

[0034] Display device 300 displays the generated image IM1. Image IM1 displays the head H, right hand Rh, left hand Lh, right foot Rf, and left foot Lf of three-dimensional model P1. Virtual camera DC in embodiment 1 has an imaging range that includes the areas within view frustum V1 and the areas within view frustum V2. In other words, objects that are not located in either the area within view frustum V1 or the area within view frustum V2 are not subject to imaging and are not displayed in image IM1.

[0035] As shown in Figure 3, view frustum V1 is a square frustum having a near clip plane NC1 as its front surface and a far clip plane FC1 as its back surface. View frustum V2 is a square frustum having a near clip plane NC2 as its front surface and a far clip plane FC2 as its back surface. In embodiment 1, the near clip plane NC2 of view frustum V2 is the same plane as the far clip plane FC1 of view frustum V1. Hereinafter, the far clip plane FC1 and near clip plane NC2 may be collectively referred to as the "intermediate clip plane IC."

[0036] The near clip plane NC1 and the far clip plane FC1 are opposite each other and parallel to the XZ plane. The near clip plane NC1 and the far clip plane FC1 are similar and rectangular. The area of ​​the near clip plane NC1 is smaller than the area of ​​the far clip plane FC1.

[0037] The near clip plane NC2 and the far clip plane FC2 are opposite each other and parallel to the XZ plane. The near clip plane NC2 and the far clip plane FC2 are similar and rectangular. The area of ​​the near clip plane NC2 is smaller than the area of ​​the far clip plane FC2.

[0038] In the first embodiment, when the near clip plane NC1 is viewed from the negative side of the Y axis, the center point of the near clip plane NC1 and the center point of the far clip plane FC1 overlap. In other words, the lengths of the four sides connecting the near clip plane NC1 and the far clip plane FC1 are all the same. That is, the view frustum V1 shown in FIG. 3 is a regular square truncated pyramid. Similarly, the view frustum V2 shown in FIG. 3 is also a regular square truncated pyramid.

[0039] Hereinafter, each of the near clip planes NC1 and NC2 may be simply referred to as a "near clip plane NC." Similarly, below, each of the far clip planes FC1 and FC2 may be simply referred to as a "far clip plane FC."

[0040] Of the areas of the near clip plane NC1, the intermediate clip plane IC, and the far clip plane FC2, the area of ​​the near clip plane NC1 is the smallest and the area of ​​the far clip plane FC2 is the largest. In other words, the area of ​​the intermediate clip plane IC is larger than the area of ​​the near clip plane NC1 and smaller than the area of ​​the far clip plane FC2.

[0041] The clip plane FCZ shown by the dashed line indicates the position of the far clip plane FC1, which is the back surface of the view frustum V1, if it were placed on the same plane as the far clip plane FC2 of the view frustum V2. The direction CD indicates the imaging direction of the virtual camera DC. The direction CD is parallel to the positive Y-axis.

[0042] <Perspective projection transformation based on two viewing frustums> The following describes perspective projection transformation based on multiple view frustums with reference to FIGS. 4 to 6. FIG. 4 is a plan view of view frustum V1 and view frustum V2 viewed from the positive side of the Z axis. In FIG. 2(A), only one virtual camera DC is displayed in the virtual space, but in the internal processing of the projection program 10, one virtual camera is placed in each of the view frustums V1 and V2. That is, the CPU 101 places virtual camera C1 and virtual camera C2 in the virtual space based on the projection program 10, but displays only virtual camera C1 on the display device 300. As a result, the projection program 10 can display the imaging range corresponding to one virtual camera DC as two view frustums V1 and V2.

[0043] Virtual camera C1 is a virtual camera corresponding to view frustum V1. Virtual camera C2 is a virtual camera corresponding to view frustum V2. Virtual camera C1 is disposed at the same position as virtual camera DC shown in FIG. 2(A). That is, direction CD1, which is the imaging direction of virtual camera C1, is the same direction as direction CD, which is the imaging direction of virtual camera DC. Furthermore, direction CD2, which is the imaging direction of virtual camera C2, is also the same direction as direction CD.

[0044] The angle of view Ag1 is the angle of view of the virtual camera C1. The angle of view Ag2 is the angle of view of the virtual camera C2. In the example shown in FIG. 4, the angle of view Ag2 is larger than the angle of view Ag1. If a perspective camera with a large angle of view is used, a three-dimensional image with a sense of perspective is projected. On the other hand, if a perspective camera with a small angle of view is used, a flat image without a sense of perspective is projected.

[0045] 5 is a conceptual diagram for explaining perspective projection transformation based on two view frustums V1 and V2. Perspective projection transformation is usually used to project an object placed within the area of ​​one view frustum as a two-dimensional image. In the first embodiment, CPU 101 performs perspective projection transformation by combining view frustum V1 and view frustum V2 in accordance with projection program 10.

[0046] Fig. 5(A) shows a view frustum V1. In accordance with the projection program 10, the CPU 101 normalizes the view frustum V1 as shown in Fig. 5(B), similar to general perspective projection transformation. The normalization process is a preparatory process that, for example, moves the origin of the XYZ axes to the center of the view frustum V1 to reduce the processing load when converting the view frustum V1 into a two-dimensional image. In the normalization process, the CPU 101 transforms the shape of the view frustum V1 into a rectangular parallelepiped shape NV1.

[0047] At this time, the shapes of objects placed in the area within the view frustum V1 are also deformed. That is, the degree of deformation of objects placed near the near clip plane NC1 is greater than the degree of deformation of objects placed near the far clip plane FC1. As a result, in projection using perspective projection transformation, the size of objects near the virtual camera is enlarged, making it possible to project a three-dimensional image with a sense of perspective, as if it were captured with a real camera.

[0048] Fig. 5(C) shows a view frustum V2. CPU 101 normalizes view frustum V2 in accordance with projection program 10 and transforms the shape of view frustum V2 into shape NV1 as shown in Fig. 5(D). Shape NV1 is a rectangular parallelepiped.

[0049] In the first embodiment, CPU 101 combines view frustum V1 deformed into shape NV1 with view frustum V2 deformed into shape NV1 in accordance with projection program 10. As shown in Fig. 5(E), CPU 101 overlays view frustum V1 deformed into shape NV1 with view frustum V2 deformed into shape NV1. That is, CPU 101 adjusts the position of view frustum V1 of shape NV1 and view frustum V2 of shape NV1 so that far clip plane FC1 and near clip plane NC2 have the same coordinates.

[0050] Hereinafter, the view volume obtained after combining the view frustums V1 and V2 of shape NV1 will be referred to as the "projection view volume PV." Because the view frustums V1 and V2 have been transformed into the same shape NV1, when the projection view volume PV is viewed from the positive side of the Y axis, only the transformed far clip plane FC2 can be seen. When the projection view volume PV is viewed from the negative side of the Y axis, only the transformed near clip plane NC1 can be seen.

[0051] The CPU 101 executes a projection process for projecting the projection view volume PV as a two-dimensional image. Before executing the projection process, the CPU 101 again deforms the shape of the projection view volume PV based on the size of the image to be output, etc.

[0052] In the first embodiment, CPU 101 projects as an image how the objects appear when the projection view volume PV is viewed in plan view from the negative side of the Y axis. In this way, CPU 101 can project the objects in the two view frustums V1 and V2 as a single image in accordance with projection program 10. Unlike the perspective projection transformation of ordinary view frustums, projection program 10 in the first embodiment combines multiple view frustums and then performs the projection process of the image.

[0053] 6 is a flowchart showing the procedure of the projection process based on the projection program 10 in the first embodiment. The CPU 101 executes the flowchart shown in FIG. 6 in accordance with the projection program 10. The CPU 101 sets the coordinates and imaging directions of the virtual cameras C1 and C2 in the virtual space within the CG animation creation software 11 (step S1). For example, the CPU 101 sets the coordinates and imaging directions of the virtual cameras C1 and C2 based on input from the user of the CG animation creation software 11.

[0054] CPU 101 sets the coordinates of near clip planes NC1 and NC2 based on the coordinates of virtual cameras C1 and C2 (step S2). The coordinates of the near clip plane NC are the coordinates of the four corners of the near clip plane, which is a rectangular surface. CPU 101 may set the coordinates of the near clip plane based on a relative distance from the predetermined camera coordinates, or may set them based on input from the user.

[0055] CPU 101 sets the coordinates of far clip planes FC1 and FC2 based on the coordinates of virtual cameras C1 and C2 (step S3). The coordinates of far clip plane FC are the coordinates of the four corners of the far clip plane, which is a rectangular surface. Similarly, CPU 101 may set the coordinates of the far clip plane based on the relative distance from the predetermined camera coordinates, or may set them based on input from the user.

[0056] CPU 101 sets the coordinates of view frustum V1 and view frustum V2 in virtual space (step S4). CPU 101 calculates the shape of view frustum V1 based on the coordinates and imaging direction of virtual camera C1, the coordinates of near clip plane NC1, and the coordinates of far clip plane FC1. CPU 101 sets the coordinates of view frustum V1 based on the calculation results.

[0057] Similarly, CPU 101 calculates the shape of view frustum V2 based on the coordinates and imaging direction of virtual camera C2, the coordinates of near clip plane NC2, and the coordinates of far clip plane FC2. CPU 101 sets the coordinates of view frustum V2 based on the calculation results.

[0058] CPU 101 deforms view frustum V1 and view frustum V2 into the same shape (step S5). That is, view frustum V1 and view frustum V2 are deformed into the shape NV1 shown in Fig. 5. At this time, CPU 101 also deforms the shapes of the objects arranged in the areas within view frustum V1 and view frustum V2 in the same way in accordance with the deformation of the view frustums.

[0059] CPU 101 combines view frustum V1 and view frustum V2 after being transformed into the same shape to generate a projection view volume PV (step S6). CPU 101 projects image IM1 based on the projection view volume PV (step S7). As a result, information processing device 100 of the first embodiment can perform perspective projection transformation based on the two view frustums V1 and V2 and project it as image IM1.

[0060] <Comparative Example of First Embodiment> Below, using Figures 2, 7, and 8, we compare image IM1 projected using the projection program 10 in embodiment 1 with images IM2 and IM3 projected by perspective projection transformation using only one viewing frustum.

[0061] FIG. 7 is a diagram for explaining projection using only virtual camera C1Z of a comparative example. FIG. 8 is a diagram for explaining projection using only virtual camera C2Z of a comparative example. The virtual camera C1Z of FIG. 7(A) has the same angle of view Ag1 as the virtual camera C1 of FIG. 2(A). The imaging range of the virtual camera C1Z is the view frustum V1Z. The virtual camera C2Z of FIG. 8(A) has the same angle of view Ag2 as the virtual camera C2 of FIG. 2(A). The imaging range of the virtual camera C2Z is ​​the view frustum V2Z.

[0062] In Figures 2(A), 7(A), and 8(A), the shape of the three-dimensional model P1 in the virtual space and the coordinates at which the three-dimensional model P1 is located are the same. That is, Figures 2(A), 7(A), and 8(A) differ only in the virtual camera and its imaging range. As shown in Figure 7(A), the three-dimensional model P1 is located in an area within the viewing frustum V1Z. Figure 7(B) shows an image IM2 projected from the three-dimensional model P1 captured by the virtual camera C1Z shown in Figure 7(A).

[0063] Comparing Figure 2(B) and Figure 7(B), the right foot Rf of the three-dimensional model P1 is depicted differently. Specifically, the right foot Rf appears smaller in Figure 2(B) than in Figure 7(B). In other words, the image IM1 in Figure 2(B) depicts the right foot Rf as being farther from the camera than the image IM2 in Figure 7(B).

[0064] In other words, the distance between the right foot Rf and the left foot Lf in Fig. 2(B) is expressed to be longer than the distance between the right foot Rf and the left foot Lf in Fig. 7(B). As a result, the projection program 10 in the first embodiment can project the image IM1 in Fig. 2(B) so that it has a greater sense of perspective than the image IM2 in Fig. 7(B), thereby improving the impact and dynamic feel of the image IM1.

[0065] The reason why the right foot Rf appears differently in Figures 2(B) and 7(B) is that the view frustum in which the right foot Rf of the three-dimensional model P1 is located has different angles of view, as shown in Figures 2(A) and 7(A). In Figure 2(A), the right foot Rf is located within the view frustum V2 with view angle Ag2. In Figure 7(A), the right foot Rf is located within the view frustum V1Z with view angle Ag1.

[0066] As explained above, the appearance of the projected image differs depending on the shape of the viewing frustum and the angle of view. Unlike the head H, right hand Rh, left hand Lh, and left foot Lf, the right foot Rf in FIG. 2(A) is located in an area of ​​the viewing frustum V2 with a larger angle of view. This representation of a different perspective for only a portion of the three-dimensional model P1 is not possible in the real world, where light travels in a straight line.

[0067] In FIG. 8(A), the three-dimensional model P1 is located in an area within the viewing frustum V2Z. FIG. 8(B) shows an image IM3 projected from the three-dimensional model P1 captured by the virtual camera C2Z shown in FIG. 8(A). Because the angle of view Ag2 of the virtual camera C2Z is ​​wider than the angle of view Ag1 of the virtual camera C1Z, the overall sense of perspective is exaggerated in the image IM3. Specifically, the right hand Rh in FIG. 8(B) appears larger than the right hand Rh in FIG. 2(B). Furthermore, the head H in FIG. 8(B) appears smaller than the head H in FIG. 2(B).

[0068] In this way, by widening the angle of view of virtual camera C2Z, the overall sense of perspective is exaggerated, and a sense of power and dynamism can be expressed. However, the sense of perspective of image IM3 is significantly different from that seen by the human eye. This is because the angle of view of virtual camera C2Z is ​​relatively larger than that of the human eye. In animation production, images that significantly differ from the sense of perspective seen by the human eye are unnatural and are not preferred.

[0069] The image IM1 projected using the virtual camera DC of the first embodiment is projected so that only the necessary parts appear to be far away, thereby improving the impact and dynamism of the image IM1 without unnaturally exaggerating the sense of perspective. Furthermore, the projection program 10 can project the image IM1 simply by setting the virtual camera DC, and there is no need to deform the shape of the three-dimensional model P1.

[0070] With the projection program 10, the user can project an image similar to that obtained when the shape of the 3D model of the right foot Rf itself is redesigned simply by setting the coordinates of the two viewing frustums V1 and V2. In this way, with the projection program 10 in the first embodiment, it is possible to project an image IM1 with an expression that would not occur in the real world, without having to redesign the already designed 3D model P1.

[0071] [Embodiment 2] In the projection program 10 of the first embodiment, a configuration in which an image is projected using two view frustums has been described. In the second embodiment, a configuration in which an image is projected using three or more view frustums will be described. Note that in the second embodiment, the description of the configuration that overlaps with the first embodiment will not be repeated.

[0072] Fig. 9 is a perspective view of three view frustums V1, V2, and V3, which are the imaging ranges of the virtual camera DC in embodiment 2. As shown in Fig. 9, the virtual camera DC in embodiment 2 projects, as images, objects placed in areas within the three view frustums V1, V2, and V3.

[0073] View frustum V3 is located farther from virtual camera DC than view frustums V1 and V2. View frustum V3 is a quadrangular frustum with a near clip plane NC3 as its front surface and a far clip plane FC3 as its back surface. The near clip plane NC3 of view frustum V3 is the same plane as the far clip plane FC2 of view frustum V2. Below, the near clip plane NC3 and the far clip plane FC2 are collectively referred to as the "intermediate clip plane IC2."

[0074] The arrangement of the near clip plane NC1 and the far clip plane FC1 of the view frustum V1 in Embodiment 2 differs from the arrangement of the near clip plane NC1 and the far clip plane FC1 of the view frustum V1 in Embodiment 1. Fig. 10 is a plan view of the near clip plane NC1 and the far clip plane FC1 shown in Fig. 9.

[0075] Figure 10 shows the near clip plane NC1 in Figure 9 as viewed from the negative Y-axis direction. The center point NCP is the center point of the near clip plane NC1. The center point FCP is the center point of the far clip plane FC1.

[0076] 10, the center point NCP of the near clip plane NC1 and the center point FCP of the far clip plane FC1 do not overlap. That is, the view frustum V1 in the second embodiment is not a regular square truncated pyramid. In other words, the lengths of the four sides connecting the near clip plane NC1 and the far clip plane FC1 are not the same.

[0077] Similarly, view frustum V2 in the second embodiment is not a regular square truncated pyramid, and when viewed in a planar view from the negative side of the Y axis, the center points of the near clip plane NC2 and the far clip plane FC2 do not overlap. Similarly, view frustum V3 is not a regular square truncated pyramid, and when viewed in a planar view from the negative side of the Y axis, the center points of the near clip plane NC3 and the far clip plane FC3 do not overlap. Therefore, as shown in FIG. 9, view frustums V1, V2, and V3, which are the imaging ranges of virtual camera DC, are arranged so as to describe a curve when viewed from virtual camera DC.

[0078] Fig. 11 is a conceptual diagram for explaining perspective projection transformation based on three view frustums V1, V2, and V3. Fig. 11(A) is a diagram showing the view frustums V1, V2, and V3 before transformation and composition. Fig. 11(B) is a diagram showing the projection view volume PV2 after transformation and composition. In Fig. 11, the views of the view frustums V1, V2, and V3 after transformation are the same as Fig. 5, and are therefore not shown.

[0079] CPU 101 generates a projection view volume in accordance with projection program 10 using the same procedure as in embodiment 1, even when performing projection using three view frustums V1, V2, and V3. That is, CPU 101 transforms each of the three view frustums V1, V2, and V3 into the same shape. In the example of FIG. 11, view frustum V1 is transformed into the shape NV1. View frustum V2 is also transformed into the shape NV1. View frustum V3 is also transformed into the shape NV1.

[0080] As in the first embodiment, CPU 101 generates a projection view volume PV by combining view frustums V1 and V2. Then, CPU 101 further combines a view frustum V3 of shape NV1 with the projection view volume PV to generate a projection view volume PV2. The projection view volume PV corresponds to the "first projection view volume" of this disclosure, and the projection view volume PV2 corresponds to the "second projection view volume" of this disclosure.

[0081] Fig. 12 is a diagram for explaining projection using the projection program 10 in the second embodiment. Fig. 12(A) is a perspective view of a virtual space. In the virtual space of Fig. 12(A), a floor FL is spread as an object on the XY plane. The floor FL is a flat surface without any irregularities. Cylindrical objects Ob1 to Ob8 are placed on the floor FL. The cylindrical objects Ob1 to Ob8 are placed so as to line up in a row in the X-axis direction.

[0082] The virtual camera DC in the second embodiment is disposed on the positive side of the X axis of the object Ob8. While an example in which three view frustums are used as an imaging range has been described in Fig. 10, the virtual camera DC in Fig. 12 has three or more (n) view frustums as its imaging range. For example, the virtual camera DC in Fig. 12 has 100 view frustums as its imaging range.

[0083] Each of the multiple (n) view frustums is not a regular square frustum, similar to the view frustums V1 to V3 described in Fig. 9. That is, in Fig. 12, multiple (n) view frustums that are not regular square frustums are connected together. As a result, the entire imaging range of virtual camera DC is shown as a single large view frustum with a curved edge connecting the front and back surfaces.

[0084] That is, the near clip plane NC1 closest to the virtual camera DC is the near clip plane of the first view frustum located closest to the virtual camera DC. The far clip plane FCn farthest from the virtual camera DC is the far clip plane of the nth view frustum located farthest from the virtual camera DC. Although not shown in FIG. 12A for ease of explanation, n-1 intermediate clip planes IC are located between the near clip plane NC1 and the far clip plane FCn.

[0085] In the second embodiment, the CPU 101 projects objects arranged in regions within a plurality (n) of view frustums as an image IM4 in accordance with the projection program 10. FIG. 12(B) shows an image IM4 onto which the plurality (n) of view frustums shown in FIG. 12(A) are projected. In the image IM4, the floor FL, which is a flat surface, is depicted as if it is greatly raised, unlike its actual shape. Projecting an image in which the floor FL, which is a flat surface, is depicted as if it is raised in this way would not occur in the real world, where light has the property of traveling in a straight line.

[0086] Fig. 13 is a diagram for explaining projection using only virtual camera C3Z as a comparative example. In Fig. 12 and Fig. 13, the floor FL in the virtual space, the shapes of cylindrical objects Ob1 to Ob8, and the positions of objects Ob1 to Ob8 are the same. Furthermore, virtual camera C3Z in Fig. 13 is positioned at the same coordinates as virtual camera DC in Fig. 12.

[0087] On the other hand, unlike virtual camera DC in Fig. 12, virtual camera C3Z in Fig. 13 has a single view frustum VZ as its imaging range. That is, the near clip plane NC closest to virtual camera C3Z is the near clip plane of the view frustum VZ of the comparative example, and the far clip plane FC closest to virtual camera C3Z is also the far clip plane of the view frustum VZ. That is, no intermediate clip plane IC is located between the near clip plane NC and the far clip plane FC in Fig. 13.

[0088] In Fig. 13, CPU 101 projects objects arranged in an area within one view frustum VZ as image IM5. Fig. 13(B) shows image IM5 onto which one view frustum VZ shown in Fig. 13(A) is projected. In image IM5, floor FL, which is a flat surface, is expressed as a flat surface as it is.

[0089] Furthermore, comparing Figures 12(B) and 13(B), image IM4 in Figure 12(B) shows the top surfaces of cylindrical objects Ob8, Ob7, and Ob6, whereas image IM5 in Figure 13(B) does not show the top surfaces of any of the cylindrical objects Ob1 to Ob8.

[0090] In this way, even in the second embodiment, the projection program 10 can project an image IM4 in a way that would not occur in the real world, without having to redesign the already designed three-dimensional model P1. Furthermore, in the projection program 10 of the second embodiment, by using multiple viewing frustums that are not regular square pyramids, the entire imaging range is arranged so as to curve, so that the floor FL, which is a flat surface, can be projected as if it is raised. In other words, the space appears distorted.

[0091] [Embodiment 3] In the projection program 10 of the first embodiment described above, an example has been described in which the far clip plane FC1 of the view frustum V1 and the near clip plane NC2 of the view frustum V2 are the same intermediate clip plane IC. In the third embodiment, an example will be described in which the far clip plane FC1 of the view frustum V1 and the near clip plane NC2 of the view frustum V2 are positioned at different positions. Note that in the third embodiment, the description of the configuration that overlaps with the first embodiment will not be repeated.

[0092] Fig. 14 is a perspective view of two view frustums V1 and V2, which are the imaging range of virtual camera DC in embodiment 3. As shown in Fig. 14, a space G1 exists between view frustum V1 and view frustum V2. That is, the far clip plane FC1 of view frustum V1 and the near clip plane NC2 of view frustum V2 are arranged in the virtual space as separate planes.

[0093] Fig. 15 is a diagram for explaining projection by the projection program 10 in embodiment 3. In Fig. 15, a floor FL similar to that in Fig. 12 is placed in a virtual space. In Fig. 15, cylindrical objects Ob1, Ob2, and Ob3 are placed on the floor FL.

[0094] The cylindrical object Ob1 is located between the near clip plane NC2 and the far clip plane FC2 of the view frustum V2. In other words, the cylindrical object Ob1 is located in an area within the view frustum V2, and therefore is the subject of imaging.

[0095] Cylindrical object Ob2 is located in space G1 between near clip plane NC2 of view frustum V2 and far clip plane FC1 of view frustum V1. In other words, cylindrical object Ob2 is located neither in the area within view frustum V2 nor in the area within view frustum V1, and is not a target for imaging.

[0096] The cylindrical object Ob3 is located between the far clip plane FC1 and the near clip plane NC1 of the view frustum V1. In other words, the cylindrical object Ob3 is located in an area within the view frustum V1, and therefore is the subject of imaging.

[0097] Figure 15(B) shows image IM6 projected from the two view frustums V1 and V2 shown in Figure 15(A). Image IM6 shows only objects Ob1 and Ob3. Object Ob2 and floor FL, which are located in space G1 outside the imaging range, are not shown in image IM6.

[0098] In this way, also in the third embodiment, the projection program 10 can project the image IM6 in an expression that would not occur in the real world, without redesigning the already designed three-dimensional model P1. Furthermore, in the projection program 10 of the third embodiment, since the space G1 exists between the view frustum V1 and the view frustum V2, it is possible to prevent objects located in the space G1 from being projected onto the image IM6.

[0099] [Variation 1] Fig. 16 is a diagram showing an example in which the view frustum V2 is rotated with respect to the imaging direction. The view frustum V2 shown in Fig. 16 is positioned at a position obtained by rotating the view frustum V2 shown in Fig. 3 around the Y axis as the rotation axis.

[0100] 3, the far clip plane FC1 and the near clip plane NC2 are not the same plane. When the far clip plane FC1 is viewed from the negative Y-axis side, the center point of the far clip plane FC1 overlaps with the center point of the near clip plane NC1. In other words, when the far clip plane FC1 is viewed from the negative Y-axis side, the far clip plane FC1 and the near clip plane NC2 are positioned in rotational symmetry.

[0101] In this way, even in an example in which the sides forming the far clip plane FC1 and the sides forming the near clip plane NC1 are not parallel, the projection program 10 of Modification 1 can combine the view frustum V1 and the view frustum V2 to project an image. In other words, the projection program 10 of Modification 1 can project an image with an expression that would not occur in the real world, without redesigning the already designed three-dimensional model P1.

[0102] [Variation 2] Fig. 17 is a diagram for explaining parallel projection. In Figs. 1 to 16, an example has been described in which a view frustum used in perspective projection capable of projecting an image with a sense of perspective is used as the view volume. In Modification 2, an example will be described in which the projection program 10 is applied to parallel projection capable of projecting an image without a sense of perspective. Also, in Modification 2, an example will be described in which a space that would not normally be included in the imaging range is set as the imaging range.

[0103] As shown in Fig. 17, in parallel projection, the imaging range of the virtual camera is a rectangular parallelepiped space. This allows the projection of an image without perspective, making it easier to compare the sizes of objects than with perspective projection.

[0104] 17 shows rectangular parallelepiped view volumes VR1, VR2, and VR3 used for parallel projection. The view volumes VR1 to VR3 are arranged in this order on the positive side of the Y axis of the virtual camera DC in Modification 2.

[0105] View volume VR1 has opposing near and far clip planes NC1 and FC1, view volume VR2 has opposing near and far clip planes NC2 and FC2, and view volume VR3 has opposing near and far clip planes NC3 and FC3.

[0106] 17, near clip planes NC1, NC2, and NC3 and far clip planes FC1, FC2, and FC3 each have the same area. The near clip planes NC1 and NC3 and the far clip planes FC1 and FC3 are positioned so that they overlap when the near clip plane NC1 is viewed in plan. In other words, only the view volume VR2 is positioned at a different position in the X-axis direction.

[0107] In this way, the projection program 10 in the first embodiment is applicable to parallel projection. In the case of parallel projection shown in FIG. 17, the view volumes VR1 to VR3 already have the same shape, so CPU 101 combines the view volumes VR1 to VR3 to generate a projection view volume PV. Note that even in parallel projection, if the areas of the near clip planes of the view volumes differ, CPU 101 executes a step of deforming them into the same shape. CPU 101 projects an image based on the generated projection view volume PV.

[0108] This allows the view volumes VR1 to VR3 to be combined and an image to be projected not only in perspective projection but also in parallel projection. That is, the projection program 10 of the second modification makes it possible to project an image with an expression that would not occur in the real world, without redesigning the already designed three-dimensional model P1.

[0109] [Example of projection] An example in which the projection program 10 is used will be described below with reference to FIGS.

[0110] Fig. 18 is a first diagram for explaining objects arranged in a virtual space, Fig. 19 is a second diagram for explaining objects arranged in a virtual space, and Fig. 20 is a third diagram for explaining objects arranged in a virtual space.

[0111] 18, 19, and 20 each show the same virtual space, but from different viewpoints. In the virtual space shown in FIGS. 18 to 20, a three-dimensional humanoid model P2 is placed indoors, raising its left arm Ar1 as if about to strike someone. That is, in the virtual space shown in FIGS. 18 to 20, the left arm Ar1 of the three-dimensional humanoid model P2 is the object that is most desired to draw attention to when projected as a moving image.

[0112] The objects that make up the room are a ceiling CE1, a floor FL2, and walls WA1 and WA2. A door Dr1 is provided on the wall WA1. A window Wi1 is provided on the wall WA2.

[0113] A virtual camera DC is placed in the virtual space to capture an image of a three-dimensional model P2. Four solid lines Rg1 extending from the virtual camera DC represent the ridgelines of the view volume of the comparative example. Four dashed lines Rg2 extending from the virtual camera DC represent the ridgelines of the view volume of this embodiment. That is, the straight solid line Rg1 represents a view volume composed of a single view frustum. On the other hand, the curved dashed line Rg2 represents a view volume composed of multiple view frustums.

[0114] Fig. 21 shows an image IM7 projected by the view volume indicated by the dashed line Rg2. Image IM7 in Fig. 21 displays part of the face of the three-dimensional model P2, a door Dr1, and a window Wi1, with the raised left arm Ar1 of the three-dimensional model P2 at the center.

[0115] Fig. 22 shows image IM8 projected by the view volume of the first comparative example. Fig. 22 shows image IM8 when projected using one view frustum so that door Dr1 has the same size and arrangement as door Dr1 shown in image IM7 of Fig. 21. In the example of Fig. 22, the entire humanoid three-dimensional model P2 is displayed. In image IM8, the notable left arm Ar1 is displayed smaller than in image IM7.

[0116] Fig. 23 shows an image IM9 projected by the view volume of the second comparative example. Fig. 23 shows image IM9 when projected using one view frustum so that the humanoid three-dimensional model P2 has the same size and arrangement as the three-dimensional model P2 shown in image IM7 of Fig. 21. In image IM9, the door Dr1 is not displayed.

[0117] Fig. 24 shows image IM10 projected by the view volume of the third comparative example. Fig. 24 shows image IM10 when projected using one view frustum so that the left arm Ar1 has the same size and position as the left arm Ar1 shown in image IM7 of Fig. 21. In image IM10, the face of the humanoid three-dimensional model P2 is not displayed.

[0118] As shown in FIG. 21, by using the projection program 10 in this embodiment, it is possible to project an image IM7 that can enlarge the size of the left arm Ar1 that should be focused on and display the door Dr1 and the face of the humanoid three-dimensional model P2.

[0119] The embodiments disclosed herein should be considered to be illustrative in all respects and not restrictive. The scope of the present invention is defined by the claims, not by the description of the above embodiments, and is intended to include all modifications within the meaning and scope of the claims. [Explanation of symbols]

[0120] 10 projection program, 11 animation creation software, 100 information processing device, 101 CPU, 102 input I / F, 103 output I / F, 104 storage device, 105 main memory, 106 GPU, 200 input device, 300 display device, Ag1, Ag2 field of view, Ar1 left arm, C1, C2, C1Z to C3Z, DC virtual camera, CD, CD1, CD2 direction, CE1 ceiling, Dr1 door, FC, FC1 to FC3, FCn far clip plane, FCP, NCP center point, FL, FL2 floor, G1 space, H head, IC, IC2 intermediate clip plane, IM1 to IM10 image, Lf left foot, Lh left hand, NC, NC1 to NC3 near clip plane, NV1 shape, Ob1 to Ob8 object, P1, P2 three-dimensional model, PV, PV2 Projection view volume, Rf right foot, Rg1 solid line, Rg2 dashed line, Rh right hand, V1-V3 view frustum, VR1, VR2, VR3 view volume, WA1, WA2 wall, Wi1 window.

Claims

1. A projection program for projecting an object arranged in a three-dimensional virtual space, The projection program On the computer, setting coordinates of a first view volume in the virtual space; setting, in the virtual space, coordinates of a second view volume different from the first view volume; transforming the first view volume into a first shape; transforming the second view volume to the first shape; combining the transformed first view volume and the transformed second view volume to generate a first projection view volume; and projecting an image based on the first projection view volume; the first view volume has a first front surface and a first back surface opposite the first front surface; the second view volume has a second front surface and a second back surface opposite the second front surface; The first rear surface is a surface disposed at a different position from the second front surface.

2. A projection program for projecting an object placed in a three-dimensional virtual space, The projection program On the computer, setting coordinates of a first view volume in the virtual space; setting, in the virtual space, coordinates of a second view volume different from the first view volume; transforming the first view volume into a first shape; transforming the second view volume to the first shape; combining the transformed first view volume and the transformed second view volume to generate a first projection view volume; and projecting an image based on the first projection view volume; the first view volume has a first front surface and a first back surface opposite the first front surface; the second view volume has a second front surface and a second back surface opposite the second front surface; The projection program, wherein the first rear surface and the second front surface are rotationally symmetric when the first rear surface is viewed in a plan view.

3. the shape of the first view volume and the shape of the second view volume are view frustums used for perspective projection; an area of ​​the first front surface is smaller than an area of ​​the first rear surface; 3. The projection program according to claim 1, wherein an area of ​​the second front surface is smaller than an area of ​​the second rear surface.

4. The projection program according to claim 3 , wherein the angle of view of the first view volume is different from the angle of view of the second view volume.

5. 5. The projection program according to claim 3, wherein a center position of the first front surface does not overlap a center position of the first rear surface when the first front surface is viewed in a plan view.

6. the shape of the first view volume and the shape of the second view volume are rectangular parallelepiped shapes used in parallel projection, an area of ​​the first front surface is the same as an area of ​​the first rear surface; 3. The projection program according to claim 1, wherein an area of ​​the second front surface is the same as an area of ​​the second rear surface.

7. The projection program The computer, setting the placement of the third view volume; transforming the third view volume into a shape identical to the first shape; combining the third view volume of the first shape with the first projection view volume to generate a second projection view volume; 7. The projection program according to claim 1, further comprising the step of: projecting an image based on the second projection view volume.

8. A projection method for projecting an object arranged in a three-dimensional virtual space, comprising: setting coordinates of a first view volume in the virtual space; setting, in the virtual space, coordinates of a second view volume different from the first view volume; transforming the first view volume into a first shape; transforming the second view volume to the first shape; combining the transformed first view volume and the transformed second view volume to generate a first projection view volume; and projecting an image based on the first projection view volume; the first view volume has a first front surface and a first back surface opposite the first front surface; the second view volume has a second front surface and a second back surface opposite the second front surface; The projection method, wherein the first rear surface is a surface disposed at a different position from the second front surface.

9. A projection system that projects an object placed in a three-dimensional virtual space, Memory and When executed, the computer-executable instructions stored in the memory setting coordinates of a first view volume in the virtual space; setting coordinates of a second view volume different from the first view volume in the virtual space; transforming the first view volume into a first shape; transforming the second view volume to the first shape; combining the transformed first view volume and the transformed second view volume to generate a first projection view volume; and projecting an image based on the first projection view volume; the first view volume has a first front surface and a first back surface opposite the first front surface; the second view volume has a second front surface and a second back surface opposite the second front surface; A projection system, wherein the first rear surface is a surface located at a different position from the second front surface.

10. 1. A computer-readable medium comprising computer-executable instructions that, when executed by a processor, cause the processor to perform a projection method for projecting an object located in a three-dimensional virtual space, the projection method comprising: setting coordinates of a first view volume in the virtual space; setting, in the virtual space, coordinates of a second view volume different from the first view volume; transforming the first view volume into a first shape; transforming the second view volume to the first shape; combining the transformed first view volume and the transformed second view volume to generate a first projection view volume; and projecting an image based on the first projection view volume; the first view volume has a first front surface and a first back surface opposite the first front surface; the second view volume has a second front surface and a second back surface opposite the second front surface; The computer-readable medium, wherein the first back surface is a surface disposed at a different position than the second front surface.

11. A projection program for projecting an object arranged in a three-dimensional virtual space, The projection program On the computer, setting coordinates of a first view volume in the virtual space; setting, in the virtual space, coordinates of a second view volume different from the first view volume; transforming the first view volume into a first shape; transforming the second view volume to the first shape; combining the transformed first view volume and the transformed second view volume to generate a first projection view volume; and projecting an image based on the first projection view volume; the shape of the first view volume and the shape of the second view volume are view frustums used for perspective projection; the first view volume has a first front surface and a first back surface opposite the first front surface; the second view volume has a second front surface and a second back surface opposite the second front surface; an area of ​​the first front surface is smaller than an area of ​​the first rear surface; The area of ​​the second front surface is smaller than the area of ​​the second rear surface, The projection program, wherein the angle of view of the first view volume is different from the angle of view of the second view volume.

12. A projection method for projecting an object arranged in a three-dimensional virtual space, comprising: setting coordinates of a first view volume in the virtual space; setting, in the virtual space, coordinates of a second view volume different from the first view volume; transforming the first view volume into a first shape; transforming the second view volume to the first shape; combining the transformed first view volume and the transformed second view volume to generate a first projection view volume; and projecting an image based on the first projection view volume; the shape of the first view volume and the shape of the second view volume are view frustums used for perspective projection; the first view volume has a first front surface and a first back surface opposite the first front surface; The second view volume has a second front surface and a second back surface opposite the second front surface. 、 an area of ​​the first front surface is smaller than an area of ​​the first rear surface; The area of ​​the second front surface is smaller than the area of ​​the second rear surface, A projection method, wherein the angle of view of the first view volume is different from the angle of view of the second view volume.

13. A projection system that projects an object placed in a three-dimensional virtual space, Memory and When executed, the computer-executable instructions stored in the memory setting coordinates of a first view volume in the virtual space; setting coordinates of a second view volume different from the first view volume in the virtual space; transforming the first view volume into a first shape; transforming the second view volume to the first shape; combining the transformed first view volume and the transformed second view volume to generate a first projection view volume; and projecting an image based on the first projection view volume; the shape of the first view volume and the shape of the second view volume are view frustums used for perspective projection; the first view volume has a first front surface and a first back surface opposite the first front surface; the second view volume has a second front surface and a second back surface opposite the second front surface; an area of ​​the first front surface is smaller than an area of ​​the first rear surface; The area of ​​the second front surface is smaller than the area of ​​the second rear surface, A projection system wherein the angle of view of the first view volume is different from the angle of view of the second view volume.

14. 1. A computer-readable medium comprising computer-executable instructions that, when executed by a processor, cause the processor to perform a projection method for projecting an object located in a three-dimensional virtual space, the projection method comprising: setting coordinates of a first view volume in the virtual space; setting, in the virtual space, coordinates of a second view volume different from the first view volume; transforming the first view volume into a first shape; transforming the second view volume to the first shape; combining the transformed first view volume and the transformed second view volume to generate a first projection view volume; and projecting an image based on the first projection view volume; the shape of the first view volume and the shape of the second view volume are view frustums used for perspective projection; the first view volume has a first front surface and a first back surface opposite the first front surface; the second view volume has a second front surface and a second back surface opposite the second front surface; an area of ​​the first front surface is smaller than an area of ​​the first rear surface; The area of ​​the second front surface is smaller than the area of ​​the second rear surface, The computer-readable medium, wherein an angle of view of the first view volume is a different angle of view than an angle of view of the second view volume.

15. A projection method for projecting an object placed in a three-dimensional virtual space, comprising: setting coordinates of a first view volume in the virtual space; setting, in the virtual space, coordinates of a second view volume different from the first view volume; transforming the first view volume into a first shape; transforming the second view volume to the first shape; combining the transformed first view volume and the transformed second view volume to generate a first projection view volume; and projecting an image based on the first projection view volume; the first view volume has a first front surface and a first back surface opposite the first front surface; The second view volume has a second front surface and a second back surface opposite the second front surface. 、 The projection method, wherein the first rear surface and the second front surface are rotationally symmetric when the first rear surface is viewed in a plan view.

16. A projection system for projecting an object placed in a three-dimensional virtual space, comprising: Memory and When executed, the computer-executable instructions stored in the memory setting coordinates of a first view volume in the virtual space; setting coordinates of a second view volume different from the first view volume in the virtual space; transforming the first view volume into a first shape; transforming the second view volume to the first shape; combining the transformed first view volume and the transformed second view volume to generate a first projection view volume; and projecting an image based on the first projection view volume; the first view volume has a first front surface and a first back surface opposite the first front surface; the second view volume has a second front surface and a second back surface opposite the second front surface; a projection system in which the first rear surface and the second front surface are rotationally symmetric when the first rear surface is viewed in a plan view; 17. A computer-readable medium comprising computer-executable instructions that, when executed by a processor, cause the processor to perform a projection method for projecting an object positioned in a three-dimensional virtual space, the projection method comprising: setting coordinates of a first view volume in the virtual space; setting, in the virtual space, coordinates of a second view volume different from the first view volume; transforming the first view volume into a first shape; transforming the second view volume to the first shape; combining the transformed first view volume and the transformed second view volume to generate a first projection view volume; and projecting an image based on the first projection view volume; the first view volume has a first front surface and a first back surface opposite the first front surface; the second view volume has a second front surface and a second back surface opposite the second front surface; The computer-readable medium, wherein the first rear surface and the second front surface are rotationally symmetric when the first rear surface is viewed in a plan view.

Citation Information

Patent Citations

  • Game system and game program

    JP2005040348A

  • Image processing system for increasing number of plotting polygon

    JP2005321994A

  • Three-dimensional image processing method and three-dimensional image processor

    JP2005353047A

  • Display control program, information processing system, and program utilized for controlling stereoscopic display

    JP2011120224A

  • Game program, game device, and game control method

    JP2011156061A