KR20090125249A - 화상생성장치, 화상생성방법, 정보기록매체 및 프로그램 - Google Patents

화상생성장치, 화상생성방법, 정보기록매체 및 프로그램 Download PDF

Info

Publication number
KR20090125249A
KR20090125249A KR1020097018813A KR20097018813A KR20090125249A KR 20090125249 A KR20090125249 A KR 20090125249A KR 1020097018813 A KR1020097018813 A KR 1020097018813A KR 20097018813 A KR20097018813 A KR 20097018813A KR 20090125249 A KR20090125249 A KR 20090125249A
Authority
KR
South Korea
Prior art keywords
shadow
distance
character object
character
unit
Prior art date
Application number
KR1020097018813A
Other languages
English (en)
Other versions
KR101160851B1 (ko
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 KR20090125249A publication Critical patent/KR20090125249A/ko
Application granted granted Critical
Publication of KR101160851B1 publication Critical patent/KR101160851B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6646Methods for processing data by generating or executing the game program for rendering three dimensional images for the computation and display of the shadow of an object or 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
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8047Music games

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

기억부(201)는 캐릭터 대상체의 위치와 형상을 나타내는 캐릭터 대상체 정보(251)와, 면 대상체의 위치와 형상을 나타내는 면 대상체 정보(252)와, 광원의 위치를 나타내는 광원 정보(253)를 기억한다. 계산부(202)는, 캐릭터 대상체 정보(251)와 면 대상체 정보(252)와 광원 정보(253)에 의거해서, 광원에 의해서 면 대상체에 투영되는 캐릭터 대상체의 음영을 계산한다. 캐릭터 대상체와 면 대상체가 접하고 있는 것으로 판별부(203)에 의해 판별되면, 변화부(204)는 캐릭터 대상체와 면 대상체와의 거리에 따라서 음영의 명도를 변화시킨다. 생성부(205)는 캐릭터 대상체와 면 대상체와 음영을 나타내는 화상을 생성한다.
화상생성장치, 기억부, 캐릭터 대상체, 면 대상체, 광원, 음영

Description

화상생성장치, 화상생성방법, 정보기록매체 및 프로그램{IMAGE GENERATING DEVICE, IMAGE GENERATING METHOD, INFORMATION RECORDING MEDIUM, AND PROGRAM}
본 발명은 가상 공간 내의 대상체끼리의 위치 관계를 명료하게 표현하기 위해서 바람직한 화상생성장치, 화상생성방법, 정보기록매체 및 프로그램에 관한 것이다.
가상 공간에 있어서 광원으로부터 나오는 광에 의해서 투영되는 대상체의 그림자를 표현하는 수법이 알려져 있다. 예를 들어, 특허문헌 1에는, 캐릭터 대상체와 가상 카메라의 위치와의 거리에 의거해서 캐릭터 대상체의 그림자를 표현하기 위한 다각형 수를 변화시키고, 또한, 광원의 위치에 의거해서 다각형의 투명도를 변화시킴으로써, 데이터량의 증대를 억제하면서 그림자를 표현할 수 있는 게임 장치가 개시되어 있다.
특허문헌 1: 일본국 특허 제3926828호 공보.
발명의 개시
발명이 해결하고자 하는 과제
상기한 바와 같은 게임 장치에서는, 캐릭터 대상체의 자세의 변화에 따라서 그림자의 모양도 변화하므로, 보다 현실감이 있는 화상을 생성해서 표시할 수 있다. 그러나, 캐릭터 대상체가 미세한 움직임을 할 경우에는, 대상체끼리의 위치 관계를 알기 어렵게 되는 일이 있다. 예를 들어, 가상의 댄서가 댄스의 스텝을 밟는 모양을 표현하고 싶을 경우, 바닥(床)에 발이 착지한 상태와 착지하고 있지 않은 상태가 빈번하게 반복되면, 사용자는 현재 댄서의 발이 착지하고 있는지의 여부를 판단하기 어렵게 되어, 댄서가 어떠한 동작을 하고 있는지 알기 어렵게 되어버리는 일이 있었다. 또한, 댄스에 한하지 않고, 깊이가 있는 3차원 가상 공간을 표현할 경우, 예를 들어, 대상체 자신의 화상이 장벽으로 되어버려, 시점으로 되는 가상 카메라 시점의 위치로부터는 대상체끼리 접하고 있는지의 여부나, 어느 정도 근접하고 있는가라고 하는 상대적인 위치 관계를 알기 어렵게 되어버리는 일이 있었다.
본 발명은 이러한 과제를 해결하는 것으로, 가상 공간 내의 대상체끼리의 위치관계를 명료하게 표현하기 위해서 바람직한 화상생성장치, 화상생성방법, 정보기록매체 및 프로그램을 제공하는 것을 목적으로 한다.
과제를 해결하기 위한 수단
이상의 목적을 달성하기 위하여, 본 발명의 원리에 따라서, 하기의 발명을 개시한다.
본 발명의 제1관점에 관한 화상생성장치는, 기억부, 음영 계산부, 거리 계산부, 변화부 및 생성부를 구비한다.
기억부는 가상 공간 내의 캐릭터 대상체의 위치와, 면 대상체의 위치와, 광원의 위치를 기억한다.
음영 계산부는 상기 광원에 의해서 상기 면 대상체에 투영되는 상기 캐릭터 대상체의 음영을 계산한다.
거리 계산부는 상기 캐릭터 대상체와 상기 면 대상체와의 거리를 계산한다.
변화부는, 계산된 음영을, 계산된 상기 캐릭터 대상체와 상기 면 대상체와의 거리에 따라서 변화시킨다.
생성부는, 상기 캐릭터 대상체와, 상기 면 대상체와, 변화된 상기 음영을 묘화(描畵)한 화상을 생성한다.
본 발명에 의하면, 생성되는 화상에 포함되는 캐릭터 대상체의 음영은, 캐릭터 대상체와 면 대상체와의 거리에 따라서 변화된다. 사용자는, 주목하고 있는 대상체의 그림자의 변화를 보면, 그 대상체와 다른 대상체가 어느 정도 떨어져 있는가(근접하고 있는가)라고 하는 위치 관계를 용이하게 판단할 수 있어, 가상 공간에 있어서의 거리감을 포착하기 쉬워진다.
예를 들어, 스텝을 밟는 댄서를 나타내는 대상체를 캐릭터 대상체라 하고, 그 댄서 대상체가 서있는 바닥을 면 대상체라 하며, 조명 기구를 광원이라 한다. 댄서 대상체가 점프하면, 변화부는, 점프의 높이에 따라서, 조명에 의한 댄서 대상체의 그림자를 변화시킨다. 사용자는, 그림자의 변화의 상태를 보면, 댄서 대상체가 어느 정도 점프했는지 용이하게 파악할 수 있다. 예를 들어, 정밀한 광원 계산을 행하여 음영을 계산할 수 있지만, 음영이 나타나는 대략의 영역(음영 영역)을 계산하고, 계산한 음영 영역을 음영으로서 취급해도 된다.
기억부는 상기 캐릭터 대상체의 형상과, 상기 면 대상체의 형상을 추가로 기억해도 된다.
또한, 화상생성장치는, 기억된 상기 캐릭터 대상체의 위치와 형상과, 기억된 상기 면 대상체의 위치와 형상에 의거해서, 상기 캐릭터 대상체가 상기 면 대상체와 소정 거리 이상 떨어져 있는지의 여부를 판별하는 판별부를 추가로 구비해도 된다.
그리고, 변화부는, 판별부에 의해 상기 캐릭터 대상체가 상기 면 대상체와 소정 거리 이상 떨어져 있는 것으로 판별된 경우, 계산된 음영을, 계산된 상기 캐릭터 대상체와 상기 면 대상체와의 거리에 따라서 변화시켜도 된다.
본 발명에 의하면, 캐릭터 대상체와 면 대상체가 소정 거리까지 가까이 가면, 캐릭터 대상체의 그림자가 변화된다. 사용자는, 주목하고 있는 대상체의 그림자가 변화되면, 다른 대상체와 소정 거리까지 근접한 것을 알고, 대상체끼리의 위치관계를 용이하게 파악할 수 있다.
예를 들어, 댄서 대상체가, 어떤 높이보다 높게 발을 올리면, 화상생성장치는, 올라간 높이에 따라서, 조명에 의한 댄서 대상체의 그림자를 변화시킨다. 사용자는, 그림자의 변화의 상태를 보면, 댄서 대상체가 어느 정도 발을 올린 것인지 용이하게 파악할 수 있다.
판별부는, 상기 캐릭터 대상체가 상기 면 대상체와 소정 거리 이상 떨어져 있을 경우, 상기 캐릭터 대상체가 상기 면 대상체와 접하고 있지 않은 것으로 판별하고, 그 이외의 경우, 상기 캐릭터 대상체가 상기 면 대상체와 접하고 있는 것으로 판별해도 된다.
그리고, 변화부는, 판별부에 의해 상기 캐릭터 대상체가 상기 면 대상체와 접하고 있지 않은 것으로 판별된 경우, 계산된 음영을, 계산된 상기 캐릭터 대상체와 상기 면 대상체와의 거리에 따라서 변화시켜도 된다.
본 발명에 의하면, 캐릭터 대상체와 면 대상체가 접촉하지 않고 있으면, 캐릭터 대상체의 그림자가 변화된다. 사용자는, 주목하고 있는 대상체의 그림자가 변화되면, 다른 대상체와 접촉한 것을 알고, 대상체끼리의 위치 관계를 용이하게 파악할 수 있다.
예를 들어, 댄서 대상체의 발이 조금이라도 바닥으로부터 떨어지면, 화상생성장치는, 떨어진 거리에 따라서, 조명에 의한 댄서 대상체의 그림자를 변화시킨다. 사용자는, 그림자의 변화의 상태를 보면, 댄서 대상체의 발이 바닥에 착지하고 있는지의 여부를 용이하게 파악할 수 있다. 또, 댄서 대상체의 발이 바닥으로부터 어느 정도 떠 있는지 용이하게 파악할 수 있다.
판별부는, 상기 캐릭터 대상체의 표면의 소정 영역이 상기 면 대상체와 접하고 있는지의 여부에 의해, 상기 캐릭터 대상체와 상기 면 대상체가 접하고 있는지의 여부를 판별해도 된다.
그리고, 변화부는, 상기 소정 영역과 상기 면 대상체와의 거리를, 상기 캐릭터 대상체와 상기 면 대상체와의 거리로 해도 된다.
본 발명에 의하면, 캐릭터 대상체의 표면 중 특정 부분이 면 대상체와 접하고 있지 않으면, 캐릭터 대상체의 그림자가 변화된다. 사용자는, 주목하고 있는 대상체의 그림자를 보면, 특정 부분이 다른 대상체와 접촉한 것을 알고, 대상체끼리의 위치 관계를 용이하게 파악할 수 있다.
예를 들어, 댄서 대상체의 발바닥(구두 뒷면)을 특정 부분으로 하면, 변화부는, 발바닥이 바닥에 접하고 있지 않으면, 댄서 대상체의 그림자를 변화시킨다. 사용자는, 그림자의 변화의 상태를 보면, 댄서 대상체의 발바닥(구두 뒷면) 전체가 바닥에 착지하고 있는지의 여부를 용이하게 파악할 수 있다.
변화부는 계산된 음영의 색상, 채도, 명도 중 적어도 어느 하나를 변화시켜도 된다.
본 발명에 의하면, 예를 들어, 캐릭터 대상체의 음영의 색상, 채도, 명도는, 캐릭터 대상체와 면 대상체와의 거리에 따라서 변화된다. 사용자는, 주목하고 있는 대상체의 그림자의 색상 또는 채도 또는 명도의 변화를 보면, 그 대상체와 다른 대상체가 어느 정도 떨어져 있는가(근접하고 있는가)라고 하는 위치 관계를 용이하게 판단할 수 있어, 가상 공간에 있어서의 거리감을 포착하기 쉬워진다.
화상생성장치는 음악을 재생하는 재생부를 추가로 구비해도 된다.
그리고, 변화부는, 계산된 음영을, 재생부에 의해서 재생되는 음악의 쟝르, 템포, 선율, 곡조, 리듬, 박자 중 적어도 어느 하나에 따라서 변화시켜도 된다.
본 발명에 의하면, 예를 들어, 사용자가 음악에 맞춰서 댄스를 하거나 악기를 연주하거나 하는 게임에 있어서, 연주하는 곡에 따라서 그림자의 변화의 방법을 조정할 수 있다.
변화부는, 계산된 음영을, 상기 화상생성장치에서 실행되는 게임에 있어서 플레이어가 획득한 점수에 따라서 변화시켜도 된다.
본 발명에 의하면, 예를 들어, 화상생성장치는, 플레이어가 게임에서 획득한 점수가 많을(적을)수록 캐릭터 대상체의 음영을 크게 변화시키므로, 플레이어는 그림자의 변화의 정도를 보면 자신의 점수(score)가 높은지 혹은 낮은지 금방 확인할 수 있다.
변화부는, 계산된 음영 중 상기 소정 영역에 대응하는 부분의 명도를 상기 면 대상체와 상기 소정 영역과의 거리에 대해서 단조증가시켜도 된다.
본 발명에 의하면, 사용자는, 캐릭터 대상체의 그림자의 변화의 크기를 보면, 변화의 정도에 의해서 대상체끼리 어느 정도 떨어져 있는지 혹은 접촉하고 있는지의 여부를 용이하게 파악할 수 있다.
예를 들어, 댄서 대상체의 발이 바닥으로부터 크게 떨어져 있을수록, 댄서 대상체의 그림자가 밝아진다. 사용자는, 그림자의 밝기를 보면, 발이 바닥으로부터 어느 정도 떨어져 있는지 용이하게 파악할 수 있다.
변화부는, 계산된 음영 중 상기 소정 영역에 대응하는 부분의 명도를 상기 면 대상체와 상기 소정 영역과의 거리에 대해서 단조감소시켜도 된다.
본 발명에 의하면, 사용자는, 캐릭터 대상체의 그림자의 변화의 크기를 보면, 변화의 정도에 따라서 대상체끼리 어느 정도 떨어져 있는지 혹은 접촉하고 있는지의 여부를 용이하게 파악할 수 있다.
예를 들어, 댄서 대상체의 발이 바닥에 가까울수록, 댄서 대상체의 그림자가 밝아진다. 사용자는, 그림자의 밝기를 보면, 발이 바닥으로부터 어느 정도 떨어져 있는지 용이하게 파악할 수 있다.
본 발명의 그 밖의 관점에 관한 화상생성방법은, 기억부를 구비한 화상생성장치에서 실행되는 화상생성방법으로서, 음영 계산스텝, 거리 계산스텝, 변화스텝 및 생성스텝을 구비한다.
기억부에는 가상 공간 내의 캐릭터 대상체의 위치와, 면 대상체의 위치와, 광원의 위치가 기억된다.
음영 계산스텝은 상기 광원에 의해서 상기 면 대상체에 투영되는 상기 캐릭터 대상체의 음영을 계산한다.
거리 계산스텝은 상기 캐릭터 대상체와 상기 면 대상체와의 거리를 계산한다.
변화스텝은, 계산된 음영을, 계산된 상기 캐릭터 대상체와 상기 면 대상체와의 거리에 따라서 변화시킨다.
생성스텝은 상기 캐릭터 대상체와, 상기 면 대상체와, 변화된 상기 음영을 묘화한 화상을 생성한다.
본 발명에 의하면, 이 화상생성방법을 이용한 화상생성장치는, 생성하는 화상에 포함되는 캐릭터 대상체의 음영을, 캐릭터 대상체와 면 대상체와의 거리에 따라서 변화시킨다. 사용자는, 주목하고 있는 대상체의 그림자의 변화를 보면, 그 대상체와 다른 대상체가 어느 정도 떨어져 있는가 혹은 어느 정도 근접하고 있는가라고 하는 위치관계를 용이하게 판단할 수 있어, 가상 공간에 있어서의 거리감을 포착하기 쉬워진다.
본 발명의 그 밖의 관점에 관한 정보기록매체는, 컴퓨터를, 기억부, 음영 계산부, 거리 계산부, 변화부 및 생성부로서 기능시킨다.
기억부는 가상 공간 내의 캐릭터 대상체의 위치와, 면 대상체의 위치와, 광원의 위치를 기억한다.
음영 계산부는 상기 광원에 의해서 상기 면 대상체에 투영되는 상기 캐릭터 대상체의 음영을 계산한다.
거리 계산부는 상기 캐릭터 대상체와 상기 면 대상체와의 거리를 계산한다.
변화부는, 계산된 음영을, 계산된 상기 캐릭터 대상체와 상기 면 대상체와의 거리에 따라서 변화시킨다.
생성부는, 상기 캐릭터 대상체와, 상기 면 대상체와, 변화된 음영을 묘화한 화상을 생성한다.
본 발명에 의하면, 컴퓨터는, 생성하는 화상에 포함되는 캐릭터 대상체의 음영의 색상, 채도, 명도를, 캐릭터 대상체와 면 대상체와의 거리에 따라서 변화시킨다. 사용자는, 주목하고 있는 대상체의 그림자를 보면, 그 대상체와 다른 대상체가 어느 정도 떨어져 있는가, 어느 정도 근접하고 있는가라고 하는 위치 관계를 용이하게 판단할 수 있어, 가상 공간에 있어서의 거리감을 포착하기 쉬워진다.
본 발명의 그 밖의 관점에 관한 프로그램은, 컴퓨터를, 기억부, 음영 계산부, 거리 계산부, 변화부 및 생성부로서 기능시킨다.
기억부는 가상 공간 내의 캐릭터 대상체의 위치와, 면 대상체의 위치와, 광원의 위치를 기억한다.
음영 계산부는 상기 광원에 의해서 상기 면 대상체에 투영되는 상기 캐릭터 대상체의 음영을 계산한다.
거리 계산부는 상기 캐릭터 대상체와 상기 면 대상체와의 거리를 계산한다.
변화부는, 계산된 음영을, 계산된 상기 캐릭터 대상체와 상기 면 대상체와의 거리에 따라서 변화시킨다.
생성부는 상기 캐릭터 대상체와, 상기 면 대상체와, 변화된 상기 음영을 묘화한 화상을 생성한다.
본 발명에 의하면, 컴퓨터는, 생성하는 화상에 포함되는 캐릭터 대상체의 음영의 색상, 채도, 명도를, 캐릭터 대상체와 면 대상체와의 거리에 따라서 변화시킨다. 사용자는, 주목하고 있는 대상체의 그림자를 보면, 그 대상체와 다른 대상체가 어느 정도 떨어져 있는가 혹은 어느 정도 근접하고 있는가라고 하는 위치 관계를 용이하게 판단할 수 있어, 가상 공간에 있어서의 거리감을 포착하기 쉬워진다.
또한, 본 발명의 프로그램은, 컴팩트 디스크, 가요성 디스크, 하드 디스크, 광자기 디스크, 디지털 비디오 디스크, 자기 테이프, 반도체 메모리 등의 컴퓨터 판독가능한 정보기록매체에 기록할 수 있다.
상기 프로그램은, 당해 프로그램이 실행되는 컴퓨터와는 독립해서, 컴퓨터 통신망을 경유해서 배포·판매될 수 있다. 또한, 상기 정보기록매체는 상기 컴퓨터와는 독립해서 배포·판매될 수 있다.
발명의 효과
본 발명에 의하면, 가상 공간 내의 대상체끼리의 위치 관계를 명료하게 표현할 수 있다.
도 1은 본 실시예의 화상생성장치가 실현되는 전형적인 정보처리장치의 개요구성을 도시한 도면;
도 2는 화상생성장치의 기능적 구성을 설명하기 위한 도면;
도 3은 광원으로부터의 광에 의한 캐릭터 대상체의 면 대상체에의 음영을 설명하기 위한 도면;
도 4A는 캐릭터 대상체와 면 대상체가 접하고 있을 경우의 음영 영역의 일례를 도시한 도면;
도 4B는 캐릭터 대상체와 면 대상체가 떨어져 있을 경우의 음영 영역의 일례를 도시한 도면;
도 5A는 소정 영역과 소정 영역의 그림자를 설명하기 위한 도면;
도 5B는 소정 영역 상의 점(P1)과, 면 대상체상의 점(Q1)과의 관계를 설명하기 위한 도면;
도 6A는 소정 영역과 면 대상체와의 거리와, 음영 영역의 명도와의 관계의 예를 나타낸 도면;
도 6B는 소정 영역과 면 대상체와의 거리와, 음영 영역의 명도와의 관계의 다른 예를 나타낸 도면;
도 6C는 소정 영역과 면 대상체와의 거리와, 음영 영역의 명도와의 관계의 다른 예를 나타낸 도면;
도 6D는 소정 영역과 면 대상체과의 거리와 음영 영역의 명도와의 관계의 다른 예를 나타낸 도면;
도 7A는 소정 영역과 면 대상체와의 거리와, 음영 영역의 명도와의 관계의 다른 예를 나타낸 도면;
도 7B는 소정 영역과 면 대상체와의 거리와, 음영 영역의 명도와의 관계의 다른 예를 나타낸 도면;
도 7C는 소정 영역과 면 대상체와의 거리와, 음영 영역의 명도와의 관계의 다른 예를 나타낸 도면;
도 7D는 소정 영역과 면 대상체와의 거리와, 음영 영역의 명도와의 관계의 다른 예를 나타낸 도면;
도 8은 화상생성 처리를 설명하기 위한 순서도;
도 9는 캐릭터 대상체, 면 대상체, 광원, 음영 영역을 나타낸 도면;
도 10은 캐릭터 대상체, 면 대상체, 광원, 음영을 나타낸 도면;
도 11A는 소정 영역만의 음영을 나타낸 도면;
도 11B는 소정 영역만의 음영을 나타낸 도면.
<부호의 설명>
100: 정보처리장치 101: CPU
102: ROM 103: RAM
104: 인터페이스 105: 컨트롤러
106: 외부 메모리 107: DVD-ROM 드라이브
108: 화상처리부 109: 음성처리부
110: NIC 200: 화상생성장치
201: 기억부 202: 계산부
203: 판별부 204: 변화부
205: 생성부 251: 캐릭터 대상체 정보
252: 면 대상체 정보 253: 광원 정보
301: 캐릭터 대상체 302: 면 대상체
303: 광원 304: 음영
305: 음영 영역 501: 소정 영역
502: 소정 영역의 음영
발명을 실시하기 위한 최선의 형태
이하에 본 발명의 실시예를 설명한다. 이하에서는, 이해를 용이하게 하기 위하여, 게임장치용의 정보처리장치를 이용해서 본 발명이 실현되는 실시예를 설명하지만, 이하의 실시예는 설명하기 위한 것일 뿐, 본원 발명의 범위를 제한하는 것은 아니다. 따라서, 당업자라면 이들 각 요소 혹은 전체 요소를 이것과 균등한 것으로 치환한 실시형태를 채용하는 것이 가능하므로, 이들 실시형태도 본 발명의 범위에 포함된다.
도 1은, 프로그램을 실행함으로써, 본 발명의 화상생성장치의 기능을 하는 전형적인 정보처리장치(100)의 개요구성을 나타낸 모식도이다. 이하, 본 도면을 참조해서 설명한다.
정보처리장치(100)는 CPU(Central Processing Unit)(101), ROM(Read Only Memory)(102), RAM(Random Access Memory)(103), 인터페이스(interface)(104), 컨트롤러(105), 외부 메모리(106), DVD-ROM(Digital Versatile Disk-ROM) 드라이브(107), 화상처리부(108), 음성처리부(109) 및 NIC(Network Interface Card)(110)를 구비한다.
게임용 프로그램 및 데이터를 기억한 DVD-ROM을 DVD-ROM 드라이브(107)에 장착해서, 정보처리장치(100)의 전원을 투입함으로써, 상기 프로그램이 실행되어, 본 실시예의 화상생성장치가 실현된다.
CPU(101)는 정보처리장치(100) 전체의 동작을 제어하여, 각 구성요소와 접속되어 제어신호나 데이터를 주고 받는다. 또, CPU(101)는, 레지스터(도시 생략)라고 하는 고속 액세스가 가능한 기억 영역에 대해서 ALU(Arithmetic Logic Unit)(도시 생략)를 이용해서 가감승제 등의 산술연산이나, 논리합, 논리곱, 논리부정 등의 논리연산, 비트합, 비트곱, 비트 반전, 비트 시프트, 비트 회전 등의 비트 연산 등을 행할 수 있다. 또한, 멀티미디어 처리 대응을 위한 가감승제 등의 포화 연산이나, 삼각함수 등, 벡터 연산 등을 고속으로 행하도록, CPU(101) 자체가 구성되어 있는 것이나, 코프로세서를 구비해서 실현하는 것이 있다.
ROM(102)에는, 전원 투입 직후에 실행되는 IPL(Initial Program Loader)이 기록되어, 이것이 실행됨으로써, DVD-ROM에 기록된 프로그램을 RAM(103)에 읽어내어(즉, 독출하여) CPU(101)에 의한 실행이 개시된다. 또한, ROM(102)에는, 정보처 리장치(100) 전체의 동작 제어에 필요한 오퍼레이팅 시스템의 프로그램이나 각종 데이터가 기록된다.
RAM(103)은, 데이터나 프로그램을 일시적으로 기억하기 위한 것으로, DVD-ROM으로부터 독출한 프로그램이나 데이터, 기타 게임의 진행이나 채팅 통신에 필요한 데이터가 유지된다. 또한, CPU(101)는, RAM(103)에 변수영역을 형성하고, 상기 변수에 격납된 값에 대해서 직접 ALU를 작용시켜서 연산을 행하거나, RAM(103)에 격납된 값을 일단 레지스터에 격납하고 나서 레지스터에 대해서 연산을 행하고, 그 연산 결과를 메모리에 다시 기록하는 등의 처리를 행한다.
인터페이스(104)를 거쳐서 접속된 컨트롤러(105)는, 사용자가 댄스 게임이나 사커 게임 등의 게임을 실행할 때에 행하는 조작 입력을 접수한다.
인터페이스(104)를 거쳐서 착탈 가능하게 접속된 외부 메모리(106)에는, 게임의 플레이 상황(과거의 성적 등)을 나타내는 데이터, 게임의 진행 상태를 나타내는 데이터, 네트워크를 이용한 게임의 채팅 통신의 로그(기록) 데이터 등이 다시 기록하는 것이 가능하도록 기억된다. 사용자는, 컨트롤러(105)를 거쳐서 지시 입력을 행함으로써, 이들 데이터를 적절하게 외부 메모리(106)에 기록할 수 있다.
DVD-ROM 드라이브(107)에 장착되는 DVD-ROM에는, 게임을 실현하기 위한 프로그램과 게임에 부수되는 화상 데이터나 음성 데이터가 기록된다. CPU(101)의 제어에 의해서, DVD-ROM 드라이브(107)는, 이것에 장착된 DVD-ROM에 대한 독출 처리를 행하여, 필요한 프로그램이나 데이터를 독출하고, 이들은 RAM(103) 등에 일시적으로 기억된다.
화상처리부(108)는, DVD-ROM으로부터 독출된 데이터를 CPU(101)나 화상처리부(108)가 구비하는 화상 연산 프로세서(도시 생략)에 의해서 가공 처리한 후, 이것을 화상처리부(108)가 구비하는 프레임 메모리(도시 생략)에 기록한다. 프레임 메모리에 기록된 화상정보는, 소정의 동기 타이밍에서 비디오 신호로 변환되어 화상처리부(108)에 접속되는 모니터(도시 생략)에 출력된다. 이것에 의해, 각종 화상표시가 가능해진다.
화상 연산 프로세서는, 2차원의 화상의 중첩 연산이나 α블렌딩 등의 투과 연산, 각종 포화 연산을 고속으로 실행할 수 있다.
또, 가상 3차원 공간에 배치되어, 각종 텍스처(텍스처) 정보가 부가된 다각형 정보를, Z버퍼법에 의해 렌더링(rendering)해서, 소정의 시점 위치로부터 가상 공간에 배치된 다각형을 소정의 시선 방향으로 내려다본 렌더링 화상을 얻는 연산의 고속 실행도 가능하다.
또한, CPU(101)와 화상 연산 프로세서가 협조 동작함으로써, 문자의 형상을 정의하는 폰트 정보에 따라서, 문자열을 2차원 화상으로서 프레임 메모리에 묘화하거나, 각 다각형 표면에 묘화하는 것이 가능하다.
또, 게임 화상 등의 정보를 DVD-ROM에 준비해두고, 이것을 프레임 메모리에 전개시킴으로써, 게임의 상황 등을 화면에 표시하는 것이 가능해지도록 된다.
음성처리부(109)는 DVD-ROM으로부터 독출한 음성 데이터를 아날로그 음성신호로 변환하고, 이것에 접속된 스피커(도시 생략)로부터 출력시킨다. 또, CPU(101)의 제어 하, 게임의 진행 중에 발생시켜야 할 효과음이나 악곡 데이터를 생성하고, 이것에 대응한 음성을 스피커로부터 출력시킨다.
음성처리부(109)에서는, DVD-ROM에 기록된 음성 데이터가 MIDI 데이터일 경우에는, 이것이 가진 음원 데이터를 참조해서, MIDI 데이터를 PCM 데이터로 변환한다. 또, ADPCM(Adaptive Differential Pulse Code Modulation) 형식이나 Ogg Vorbis 형식 등의 압축된 음성 데이터일 경우에는, 이것을 전개해서 PCM 데이터로 변환한다. PCM 데이터는, 그 샘플링 주파수에 따른 타이밍에서 D/A(Digital/Analog) 변환을 행하여, 스피커에 출력함으로써, 음성출력이 가능해진다.
NIC(110)는 정보처리장치(100)를 인터넷 등의 컴퓨터 통신망(도시 생략)에 접속하기 위한 것으로, LAN(Local Area Network)을 구성할 때에 이용되는 10BASE-T/100BASE-T 규격에 따르는 것이나, 전화 회선을 이용해서 인터넷에 접속하기 위한 아날로그 모뎀, ISDN(Integrated Services Digital Network) 모뎀, ADSL(Asymmetric Digital Subscriber Line) 모뎀, 케이블 텔레비전 회선을 이용해서 인터넷에 접속하기 위한 케이블 모뎀 등과, 이들과 CPU(101)와의 중개를 행하는 인터페이스(도시 생략)에 의해 구성된다.
그 밖에, 정보처리장치(100)는, 하드 디스크 등의 대용량 외부 기억 장치를 이용해서, ROM(102), RAM(103), 외부 메모리(106), DVD-ROM 드라이브(107)에 장착되는 DVD-ROM 등과 마찬가지 기능을 하도록 구성해도 된다.
다음에, 본 실시예의 화상생성장치(200)의 기능적인 구성에 대해서 설명한다. 도 2에 나타낸 바와 같이, 화상생성장치(200)는 기억부(201), 계산부(202), 판별부(203), 변화부(204) 및 생성부(205)를 구비한다.
도 3에 나타낸 바와 같이, 가상 공간 내에는 캐릭터 대상체(301)와 면 대상체(302)가 배치된다. 본 도면은, 이 가상 공간 내에 배치된 가상 카메라(도시 생략)로부터 본 상황을 나타내고 있다. 예를 들어, 댄스 게임에 있어서, 캐릭터 대상체(301)는 플레이어(화상생성장치(200)의 사용자)에게 댄스를 가르치는 지도자(instructor)를 나타내는 대상체이며, 면 대상체(302)는 지도자가 서 있는 바닥이나 스테이지를 나타내는 대상체이다. 가상 공간 내에는, 그 밖의 대상체가 배치되어 있어도 된다.
또한, 이 가상 공간 내에는 광원(303)이 배치된다. 캐릭터 대상체(301)나 면 대상체(302) 등에 광원(303)으로부터 광이 조사되면, 면 대상체(302)의 표면에는, 광원(303)으로부터의 광에 의한 캐릭터 대상체(301)의 음영(304)이 음영 영역(305)에 비친다. 예를 들어, 광원(303)은 가상 공간 내의 조명 기구나 태양 등이다.
본 발명을 보다 이해하기 쉽게 하기 위해서, 본 실시예에서는 광원(303)을 점광원으로 한다. 단, 광원(303)은, 선광원, 면광원, 또는 임의의 입체적인 형상을 가지는 광원이어도 된다.
또한, CPU(101)는, 음영 영역(305)의 색상, 채도, 명도를 변화시키고, 예를 들어, 흑색이나 회색으로 하거나 상대적으로 어둡게 하거나 함으로써, 음영 영역(305)을 음영(304)으로 해도 된다. 예를 들어, 도 4A는 캐릭터 대상체(301)가 면 대상체(302)와 접하고 있는 상태의 일례를 나타낸 도면이다. 도 4B는 캐릭터 대상체(301)가 면 대상체(302)와 접하고 있지 않은(떨어져 있는) 상태의 일례를 나타낸 도면이다. CPU(101)는 음영 영역(305)의 형상을 타원으로 고정하고, 캐릭터 대상체(301)의 위치와 형상, 면 대상체(302)의 위치와 형상, 광원(303)의 위치에 의거해서 이 타원의 위치를 이동하거나, 타원을 확대·축소·회전시키거나 한다. 이와 같이 음영 영역(305)을 음영(304)으로 하면, 화상생성장치(200)는 광원 계산을 정확하게 행할 필요는 없고, 음영(304)의 위치와 형상을 계산하지 않아도 되며, 후술하는 화상을 생성하는 처리를 간략화할 수 있다. 물론, 형상은 타원으로 한정되지 않고, 임의의 도형으로 할 수 있다.
이하, 화상생성장치(200)가 플레이어에게 댄스의 동작 등을 가르치는 게임을 실행하고, 게임 진행에 따라서 댄스의 지도자를 포함하는 화상을 생성해서 표시하는 장면을 상정해서 설명한다. 단, 이것은 하나의 실시예에 지나지 않고, 댄스 게임 이외의 그 밖의 게임에 등장하는 임의의 캐릭터 화상을 표시하는 데도 본 발명을 이용할 수 있다. 또, 게임에 한하지 않고, 다양한 애니메이션이나 영화 등의 화상을 생성하기 위하여 본 발명을 이용할 수도 있다.
기억부(201)는, (A) 캐릭터 대상체(301)의 위치와 형상을 나타내는 캐릭터 대상체 정보(251)와, (B) 면 대상체(302)의 위치와 형상을 나타내는 면 대상체 정보(252)와, (C) 광원(303)의 위치를 나타내는 광원 정보(253)를 기억한다. CPU(101)는 캐릭터 대상체(301)와 면 대상체(302)의 초기 위치와 초기형상, 및, 광원(303)의 초기 위치를 DVD-ROM 드라이브에 장착된 DVD-ROM으로부터 읽어내어 RAM(103)에 기억하고, 게임의 진행에 따라서 이들 위치와 형상을 계산해서, 캐릭터 대상체 정보(251)와 면 대상체 정보(252)와 광원 정보(253)를 갱신한다. CPU(101), RAM(103) 및 DVD-ROM 드라이브(107)가 협동해서 동작함으로써, 기억부(201)로서 기능한다.
캐릭터 대상체(301)와 면 대상체(302)와 광원(303)의 위치는, 각각, 1개의 동경과 2개의 편각을 이용한 극좌표계를 이용해서, 각 대상체 내의 대표점의 좌표(r, θ, φ)로 표시된다. 예를 들어, 캐릭터 대상체(301)의 중심점의 좌표값이 캐릭터 대상체(301)의 대표점의 위치를 나타내는 좌표값으로 된다. 단, 좌표계는 이것으로 한정되는 것은 아니고, 예를 들어, 서로 직교하는 3축에 의한 직교좌표계를 사용해도 된다. 또, 가상 공간의 전체를 표현하는 글로벌(global) 좌표계(월드(world) 좌표계)와, 대상체마다의 로컬(Local) 좌표계(보디(body) 좌표계)를 각각 설정해서 좌표 계산 등을 행하는 구성을 채용해도 된다.
캐릭터 대상체(301)와 면 대상체(302)의 형상은, 그들의 표면을 미소한 다각형(전형적으로는 삼각형이나 사각형 등) 등의 다각형(프리미티브)으로 분할해서, 수치 데이터화되어 표시된다.
예를 들어, 면 대상체(302)를 평면으로 하면, 면 대상체(302) 위의 임의의 적어도 3점의 좌표값을 이용해서, 면 대상체(302)의 위치를 정의할 수 있다. 단, 면 대상체(302)의 형상은 평면으로 한정되지 않고, 임의의 형상의 곡면이어도 된다.
계산부(202)는, 음영 계산부(211)와 거리 계산부(212)를 구비한다. 음영 계산부(211)는, 광원(303)으로부터 조사되는 광에 의한 캐릭터 대상체(301)의 음 영(304)이 면 대상체(302)에 투사되는 음영 영역(305)의 위치를 계산한다. 화상처리부(108)는, CPU(101)의 제어에 의해, 캐릭터 대상체 정보(251)와, 면 대상체 정보(252)와, 광원 정보(253)에 의거해서, 면 대상체(302)에 투영되는 음영 영역(305)의 위치를 계산하고, 그 계산 결과를 RAM(103)에 기억한다. 또, 거리 계산부(212)는, 캐릭터 대상체(301)와 면 대상체(302)와의 거리(δ)를 계산하고, 그 계산 결과를 RAM(103)에 기억한다. 거리(δ)의 상세에 대해서는 후술한다. CPU(101), RAM(103) 및 화상처리부(108)가 협동해서 동작함으로써, 계산부(202)로서 기능한다.
도 5A는, 캐릭터 대상체(301) 내에 미리 정의한 소정 영역(501)과 면 대상체(302)가 접하고 있지 않은 상태를 나타낸 도면의 일례이다. 본 예에서는, 인간형의 캐릭터 대상체(301)가 한쪽 발을 들고 있다. 소정 영역(501)은 캐릭터 대상체(301)의 발바닥(구두 뒷면)에 상당하는 부분이다. 한편, 전술한 도 3은, 캐릭터 대상체(301) 내의 소정 영역(501)과 면 대상체(302)가 접하고 있는 상태를 나타낸 도면의 일례이다.
또한, 음영 계산부(211)는, 음영 영역(305)의 위치를 계산하는 대신에, 면 대상체(302)에 투영되는 캐릭터 대상체(301)의 음영(304)의 위치와 형상을 계산하고, 음영 영역(305) 내의 소정 영역(501)의 음영(502)(도 5A의 사선으로 그은 부분)의 위치를 계산해도 된다. 이와 같이 하면, 그림자의 형태가 보다 정확하게 표현되므로, 현실감이 있는 화상을 생성할 수 있다.
본 실시예에서는, 거리 계산부(212)는, 캐릭터 대상체(301)와 면 대상 체(302)와의 거리(δ)로서, 소정 영역(501)과 면 대상체(302)와의 거리를 계산한다.
소정 영역(501)은, 1개의 캐릭터 대상체(301)에 대해서 복수 장소 존재해도 된다. 예를 들어, 도 5A에서는, 한쪽 발의 발바닥을 소정 영역(501)으로 하고 있지만, 양쪽 발의 발바닥을 각각 소정 영역(501)으로 해도 된다. 소정 영역(501)은 캐릭터 대상체(301)의 표면에 미리 설정된 영역이며, 캐릭터 대상체(301)의 표면의 임의의 영역(예를 들어, 손바닥 등)을 소정 영역(501)으로 설정할 수 있다.
판별부(203)는, 기억부(201)에 기억된 캐릭터 대상체(301)의 위치와 형상과, 면 대상체(302)의 위치와 형상에 의거해서, 캐릭터 대상체(301)가 면 대상체(302)와 접하고 있는지의 여부를 판별한다. CPU(101), RAM(103), 화상처리부(108)가 협동해서 동작함으로써, 판별부(203)로서 기능한다.
구체적으로는, 판별부(203)는, 캐릭터 대상체(301) 내의 소정 영역(501)이 면 대상체(302)와 접하고 있는지의 여부에 의해, 캐릭터 대상체(301)와 면 대상체(302)가 접하고 있는지의 여부를 판별한다.
여기서, 도 5B에 나타낸 바와 같이, 판별부(203)는, 소정 영역(501)에 포함되는 어떤 점(P1)의 좌표와, 면 대상체(302) 상의 점(Q1)의 좌표가 일치하면, 점(P1)과 면 대상체(302)는 「접하고 있는」것으로 판별한다. 점(P1)으로서 소정 영역(501) 상의 임의의 점을 선택할 수 있고, 점(Q1)으로서 면 대상체 상의 임의의 점을 선택할 수 있다. 또는, 일치하지 않아도, 점(P1)으로부터 점(Q1)까지의 거 리(DPQ)가 소정 값 이내이면, 접하고 있는 것으로 해도 된다. 즉, 소정 영역(501) 내의 점(P1)의 좌표와 면 대상체(302) 상의 점(Q1)의 좌표가 일치하거나, 혹은 점(P1)으로부터 점(Q1)까지의 거리가 소정 값 이내일 경우, 점(P1)과 면 대상체(302)는 접하고 있다.
또한, 판별부(203)는, 소정 영역(501) 내의 N개(N은 1 이상의 정수)의 소정의 점(P1), (P2), …, (PN) 중 1개라도 면 대상체(302)와 접하고 있을 경우, 소정 영역(501)과 면 대상체(302)가 접하고 있는 것으로 판별한다. 한편, 소정의 점(P1), (P2), …, (PN)의 모두가 면 대상체(302)와 접하고 있지 않을 경우, 판별부(203)는, 소정 영역(501)과 면 대상체(302)가 접하고 있지 않은 것으로 판별한다.
예를 들어, 캐릭터 대상체(301)가 댄스의 지도자이고, 면 대상체(302)가 지도자가 서 있는 바닥이며, 소정 영역(501)이 캐릭터 대상체(301)의 표면 전체 중 지도자의 발바닥(구두 뒷면)에 상당하는 부분인 것으로 한다. 판별부(203)는, 소정 영역(501)이 그 일부분이라도 면 대상체(302)와 접하고 있으면, 캐릭터 대상체(301)와 면 대상체(302)가 접하고 있는 것으로 판별한다. 도 4B와 같이 지도자가 점프해서 허공에 뜬 상태에서는, 판별부(203)는, 지도자(캐릭터 대상체(301))와 바닥(면 대상체(302))이 접하고 있지 않은 것으로 판별한다. 또한, 지도자가 발끝만으로 착지한 상태에서는, 판별부(203)는 지도자와 바닥이 접하고 있는 것으로 판별한다.
혹은, 판별부(203)는, 소정 영역(501) 내의 N개의 점의 전부가 면 대상체(302)와 접하고 있으면, 소정 영역(501)과 면 대상체(302)는 접하고 있는 것으로 판별하고, 그렇지 않으면 접하고 있지 않은 것으로 판별해도 된다.
예를 들어, 판별부(203)는, 소정 영역(501)의 일부분이 면 대상체(302)와 접하고 있지 않다면, 즉, 소정 영역(501) 전체가 면 대상체(302)와 접하고 있는 것이 아니라면, 캐릭터 대상체(301)와 면 대상체(302)가 접하고 있지 않은(떨어져 있는) 것으로 판별하도록 구성해도 된다. 이 경우, 예를 들어, 지도자가 점프해서 허공에 뜬 상태에서는, 판별부(203)는, 지도자와 바닥이 접하고 있지 않은 것으로 판별한다. 또한, 지도자가 발끝만으로 착지한 상태에서도, 판별부(203)는, 지도자와 바닥이 접하고 있지 않은 것으로 판별한다. 그리고, 지도자가 발바닥 전체로 착지한 상태에서는, 판별부(203)는 지도자와 바닥이 접하고 있는 것으로 판별한다.
또한, 판별부(203)는, 소정 영역(501) 내의 N개의 점 중, 소정의 비율 이상(예를 들어, 50% 이상 등)의 점이 면 대상체(302)와 접하고 있으면, 소정 영역(501)과 면 대상체(302)는 접하고 있는 것으로 판별하고, 그렇지 않으면 접하고 있지 않은 것으로 판별해도 된다. 또, 소정 영역(501) 중 소정의 면적 이상의 영역이 면 대상체(302)와 접하고 있으면, 소정 영역(501)과 면 대상체(302)는 접하고 있는 것으로 판별하고, 그렇지 않으면 접하고 있지 않은 것으로 판별해도 된다.
이들 중 어느 쪽의 판별 수법을 채용해도 되지만, 본 실시예에서는, 판별부(203)는, 소정 영역(501)의 일부분이라도 면 대상체(302)와 접하고 있으면, 캐릭터 대상체(301)와 면 대상체(302)는 접하고 있는 것으로 판별하는 것으로 한다.
캐릭터 대상체(301)에 복수의 소정 영역(501)을 설정할 경우, 그들 소정 영역(501) 중 어느 1개라도 면 대상체(302)와 접하고 있는지의 여부를 판별하면 된다. 단, 모든 소정 영역(501)이 면 대상체(302)와 접하고 있는지의 여부를 판별하는 것으로 해도 된다.
변화부(204)는, 캐릭터 대상체(301)가 면 대상체(302)와 접하고 있지 않은 것으로 판별부(203)에 의해 판별된 경우, 음영 계산부(211)에 의해 계산된 음영 영역(305)의 색상(H), 채도(S), 명도(B) 중 적어도 어느 하나를, 거리 계산부(212)에 의해 계산된 캐릭터 대상체(301)와 면 대상체(302)와의 거리(δ)에 따라서 변화시킨다. CPU(101), RAM(103) 및 화상처리부(108)가 협동해서 동작함으로써, 변화부(204)로서 기능한다.
캐릭터 대상체(301)와 면 대상체(302)와의 거리(δ)란, 도 5A에 나타낸 바와 같이, 소정 영역(501) 내의 소정의 대표점으로부터 면 대상체(302)가 나타내는 면에 내려그은 수선의 길이이다. 전형적으로는, 대표점은 소정 영역(501)의 중심점이다. 또, 소정 영역(501)에 포함되는 모든 점 중, 가장 면 대상체(302)에 가까운 점에서부터, 면 대상체(302)가 나타내는 면에 내려그은 수선의 길이를 거리(δ)로 해도 된다.
예를 들어, 변화부(204)는, 음영 영역(305)의 색상과 채도와 명도 중 적어도 어느 하나를 캐릭터 대상체(301)와 면 대상체(302)와의 거리(δ)에 대해서 단조증가시킨다. 도 6A 내지 도 6D는, 변화시키는 대상으로서 명도를 채용하고, 캐릭터 대상체(301)와 면 대상체(302)와의 거리(δ)와, 명도B와의 관계의 예를 나타낸 도 면이다. 명도는 BMIN% 이상 BMAX% 이하의 값을 취한다. 최소치 BMIN과 최대값 BMAX는, 0% 이상 100% 이하로서, BMIN < BMAX를 만족시키는 임의의 값으로 설정할 수 있다.
도 6A에서는, 변화부(204)는 소정 영역(501)의 음영(502)의 명도를 캐릭터 대상체(301)와 면 대상체(302)와의 거리(δ)에 비례해서 증가시킨다. 어떤 거리(도시 생략)에서 명도가 최대값 BMAX에 도달하면, 그것 이상의 거리에서는 명도는 최대값 BMAX에서 일정해진다.
도 6B에서는, 변화부(204)는 거리(δ)가 길어질수록 명도의 증가율을 작게 한다. 명도는 최종적으로 최대값 BMAX에 수속한다.
도 6C에서는, 변화부(204)는 명도의 증가율을 변화시킨다. 증가율은 0 이상의 실수이다.
도 6D에서는, 변화부(204)는 계단 함수를 이용해서 명도를 변화시킨다. 전체로서, 거리(δ)가 증가함에 따라서 명도가 커지는 경향이 있으면 되고, 명도가 일정하게 되는 구간(증가율이 제로(zero)로 되는 구간)이 있어도 된다.
예를 들어, 변화부(204)는, 음영 영역(305)의 색상과 채도와 명도 중 적어도 어느 하나를 캐릭터 대상체(301)와 면 대상체(302)와의 거리(δ)에 대해서 단조감소시켜도 된다. 도 7A 내지 도 7D는, 변화시키는 대상으로서 명도를 채용하여, 캐릭터 대상체(301)와 면 대상체(302)와의 거리(δ)와, 명도(B)의 관계의 예를 나타낸 도면이다.
도 7A에서는, 변화부(204)는 소정 영역(501)의 음영(502)의 명도를 캐릭터 대상체(301)와 면 대상체(302)와의 거리(δ)에 비례해서 감소시킨다. 어떤 거리(도시 생략)에서 명도가 최소치 BMIN으로 되면, 그것 이상의 거리에서는 명도는 최소치 BMIN에서 일정해진다.
도 7B에서는, 변화부(204)는 거리(δ)가 길어질수록 명도의 감소율을 작게 한다. 명도는 최종적으로 최소치 BMIN에 수속한다.
도 7C에서는, 변화부(204)는 명도의 감소율을 변화시킨다. 감소율은 0 이상의 실수이다.
도 7D에서는, 변화부(204)는 계단 함수를 이용해서 명도를 변화시킨다. 전체로서, 거리(δ)가 증가함에 따라서 명도가 작아지는 경향이 있으면 되고, 명도가 일정해지는 구간(감소율이 제로로 되는 구간)이 있어도 된다.
변화부(204)는, 게임의 진행 상황, 게임의 종류, 난이도, 플레이어의 성적 등 다양한 수치 파라미터에 따라서, 도 6A 내지 도 6D, 도 7A 내지 도 7D의 각각에 표시된 함수를 구분해서 이용할 수 있다.
예를 들어, 화상생성장치는, DVD-ROM 등에 미리 기억된 음악 데이터를 읽어내어 재생하는 재생부를 추가로 구비하고, 음악에 맞춰서 플레이어가 댄스를 하거나 곡을 연주하거나 하는 음악 게임을 실행한다. 그리고, 캐릭터 대상체(301)는, 재생되는 음악에 맞춰서 댄스를 추거나 포즈를 취하거나 한다. 변화부(204)는, 이러한 댄스 등의 음악 게임에 있어서, 재생부가 재생하는 곡의 템포에 따라서 전술 한 함수를 구분해서 이용한다. 템포가 빠른 곡에서는 지도자(캐릭터 대상체(301))는 발(소정 영역(501))을 재빠르게 움직이고, 반대로 템포가 느린 곡에서는 발을 천천히 움직이는 것이 예상된다. 발의 움직임이 빠르면, 빈번히 바닥에 발이 착지하거나 떨어지거나 하므로, 플레이어는 순간적으로 판단하지 않으면 안된다. 이 때문에, 템포가 빠른 곡에서는, 도 7A 내지 도 7D에 나타낸 바와 같이, 발이 바닥에 가까울 때에 그림자를 비교적 크게 변화시킨다. 템포가 느린 곡에서는, 도 6A 내지 도 6D에 나타낸 바와 같이, 발이 바닥으로부터 멀 때에 그림자를 비교적 크게 변화시킨다. 또한, 템포가 어느 정도 빠른가에 따라서, 도 7A 내지 도 7D의 어느 것을 채용할지 결정해도 좋고, 템포가 어느 정도 느린가에 따라서, 도 6A 내지 도 6D의 어느 것을 채용할지 결정해도 된다. 곡의 템포에 한하지 않고, 팝송·재즈·클래식 등의 쟝르에 따라서 구분해서 이용해도 되고, 게다가, 곡의 선율, 곡조, 리듬, 박자에 따라서 구분해서 이용해도 된다.
예를 들어, 플레이어의 조작 이력에 따라서 함수를 구분해서 이용한다. 변화부(204)는, 지도자의 지시대로 플레이어가 조작할 수 있는(즉, 성적이 좋은) 경우에는, 도 6A 내지 도 6D에 나타낸 바와, 발이 바닥에 가까울 때에는 작게 변화시키고, 발이 바닥으로부터 멀 때에는 크게 변화시킨다. 반대로 지도자의 지시대로 조작할 수 없는(즉, 성적이 좋지 않은) 경우에는, 도 7A 내지 도 7D에 나타낸 바와 같이, 발이 바닥에 가까울 때에는 크게 변화시키고, 발이 바닥으로부터 멀 때에는 작게 변화시킨다. 변화부(204)는, 플레이어의 획득 점수, 게임 횟수, 플레이 시간, 승패수, 승패율, 대전 성적 등에 따라서, 도 6A 내지 도 6D, 도 7A 내지 도 7D 에 나타낸 바와 같은 함수를 구분해서 이용할 수 있다.
예를 들어, 플레이어의 조작 이력으로부터, 발을 바닥으로부터 떨어지게 하는 타이밍을 중점적으로 가르치는 것이 적합하다고 추측될 경우에는, 도 7A 내지 도 7D에 나타낸 바와 같이 단조감소시키고, 발을 올리는 높이를 중점적으로 가르치는 것이 적합하다고 추측될 경우에는, 도 6A 내지 도 6D에 나타낸 바와 같이 단조증가시킨다. 변화부(204)는, 발을 바닥으로부터 떨어지게 하는 타이밍에 있어서의 플레이어의 획득 점수가 기준점수보다 높으면 단조증가시키고, 획득 점수가 기준점수보다 낮으면 단조감소시킨다. 또한, 변화부(204)는, 발을 바닥으로부터 높은 위치에 유지하는 타이밍에 있어서의 플레이어의 획득 점수가 기준점수보다 높으면 단조감소시키고, 획득 점수가 기준점수보다 낮으면 단조증가시킨다.
변화부(204)가 음영 영역(305)의 명도를 변화시키면, 지도자의 그림자는 거리(D)에 따라서 밝아지거나 어두워지거나 한다. 즉, 지도자(캐릭터 대상체(301))가 높게 점프할(거리(δ)가 길어질)수록, 지도자의 그림자(음영 영역(305))는 밝아진다. 플레이어는, 그림자의 밝기의 차이에 따라서, 지도자의 발이 바닥으로부터 어느 정도 떨어져 있는가를 용이하게 알 수 있게 된다. 마찬가지로, 색상이나 채도를 거리(δ)에 따라서 변화시키면, 그림자의 색조나 선명도 등의 차이에 따라서, 지도자의 발이 바닥으로부터 어느 정도 떨어져 있는지 용이하게 알 수 있다.
변화부(204)는, 음영 영역(305) 전체의 색상, 채도, 명도 대신에, 음영 영역(305) 중 소정 영역(501)의 음영(502)의 색상, 채도, 명도를 거리(δ)에 따라서 변화시켜도 된다. 예를 들어, 지도자의 양쪽 발바닥을 각각 소정 영역(501)으로 한 경우, 변화부(204)는 각각의 발의 그림자의 색상, 채도, 명도를 변화시키므로, 플레이어는 어느 쪽의 발이 어느 정도 바닥으로부터 떨어져 있는가를 용이하게 판단할 수 있다.
생성부(205)는, 캐릭터 대상체(301)의 위치와 형상, 면 대상체(302)의 위치와 형상, 및 광원(303)의 위치에 의거해서, 캐릭터 대상체(301)와 면 대상체(302)를 포함하는 화상을 생성한다. 이 화상에는, 광원(303)에 따라서 면 대상체(302)에 투영되는 캐릭터 대상체(301)의 그림자의 화상(음영 영역(305))도 포함된다. 생성부(205)는, 생성하는 화상 중의 음영 영역(305)을, 변화부(204)에 의해 변화된 색상, 채도, 명도로 묘화한다. 즉, CPU(101)의 제어에 의해, 화상처리부(108)가, 캐릭터 대상체(301)의 표면에 소정의 캐릭터 대상체용 텍스처 데이터를 붙여서, 면 대상체(302)의 표면에 소정의 면 대상체용 텍스처 데이터를 붙여서 화상을 생성한다. 또, 계산부(202)에 의해서 계산된 위치에 음영 영역(305)을 설정하고, 생성된 화상 중 음영 영역(305)의 색상, 채도, 명도를 변화시킨다. 또한, 각각의 텍스처 데이터는 DVD-ROM 등에 미리 격납되어 있다. CPU(101), RAM(103) 및 화상처리부(108)가 협동해서 동작함으로써, 생성부(205)로서 기능한다.
다음에, 전술한 각 부가 협동해서 행하는 화상생성 처리에 대해서, 도 8의 순서도를 이용해서 설명한다. 이하의 설명에서는, 일례로서, 캐릭터 대상체(301)를 댄스의 지도자로 하고, 면 대상체(302)를 바닥으로 한다. 또, 지도자의 한쪽 발바닥을 소정 영역(501)으로 한다. 지도자는 바닥 위에서 댄스를 추고, 발이 바닥으로부터 떨어지는 일이 있다. 화상생성장치(200)는, 바닥으로부터 발바닥까지 의 거리에 따라서 지도자의 그림자(음영 영역(305))의 명도를 변화시킨 화상을 생성한다. 전술한 바와 같이, 음영 계산부(211)는, 캐릭터 대상체(301)의 위치와 형상, 면 대상체(302)의 위치와 형상, 및 광원(303)의 위치에 의거해서, 보다 상세한 광원 계산을 행하여 음영(304)을 계산할 수 있지만, 이하의 설명에서는, 음영 계산부(211)는, 음영(304)이 나타내는 대략의 영역으로서 음영 영역(305)을 계산하고, 계산한 음영 영역(305)을 음영(304)으로서 취급하는 것으로 한다.
우선, 계산부(202)는, 캐릭터 대상체(301)의 위치와 형상을 나타내는 캐릭터 대상체 정보(251)와, 면 대상체(302)의 위치와 형상을 나타내는 면 대상체 정보(252)와, 광원(303)의 위치를 나타내는 광원 정보(253)를, 기억부(201)로부터 읽어내어 취득한다(스텝 S801).
음영 계산부(211)는, 취득한 캐릭터 대상체 정보(251)와 면 대상체 정보(252)와 광원 정보(253)에 의거해서, 음영 영역(305)의 위치를 계산한다(스텝 S802).
예를 들어, 도 9에 나타낸 바와 같이, 음영 계산부(211)는, 음영 영역(305)의 형상을 타원으로 하고, 광원(303)의 위치와 캐릭터 대상체(301)의 대표점(901)의 위치를 연결하는 직선(902)과, 면 대상체(302)와의 교점(903)을, 음영 영역(305)을 나타내는 타원의 중심(장축과 단축의 교점)으로 한다. 대표점(901)은, 예를 들어, 캐릭터 대상체(301)의 중심이나, 머리, 배 등의 소정 위치이다.
또, 음영 계산부(211)는, 음영 영역(305)을 나타내는 타원의 반경(R1), (R2)을, 거리 계산부(212)에 의해 계산된 캐릭터 대상체(301)와 면 대상체(302)와의 거 리(δ)가 길수록 작게 해도 된다. 혹은, 거리 계산부(212)가 대표점(901)과 면 대상체(302)와의 거리를 계산하고, 음영 계산부(211)가 계산된 대표점(901)과 면 대상체(302)와의 거리가 길수록 반경(R1), (R2)을 작게 해도 된다.
판별부(203)는, 캐릭터 대상체 정보(251)와 면 대상체 정보(252)에 의거해서, 캐릭터 대상체(301)가 면 대상체(302)와 접하고 있는지의 여부를 판별한다(스텝 S803). 구체적으로는, 예를 들어, 미리 설정한 소정 영역(501)이 그 일부분이라도 면 대상체(302)와 접하고 있으면 캐릭터 대상체(301)가 면 대상체(302)와 접하고 있는 것으로 판별하고, 소정 영역(501)이 면 대상체(302)와 접하고 있지 않으면, 캐릭터 대상체(301)가 면 대상체(302)와 접하고 있지 않은 것으로 판별한다.
캐릭터 대상체(301)가 면 대상체(302)와 접하고 있지 않은 것으로 판별된 경우(스텝 S803: 아니오), 변화부(204)는, 캐릭터 대상체(301)와 면 대상체(302)와의 거리(δ)에 따라서 음영 영역(305)의 명도를 변화시킨다(스텝 S804). 예를 들어, 변화부(204)는, 캐릭터 대상체(301)와 면 대상체(302)와의 거리(δ)가 길수록 음영 영역(305)의 명도를 크게 한다. 바꿔 말하면, 변화부(204)는, 지도자의 발이 바닥으로부터 떨어져 있을수록, 지도자의 그림자를 밝게 한다. 물론, 명도 대신에, 혹은 명도에 부가해서, 색상 및/또는 채도를 변화시켜도 된다. 또한, 거리(δ)가 길수록 음영 영역(305)의 명도를 작게 해도 된다.
한편, 캐릭터 대상체(301)가 면 대상체(302)와 접하고 있는 것으로 판별된 경우(스텝 S803: 예), 변화부(204)는 명도를 변화시키지 않고, 소정의 명도로 설정 한다. 예를 들어, 변화부(204)는, 최소치 BMIN, 최대치 BMAX로 정해지는 범위에서 명도를 변화시키는 것으로 하면, 캐릭터 대상체(301)가 면 대상체(302)와 접하고 있을 경우에는, 명도를 최소치 BMIN으로 하고, 접하고 있지 않을 경우에는, 최대값 BMAX를 넘지 않는 범위에서, 거리(δ)의 길이에 따라서 명도를 BMIN으로부터 점점 크게 해간다.
그리고, 생성부(205)는, 캐릭터 대상체(301)와 면 대상체(302)와 음영 영역(305)을 나타내는 화상을 생성한다(스텝 S805).
이와 같이 생성된 화상은 모니터에 표시된다. 즉, CPU(101)는, 화상처리부(108)를 제어해서, 생성부(205)에 의해서 생성된 화상을 모니터에 표시시킨다. 플레이어는, 캐릭터 대상체(301)와, 면 대상체(302)와, 캐릭터 대상체(301)의 그림자를 포함하는 화상을 볼 수 있다. 캐릭터 대상체(301)의 그림자의 색상, 채도, 명도 중 적어도 어느 하나는, 캐릭터 대상체(301)와 면 대상체(302)와의 거리에 따라서 변화되므로, 플레이어는, 그림자의 변화를 보면, 그들이 떨어져 있는지의 여부, 떨어져 있는 것으로 하면 어느 정도 떨어져 있는지 즉시 판단할 수 있게 되어, 대상체끼리의 위치 관계를 파악하기 쉬워진다.
또, 음영 계산부(211)는, 도 10에 나타낸 바와 같이, 음영 영역(305)의 위치와 형상을 계산하는 대신에, 각 대상체의 위치와 형상에 의거해서 광원 계산을 행하여 음영(304)의 위치와 형상을 계산해도 된다. 그리고, 음영 계산부(211)는, 계산된 음영(304) 중 소정 영역(501)의 음영(502)의 색상, 채도, 명도 중 적어도 어 느 하나를, 캐릭터 대상체(301)와 면 대상체(302)와의 거리(δ)에 따라서 변화시켜도 된다. 그림자의 대략의 형태를 표시하는 음영 영역(305)의 위치와 형상을 계산하는 대신에, 상세한 광원 계산을 행하여 음영(304)의 위치와 형상을 구하면, 보다 현실감이 있는 화상을 얻을 수 있다.
이상 설명한 바와 같이, 본 실시예에 의하면, 캐릭터 대상체(301)와 면 대상체(302)와의 위치관계를 명료하게 표현할 수 있다. 예를 들어, 캐릭터 대상체(301)의 그림자의 표현을 변화시킴으로써 캐릭터 대상체(301)와 면 대상체(302)가 접하고 있는지의 여부를 분명히 알 수 있게 된다. 또, 캐릭터 대상체(301)가 면 대상체(302)와 떨어져 있을수록, 그림자의 색상, 채도, 명도를 증가(혹은 감소)시킴으로써, 사용자는, 그림자의 변화의 정도를 보면, 이들이 어느 정도의 거리만큼 근접하고 있는지를 명료하게 표현할 수 있다. 3차원 가상 공간과 같이 깊이가 있는 화상을 표시할 때, 대상체끼리 접할 가능성이 있는 부분이, 그림자를 만드는 대상체 자신 혹은 주위의 다른 대상체에 숨겨져서 보이지 않을 경우에도, 이들이 접하고 있는지의 여부, 어느 정도 근접하고 있는지를, 그림자를 변화시킴으로써 간단하고도 명료하게 표현할 수 있다.
음영(304)과 음영 영역(305)은 대상체가 아니어도 된다. 본 실시예에서는, 음영 계산부(211)가, 면 대상체(302)의 전체 영역 중, 캐릭터 대상체(301)의 광원(303)으로부터의 광에 의해서 그림자로 되는 음영 영역(305)의 위치(및 형상)를 계산하고, 변화부(204)가 색상, 채도, 명도 중 적어도 어느 하나를 변화시키고, 생성부(205)가 면 대상체(302)에 소정의 텍스처를 붙인 후, 변화부(204)에 의해서 변 화된 음영 영역(305)을 포함하는 화상을 생성한다. 화상생성장치(200)는, 면 대상체(302)에 붙이는 텍스처의 색상과 채도와 명도를 변화시키면 된다. 물론, 음영(304) 혹은 음영 영역(305)을 대상체로 하고, 음영용의 소정의 텍스처를 붙인 후, 색상과 채도와 명도를 변화시켜도 된다.
본 실시예에서는, 가상 공간에 있어서 지도자가 바닥 위에서 댄스를 하는 장면을 상정해서 설명했지만, 다른 다양한 장면에서 본 발명을 적용할 수 있다.
예를 들어, 점프의 높이를 겨루는 게임에 있어서, 화상생성장치(200)는, 플레이어 캐릭터가 지면에서부터 높게 뛸수록, 플레이어 캐릭터의 그림자의 명도를 크게 변화시킨다. 그러면, 플레이어는, 그림자의 밝기의 변화를 보면, 어느 정도 높게 뛴 것인지 용이하게 알 수 있다. 이 경우, 플레이어 캐릭터가 캐릭터 대상체(301)로 되고, 지면이 면 대상체(302)로 된다. 화상생성장치(200)는, 전술한 바와 같이 그림자를 변화시킨 화상을 생성하면, 높이나 위치를 나타내는 게이지나 수치 등을 표시하지 않아도, 사용자에게 높이나 위치를 알릴 수 있다. 보다 간이한 화상으로 하면서, 사용자에게 전하는 것이 가능한 정보량을 증가시킬 수 있다.
예를 들어, 레이싱 게임에 있어서, 레이싱 카의 차체를 캐릭터 대상체(301)로 하고, 레이스 코스의 측벽을 면 대상체(302)로 한다. 화상생성장치(200)는, 차체의 후방의 가상 카메라가 촬영한 영상을 생성한다. 후방으로부터의 영상에서는, 차체의 프론트 윙(front wing)의 선단을 보기 어렵다. 이때, 화상생성장치(200)는, 차체가 측벽에 가까울수록, 차체의 그림자의 명도를 크게(밝게) 변화시킨다. 그러면, 레이싱 카를 조작하는 플레이어는, 그림자의 밝기의 변화를 보는 것만으 로, 레이싱 카의 프론트 윙이 측벽에 어느 정도 접근하고 있는지, 레이싱 카가 측벽에 접촉한 것인지의 여부 등을 용이하게 알 수 있다.
예를 들어, 대전 게임에 있어서, 플레이어 캐릭터가 적 캐릭터와 접근한 때에, 적이 가까이 있는 것을 플레이어에게 알리기 위한 수단으로서 본 발명을 이용할 수도 있다. 플레이어 캐릭터로부터 적 캐릭터까지의 거리가 가까울수록, 플레이어 캐릭터의 그림자의 명도를 크게 한다. 이 경우, 플레이어 캐릭터가 캐릭터 대상체(301)로 되고, 적 캐릭터를 구성하는 다각형 중 소정의 일부분(예를 들어, 얼굴)을 구성하는 다각형에 의해서 정의하는 면(예를 들어, 얼굴면)을 면 대상체(302)로 하면 된다. 임의의 대상체끼리 접근한 때에, 사용자에게 그들이 접근하고 있는 것을 충돌 전에 통지하는 수단으로서 본 발명을 이용할 수도 있다.
예를 들어, 플레이어 캐릭터를 캐릭터 대상체(301)로 하고, 투명한 창 유리를 면 대상체(302)로 한다. 플레이어 캐릭터 등의 그림자를 단지 표현한 것만으로는, 플레이어 캐릭터와 창 유리와의 거리감이 포착되기 어려운 일이 많다. 이때, 화상생성장치(200)는, 플레이어 캐릭터가 창 유리에 가까울수록, 플레이어 캐릭터의 그림자의 명도를 크게 변화시킨다. 그러면, 플레이어는, 그림자의 밝기의 변화를 보는 것만으로, 창 유리에 어느 정도 접근하고 있는지, 플레이어 캐릭터의 손이 창 유리에 접촉하였는지의 여부 등을 용이하게 알 수 있다.
본 발명은, 전술한 실시예에 한정되지 않고, 각종 변형 및 응용이 가능하다. 또, 전술한 실시예의 각 구성요소를 자유롭게 조합시키는 것도 가능하다.
음영 계산부(211)는 소정 영역(501)의 음영(502)만을 계산해도 된다. 바꿔 말하면, 지도자 전체의 그림자가 아니라, 지도자의 발의 부분의 그림자만을 묘화해도 된다. 예를 들어, 도 11A에 나타낸 바와 같이, 음영 계산부(211)는, 캐릭터 대상체(301)의 위치와 형상, 및 면 대상체(302)의 위치와 형상에 의거해서 광원 계산을 행하여, 캐릭터 대상체(301) 전체 중 일부분(본 도면에서는 지도자의 한쪽 발)(1101)에 대응하는 음영 영역(1102)의 위치와 형상을 계산한다. 그리고, 음영 계산부(211)는, 계산된 음영 영역(1102)의 색상, 채도, 명도 중 적어도 어느 하나를 캐릭터 대상체(301)와 면 대상체(302)와의 거리(δ)에 따라서 변화시켜도 된다. 물론, 이 구성에 있어서도, 도 11B에 나타낸 바와 같이, 상세한 광원 계산을 하는 대신에, 음영 영역(1102)을 소정의 형상에 고정해서 음영 영역(1102)의 위치와 크기를 변화시켜도 된다. 또한, 음영 계산부(211)는, 지도자의 발의 부분만을 캐릭터 대상체(301)로 간주하고, 음영 영역(1102)의 위치와 형상을 계산하면 된다.
화상생성장치(200)를 장치의 전부 또는 일부로서 동작시키기 위한 프로그램을, 메모리 카드, CD-ROM, DVD, MO(Magneto Optical disk) 등의 컴퓨터 판독가능한 기록매체에 격납해서 배포하고, 이것을 다른 컴퓨터에 설치하여, 전술한 수단으로서 동작시키고, 또는, 전술한 공정을 실행시켜도 된다.
또, 인터넷 상의 서버 장치가 가진 디스크 장치 등에 프로그램을 격납해두고, 예를 들어, 반송파에 중첩시켜서, 컴퓨터에 다운로드 등 하는 것으로 해도 된다.
또한, 본원에 대해서는, 일본국 특허 출원 제2007-253714호를 기초로 하는 우선권을 주장하고, 상기 기초출원의 내용을 모두 본원에 원용하는 것으로 한다.
이상에서 설명한 바와 같이, 본 발명에 의하면, 가상 공간 내의 대상체끼리의 위치관계를 명료하게 표현하기 위해서 바람직한 화상생성장치, 화상생성방법, 정보기록매체 및 프로그램을 제공할 수 있다.

Claims (12)

  1. 가상 공간 내의 캐릭터 대상체의 위치와, 면 대상체의 위치와, 광원의 위치를 기억하는 기억부(201);
    상기 광원에 의해서 상기 면 대상체에 투영되는 상기 캐릭터 대상체의 음영을 계산하는 음영 계산부(211);
    상기 캐릭터 대상체와 상기 면 대상체와의 거리를 계산하는 거리 계산부(212);
    상기 계산된 음영을, 상기 계산된 상기 캐릭터 대상체와 상기 면 대상체와의 거리에 따라서 변화시키는 변화부(204); 및
    상기 캐릭터 대상체와, 상기 면 대상체와, 상기 변화된 상기 음영을 묘화한 화상을 생성하는 생성부(205)를 포함하는 것을 특징으로 하는 화상생성장치.
  2. 제1항에 있어서, 상기 기억부(201)는 상기 캐릭터 대상체의 형상과, 상기 면 대상체의 형상을 추가로 기억하고,
    상기 기억된 상기 캐릭터 대상체의 위치와 형상과, 상기 기억된 상기 면 대상체의 위치와 형상에 의거해서, 상기 캐릭터 대상체가 상기 면 대상체와 소정 거리 이상 떨어져 있는지의 여부를 판별하는 판별부(203)를 추가로 포함하며,
    상기 변화부(204)는, 상기 판별부(203)에 의해 상기 캐릭터 대상체가 상기 면 대상체와 소정 거리 이상 떨어져 있는 것으로 판별된 경우, 상기 계산된 음영 을, 상기 계산된 상기 캐릭터 대상체와 상기 면 대상체와의 거리에 따라서 변화시키는 것을 특징으로 하는 화상생성장치.
  3. 제2항에 있어서, 상기 판별부(203)는, 상기 캐릭터 대상체가 상기 면 대상체와 소정 거리 이상 떨어져 있을 경우, 상기 캐릭터 대상체가 상기 면 대상체와 접하고 있지 않은 것으로 판별하고, 그 이외의 경우, 상기 캐릭터 대상체가 상기 면 대상체와 접하고 있는 것으로 판별하며,
    상기 변화부(204)는, 상기 판별부(203)에 의해 상기 캐릭터 대상체가 상기 면 대상체와 접하고 있지 않은 것으로 판별된 경우, 상기 계산된 음영을, 상기 계산된 상기 캐릭터 대상체와 상기 면 대상체와의 거리에 따라서 변화시키는 것을 특징으로 하는 화상생성장치.
  4. 제3항에 있어서, 상기 판별부(203)는, 상기 캐릭터 대상체의 표면의 소정 영역이 상기 면 대상체와 접하고 있는지의 여부에 의해, 상기 캐릭터 대상체와 상기 면 대상체가 접하고 있는지의 여부를 판별하고,
    상기 변화부(204)는, 상기 소정 영역과 상기 면 대상체와의 거리를, 상기 캐릭터 대상체와 상기 면 대상체와의 거리로 하는 것을 특징으로 하는 화상생성장치.
  5. 제1항에 있어서, 상기 변화부(204)는 상기 계산된 음영의 색상, 채도 및 명도 중 적어도 어느 하나를 변화시키는 것을 특징으로 하는 화상생성장치.
  6. 제1항에 있어서, 음악을 재생하는 재생부(109)를 추가로 포함하고,
    상기 변화부(204)는, 상기 계산된 음영을, 상기 재생부(109)에 의해서 재생되는 음악의 쟝르, 템포, 선율, 곡조, 리듬, 박자 중 적어도 어느 하나에 따라서 변화시키는 것을 특징으로 하는 화상생성장치.
  7. 제1항에 있어서, 상기 변화부(204)는, 상기 계산된 음영을, 상기 화상생성장치에서 실행되는 게임에 있어서 플레이어가 획득한 점수에 따라서 변화시키는 것을 특징으로 하는 화상생성장치.
  8. 제5항에 있어서, 상기 변화부(204)는, 상기 계산된 음영 중 상기 소정 영역에 대응하는 부분의 명도를, 상기 면 대상체와 상기 소정 영역과의 거리에 대해서 단조증가시키는 것을 특징으로 하는 화상생성장치.
  9. 제5항에 있어서, 상기 변화부(204)는, 상기 계산된 음영 중 상기 소정 영역에 대응하는 부분의 명도를, 상기 면 대상체와 상기 소정 영역과의 거리에 대해서 단조감소시키는 것을 특징으로 하는 화상생성장치.
  10. 기억부(201)를 구비한 화상생성장치에서 실행되는 화상생성방법으로서,
    상기 기억부(201)에는, 가상 공간 내의 캐릭터 대상체의 위치와, 면 대상체 의 위치와, 광원의 위치가 기억되고,
    상기 광원에 의해서 상기 면 대상체에 투영되는 상기 캐릭터 대상체의 음영을 계산하는 음영 계산스텝;
    상기 캐릭터 대상체와 상기 면 대상체와의 거리를 계산하는 거리 계산스텝;
    상기 계산된 음영을, 상기 계산된 상기 캐릭터 대상체와 상기 면 대상체와의 거리에 따라서 변화시키는 변화스텝; 및
    상기 캐릭터 대상체와, 상기 면 대상체와, 상기 변화된 음영을 묘화한 화상을 생성하는 생성스텝을 포함하는 것을 특징으로 하는 화상생성방법.
  11. 컴퓨터를,
    가상 공간 내의 캐릭터 대상체의 위치와, 면 대상체의 위치와, 광원의 위치를 기억하는 기억부(201);
    상기 광원에 의해서 상기 면 대상체에 투영되는 상기 캐릭터 대상체의 음영을 계산하는 음영 계산부(211);
    상기 캐릭터 대상체와 상기 면 대상체와의 거리를 계산하는 거리 계산부(212);
    상기 계산된 음영을, 상기 계산된 상기 캐릭터 대상체와 상기 면 대상체와의 거리에 따라서 변화시키는 변화부(204); 및
    상기 캐릭터 대상체와, 상기 면 대상체와, 상기 변화된 음영을 묘화한 화상을 생성하는 생성부(205)
    로서 기능시키는 프로그램을 기억하는 것을 특징으로 하는, 컴퓨터 판독가능한 정보기록매체.
  12. 컴퓨터를,
    가상 공간 내의 캐릭터 대상체의 위치와, 면 대상체의 위치와, 광원의 위치를 기억하는 기억부(201);
    상기 광원에 의해서 상기 면 대상체에 투영되는 상기 캐릭터 대상체의 음영을 계산하는 음영 계산부(211);
    상기 캐릭터 대상체와 상기 면 대상체와의 거리를 계산하는 거리 계산부(212);
    상기 계산된 음영을, 상기 계산된 상기 캐릭터 대상체와 상기 면 대상체와의 거리에 따라서 변화시키는 변화부(204); 및
    상기 캐릭터 대상체와, 상기 면 대상체와, 상기 변화된 음영을 묘화한 화상을 생성하는 생성부(205)
    로서 기능시키는 것을 특징으로 하는 프로그램.
KR1020097018813A 2007-09-28 2008-07-31 화상생성장치, 화상생성방법 및 정보기록매체 KR101160851B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007253714A JP4612031B2 (ja) 2007-09-28 2007-09-28 画像生成装置、画像生成方法、ならびに、プログラム
JPJP-P-2007-253714 2007-09-28
PCT/JP2008/063794 WO2009041156A1 (ja) 2007-09-28 2008-07-31 画像生成装置、画像生成方法、情報記録媒体、ならびに、プログラム

Publications (2)

Publication Number Publication Date
KR20090125249A true KR20090125249A (ko) 2009-12-04
KR101160851B1 KR101160851B1 (ko) 2012-06-29

Family

ID=40511053

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097018813A KR101160851B1 (ko) 2007-09-28 2008-07-31 화상생성장치, 화상생성방법 및 정보기록매체

Country Status (7)

Country Link
US (1) US20100182315A1 (ko)
EP (1) EP2209093A4 (ko)
JP (1) JP4612031B2 (ko)
KR (1) KR101160851B1 (ko)
CN (1) CN101617344B (ko)
TW (1) TWI384415B (ko)
WO (1) WO2009041156A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101598374B1 (ko) 2009-09-21 2016-02-29 삼성전자주식회사 영상 처리 장치 및 방법
KR101601687B1 (ko) * 2009-09-22 2016-03-09 삼성전자주식회사 영상 처리 장치 및 방법
JP5792706B2 (ja) * 2012-11-30 2015-10-14 株式会社スクウェア・エニックス リズムゲーム制御装置、およびリズムゲーム制御プログラム
JP2015119277A (ja) * 2013-12-17 2015-06-25 オリンパスイメージング株式会社 表示機器、表示方法及び表示プログラム
JP6413299B2 (ja) * 2014-03-31 2018-10-31 カシオ計算機株式会社 画像解析装置、画像解析方法、およびプログラム
US9710934B1 (en) * 2015-12-29 2017-07-18 Sony Corporation Apparatus and method for shadow generation of embedded objects
JPWO2021149526A1 (ko) * 2020-01-23 2021-07-29
CN112785489B (zh) * 2020-12-29 2023-02-17 温州大学 一种单目立体视觉图像生成方法及装置
CN112802170B (zh) * 2021-02-07 2023-05-16 抖音视界有限公司 光照图像生成方法、装置、设备和介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU632628B2 (en) * 1989-11-13 1993-01-07 Apple Computer, Inc. Method and apparatus for a computer display system with a three dimensional cursor shadow
JP3667393B2 (ja) * 1995-08-04 2005-07-06 株式会社ナムコ 3次元ゲーム装置及び画像合成方法
JP2976963B2 (ja) * 1998-03-19 1999-11-10 コナミ株式会社 画像作成装置、画像作成方法、画像作成プログラムが記録された可読記録媒体およびビデオゲーム装置
JP4114826B2 (ja) * 1998-04-24 2008-07-09 株式会社バンダイナムコゲームス 画像生成装置及び情報記憶媒体
US6437782B1 (en) * 1999-01-06 2002-08-20 Microsoft Corporation Method for rendering shadows with blended transparency without producing visual artifacts in real time applications
JP3384978B2 (ja) * 1999-02-16 2003-03-10 株式会社タイトー 課題解決型乗り物ゲーム装置
JP3599268B2 (ja) * 1999-03-08 2004-12-08 株式会社ソニー・コンピュータエンタテインメント 画像処理方法、画像処理装置及び記録媒体
US6663491B2 (en) * 2000-02-18 2003-12-16 Namco Ltd. Game apparatus, storage medium and computer program that adjust tempo of sound
JP4443012B2 (ja) * 2000-07-27 2010-03-31 株式会社バンダイナムコゲームス 画像生成装置、方法および記録媒体
JP2002222436A (ja) * 2000-11-22 2002-08-09 Sony Computer Entertainment Inc オブジェクト制御方法、コンピュータに実行させるためのオブジェクト制御処理プログラム、コンピュータに実行させるためのオブジェクト制御処理プログラムを記録したコンピュータ読み取り可能な記録媒体、オブジェクト制御処理プログラムを実行するプログラム実行装置
JP2003331313A (ja) * 2002-05-14 2003-11-21 Konami Computer Entertainment Japan Inc 画像処理プログラム
JP4001227B2 (ja) * 2002-05-16 2007-10-31 任天堂株式会社 ゲーム装置及びゲームプログラム
EP1465116A1 (en) * 2003-03-31 2004-10-06 STMicroelectronics Limited Computer graphics
US7030878B2 (en) * 2004-03-19 2006-04-18 Via Technologies, Inc. Method and apparatus for generating a shadow effect using shadow volumes
JP3884043B2 (ja) * 2005-02-28 2007-02-21 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム制御方法、ならびに、プログラム
JP3926828B1 (ja) * 2006-01-26 2007-06-06 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
JP2007200110A (ja) * 2006-01-27 2007-08-09 Samii Kk 画像処理装置、画像処理方法、及びコンピュータプログラム

Also Published As

Publication number Publication date
US20100182315A1 (en) 2010-07-22
EP2209093A4 (en) 2011-10-19
CN101617344A (zh) 2009-12-30
WO2009041156A1 (ja) 2009-04-02
JP4612031B2 (ja) 2011-01-12
CN101617344B (zh) 2012-03-21
KR101160851B1 (ko) 2012-06-29
JP2009086856A (ja) 2009-04-23
TWI384415B (zh) 2013-02-01
EP2209093A1 (en) 2010-07-21
TW200917158A (en) 2009-04-16

Similar Documents

Publication Publication Date Title
KR101160851B1 (ko) 화상생성장치, 화상생성방법 및 정보기록매체
EP0778547B1 (en) Image processing apparatus and image processing method
US10220303B1 (en) Gesture-based music game
JP3529138B2 (ja) 画像処理装置、画像処理方法及びこれを用いたゲーム装置並びに記憶媒体
TWI469813B (zh) 在動作擷取系統中追踪使用者群組
KR100566751B1 (ko) 화상 생성 장치 및 화상 생성 방법
US8319777B2 (en) Character display, character displaying method, information recording medium, and program
JP4610988B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP3707995B2 (ja) ゲームシステム及び情報記憶媒体
JP3747050B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
GB2383246A (en) Track generation in virtual space
JP5580156B2 (ja) ゲーム装置、ゲーム制御方法、ならびに、プログラム
JP3417917B2 (ja) 3次元画像処理方法、その装置、3次元画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体及びビデオゲーム装置
JP4267646B2 (ja) 画像生成装置、画像生成方法、ならびに、プログラム
JPH11175748A (ja) 画像生成装置及び情報記憶媒体
JP2011239937A (ja) ゲーム装置、ゲーム処理方法、ならびに、プログラム
JP5307060B2 (ja) 画像処理装置、画像処理方法、ならびに、プログラム
JP3583995B2 (ja) エンタテインメント装置、記憶媒体およびオブジェクト表示方法
JP5124545B2 (ja) ゲーム装置、ゲーム処理方法、ならびに、プログラム
JP2003210837A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2011239936A (ja) ゲーム装置、ゲーム処理方法、ならびに、プログラム
JPH10113465A (ja) ゲーム装置、画面生成方法及び情報記憶媒体
JP2009251887A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP5238764B2 (ja) ゲーム装置、ゲーム処理方法、ならびに、プログラム
JP3583994B2 (ja) エンタテインメント装置、記憶媒体およびオブジェクト表示方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150612

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160613

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170609

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180619

Year of fee payment: 7