KR20080071901A - 화상 생성 방법, 정보 기억 매체 및 화상 생성 장치 - Google Patents

화상 생성 방법, 정보 기억 매체 및 화상 생성 장치 Download PDF

Info

Publication number
KR20080071901A
KR20080071901A KR1020080006547A KR20080006547A KR20080071901A KR 20080071901 A KR20080071901 A KR 20080071901A KR 1020080006547 A KR1020080006547 A KR 1020080006547A KR 20080006547 A KR20080006547 A KR 20080006547A KR 20080071901 A KR20080071901 A KR 20080071901A
Authority
KR
South Korea
Prior art keywords
virtual camera
game
image
player character
screen
Prior art date
Application number
KR1020080006547A
Other languages
English (en)
Other versions
KR100917313B1 (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 KR20080071901A publication Critical patent/KR20080071901A/ko
Application granted granted Critical
Publication of KR100917313B1 publication Critical patent/KR100917313B1/ko

Links

Images

Classifications

    • A63F13/10
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5258Changing parameters of virtual cameras by dynamically adapting the position of the virtual camera to keep a game object or game character in its viewing frustum, e.g. for tracking a character or a ball
    • 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/45Controlling the progress of the video game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6684Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera by dynamically adapting its position to keep a game object in its viewing frustrum, e.g. for tracking a character or a ball
    • 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/8082Virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 플레이어 캐릭터를 포함하는 포함영역을 설정하고, 포함영역의 최장 대각선을 게임 화면의 화상 좌표계에 투영하고, Xc축 성분 투영 치수(Lx)와 Yc축 성분 투영 치수(Ly)를 구한다. 그리고, 이들 중 큰 쪽의 투영 치수(Lm)를 선택하고, 해당 투영 치수(Lm)의 축 성분 방향의 화면폭(Wx 또는 Wy)에 대해, 소정의 비율이 되도록 메인 가상 카메라의 촬영 조건을 설정한다. 메인 가상 카메라의 촬영 화상을 주게임(main game) 화면으로서 표시 제어한다.
가정용 게임 장치, 본체, 제어 유닛, 광학 디스크, 메모리 카드

Description

화상 생성 방법, 정보 기억 매체 및 화상 생성 장치{IMAGE GENERATION METHOD, INFORMATION STORAGE MEDIUM, AND IMAGE GENERATION DEVICE}
본 발명은, 컴퓨터에 주어진 오브젝트가 배치된 3차원 가상 공간을 가상 카메라로 촬영한 화상을 생성시키기 위한 방법 등에 관한 것이다.
근래의 비디오 게임에서는, 3차원 가상 공간에 게임 공간을 형성하는 여러가지의 오브젝트나, 플레이어가 조작하는 플레이어의 오브젝트 등을 배치하고, 플레이어에 의한 조작 입력이나 미리 설정된 움직임으로 그들을 동작 제어하여 게임을 실행하는 것이 많다. 이들의 게임에서의 게임 화면은, 게임 공간을 가상 카메라로 촬영한 화상을 생성하고, 이것에 게임 진행에 필요한 정보(예를 들면, 맵이거나, 게임의 잔여 시간, 득점, 히트 포인트, 잔탄(殘彈) 수 등)를 합성하여 만들어진다. 환언하면, 가상 카메라의 위치나 시선 방향, 화각(畵角)을 포함하는 촬영 조건에 의해, 게임 화면으로서 플레이어에게 제공하는 시각 정보가 정해진다고도 말할 수 있다. 따라서, 어떤 방법으로 적절한 촬영 조건을 설정하느냐로, 그 게임이 조작하 기 쉬운 유저 프렌들리의 것이 되거나, 조작하기 어려운 게임으로 되는가에 크게 영향을 준다.
그러한 가상 카메라의 제어에 관한 기술로서는, 예를 들면, 플레이어 캐릭터와 공격 목표 커서의 양쪽이 촬영 범위에 수납되도록 제어하는 것이 알려져 있다. (예를 들면, 특허 문헌 1 참조).
특허문헌 1 일본 특허 제 3197536호 공보
그런데, 게임에 등장하는 캐릭터는, 게임의 내용에 따라 천차만별인 것은 잘 알려진 바이다. 예를 들면, 탄성체나, 레올로지(rheology) 물체(후크의 법칙에 따르지 않는 고체, 뉴턴의 점성 법칙에 따르지 않는 액체, 탄성역학이나 유체역학에서의 항력(抗力)이 없는 점탄성이나 가소성을 나타내는 물체 등의 총칭)에 유사한 특성을 갖는 캐릭터를 등장시키려고 한 경우, 그 캐릭터는 자유롭게 늘어나거나 줄어들거나 하고 체계도 일정하다고는 한할 수 없다. 플레이어에게서 보면, 레올로지 물체에 유사한 캐릭터를 조작하려고 하면, 당연한 일이지만 단부(端部)가 어떠한 상태이며, 어디에 있는지를 알 필요가 있다. 그 때문에, 종래 기술과 같이, 단지 그 캐릭터의 로컬 원점(原點) 등의 대표점을 기준으로 가상 카메라를 제어하는 방법으로는, 경우에 따라서는 캐릭터가 늘어난 단(端)이 보이지 않는 상황이 일어나, 현저하게 조작하기 어렵게 될 염려가 있다.
본 발명의 양태는, 컴퓨터가, 주어진 오브젝트가 배치된 3차원 가상 공간을 가상 카메라로 촬영한 화상을 생성하는 방법으로서,
상기 오브젝트의 크기 및/또는 형상을 변화시키는 제어를 행하는 것과,
상기 3차원 가상 공간에 상기 오브젝트를 포함하는 포함영역을 상기 변화 제어에 따라 가변으로 설정하는 것과,
상기 설정된 포함영역 전체가 상기 가상 카메라의 촬영 화상에 수납되도록 상기 가상 카메라의 화각 및/또는 위치를 제어하는 것과,
상기 가상 카메라로 촬영한 상기 3차원 가상 공간의 화상을 생성하는 것을 포함하는 방법에 관한 것이다.
본 발명에 의하면, 탄성체나 레올로지 물체에 유사한 신축 자유로운 캐릭터를 조작 대상으로 하는 경우에, 플레이어에게 조작하기 쉬운 적절한 가상 카메라의 제어를 실현하는 것이 가능해진다.
본 실시 형태는, 컴퓨터가, 주어진 오브젝트가 배치된 3차원 가상 공간을 가상 카메라로 촬영한 화상을 생성하는 방법으로서, 상기 오브젝트의 크기 및/또는 형상을 변화시키는 제어를 행하는 것과, 상기 3차원 가상 공간에 상기 오브젝트를 포함하는 포함영역을 상기 변화 제어에 따라 가변으로 설정하는 것과, 상기 설정된 포함영역 전체가 상기 가상 카메라의 촬영 화상에 수납되도록 상기 가상 카메라의 화각 및/또는 위치를 제어하는 것과, 상기 가상 카메라로 촬영한 상기 3차원 가상 공간의 화상을 생성하는 것을 포함하는 방법에 관한 것이다.
또한, 다른 형태로서, 주어진 오브젝트가 배치된 3차원 가상 공간을 가상 카메라로 촬영한 화상을 생성하는 화상 생성 장치로서, 상기 오브젝트의 크기 및/또는 형상을 변화시키는 제어를 행하는 오브젝트 변화 제어부와, 상기 3차원 가상 공간에 상기 오브젝트를 포함하는 포함영역을 상기 변화 제어에 따라 가변으로 설정하는 포함영역 설정부와, 상기 설정된 포함영역 전체가 상기 가상 카메라의 촬영 화상에 수납 되도록 상기 가상 카메라의 화각 및/또는 위치를 제어하는 가상 카메라 제어부와, 상기 가상 카메라로 촬영한 상기 3차원 가상 공간의 화상을 생성하는 화상 생성부를 구비한 화상 생성 장치를 구성하는 것으로 하여도 좋다.
이것에 의하면, 주어진 오브젝트의 크기 및/또는 형상을 자유롭게 변화시킬 수 있음과 함께, 그 결과로서 오브젝트가 변화한 상태를 포함하는 포함영역을 설정하고, 그 포함영역 전체가 촬영 화상 내에 수납되도록 가상 카메라를 제어할 수 있다. 따라서, 이 가상 카메라로 촬영한 화상을 게임 화상으로서 표시한다면, 탄성체나 레올로지 물체에 유사한 신축 자유로운 캐릭터가, 늘어나거나 줄어들거나 하여도 부정형으로 변형하여도, 항상 해당 캐릭터의 전체를 비출 수 있다. 플레이어에게서 보면, 항상 조작 대상의 캐릭터의 단부가 어디에 어떻게 하여 존재하고 있는지를 알기 때문에, 조작을 하기 쉬워진다.
이것은, 특히 주어진 캐릭터가 끈모양체 형상의 오브젝트이고, 나아가서는 단부의 이동에 이끌려서 전신이 이동하도록 제어되는 오브젝트인 경우에, 특히 효과적이다. 왜냐하면, 이러한 케이스에서는, 캐릭터의 단부의 모습이 게임 화면에 비추어지지 않으면, 문자 그대로 맹목적 상태이고 조작성이 현저하게 손상되어 버리기 때문이다.
또한, 본 실시 형태에서는, 상기 가상 카메라의 촬영 화상의 세로 치수에 차지하는 상기 설정된 포함영역의 세로 치수의 비율과, 촬영 화상의 가로 치수에 차지하는 포함영역의 가로 치수의 비율 중, 큰 쪽의 비율을 판정하는 것과, 상기 큰 쪽의 비율이 소정 비율이 되도록 상기 가상 카메라의 화각 및/또는 위치를 제어하는 것을 포함하는 방법을 구성하는 것으로 하여도 좋다.
이것에 의하면, 주어진 캐릭터가, 가상 카메라의 촬영 화상 범위에 대해 세로가 긴 또는 가로가 긴 상태라도 가상 카메라의 촬영 화상 내에 있는 크기로 촬영되도록 가상 카메라를 제어할 수 있다.
또한, 본 실시 형태에서는, 상기 포함영역은 직육면체이고, 상기 큰 쪽의 비율을 판정하는 것은, 상기 가상 카메라의 촬영 화상에서의 상기 포함영역의 대각선분 각각의 종횡의 치수, 또는, 촬영 화상의 종횡의 치수에 차지하는 대각선분 각각의 종횡의 치수의 비율에 의거하여 상기 큰 쪽의 비율을 판정하는 것을 포함하는 방법을 구성하는 것으로 하여도 좋다.
이것에 의하면, 주어진 캐릭터의 크기를 대표하는 치수(대표치수)를 간단한 처리로 구할 수 있다. 신축 자유로운 캐릭터인 경우, 자꾸자꾸 늘어나면 그 만큼 동작의 제어에 관한 연산 부하가 증가하지만, 가상 카메라의 제어에 관한 연산 부하를 경감함으로써 이것을 보충하여, 전체적인 처리의 응답성을 유지하는 것이 가능해진다.
또한, 본 실시 형태에서는, 상기 포함영역의 소정 위치가, 촬영 화상중의 소정 위치에 위치하도록 상기 가상 카메라의 시점(視點) 방향을 제어하는 것을 또한 포함하는 방법을 구성하는 것으로 하여도 좋다.
이것에 의하면, 가상 카메라의 촬영 화상 내에서의 캐릭터의 위치를 어느 정도 정할 수 있다. 따라서, 캐릭터가 늘어나거나 줄어들거나 하는 경우라도, 표시 화면 내에서의 캐릭터의 위치가 빈번하게 이동함으로써, 「화면에 취(醉)함」(=흔들림이 큰 화면을 계속 본 경우에 많이 보이는 현기증을 느끼는 증상) 등이 일어나는 것을 미연에 막고, 보다 조작하기 쉬운 환경을 실현할 수 있다.
또한, 본 실시 형태에서는, 상기 오브젝트의 크기 및/또는 형상이 변화하는 속도에 대해 느린 속도로 상기 가상 카메라의 화각 및/또는 위치의 제어를 행하는 것을 또한 포함하는 방법을 구성하는 것으로 하여도 좋다.
이것에 의하면, 오브젝트의 변화가 행하여지면, 그것에 응하여 그 변화보다도 천천히 가상 카메라의 화각 및/또는 위치가 변화하도록 제어된다. 따라서, 화면의 급격한 흔들림이나, 화각의 급격한 변화를 막고, 보다 안정되고 보기 쉬운 표시 화면으로 할 수 있다.
또한, 본 실시 형태에서는, 상기 오브젝트는 신축 자유로운 끈모양체 형상을 가지며, 상기 오브젝트를 신축시키는 제어를 행하는 것을 또한 포함하는 방법을 구 성하는 것으로 하여도 좋다.
이것에 의하면, 오브젝트를 신축 자유로운 끈모양체 형상으로 함으로써, 탄성체나 레올로지 물체에 유사한 특성을 효과적으로 이용하여 캐릭터를 제어할 수 있다.
또한, 본 실시 형태에서는, 방향 조작 입력에 따라 상기 오브젝트의 단부를 이동 제어시키고, 해당 단부의 이동에 이끌려서 전신이 이동하도록 상기 끈모양체 형상의 오브젝트를 이동 제어하는 것과, 상기 이동 제어된 끈모양체 형상의 오브젝트의 현재의 체형에 따라 상기 포함영역을 가변으로 설정하는 것을 또한 포함하는 방법을 구성하는 것으로 하여도 좋다.
이것에 의하면, 오브젝트의 단부를 이동 제어시키고, 그 단부의 이동에 이끌려서 전신이 이동하도록 이동 제어함으로써, 탄성체나 레올로지 물체에 유사한 캐릭터의 특성을 살린 이동 제어를 실현할 수 있다. 그리고, 이동 제어된 끈모양체 형상의 오브젝트의 현재의 체형에 따라 포함영역을 가변으로 설정하는 것이 가능해진다.
또한, 본 실시 형태에서는, 상술한 방법을 컴퓨터에 실행시키기 위한 프로그램을 기억한 컴퓨터 판독 가능한 정보 기억 매체를 구성하는 것으로 하여도 좋다. 여기서 말하는 「정보 기억 매체」란, 예를 들면 자기 디스크나 광학 디스크, IC 메모리 등을 포함한다.
이하, 본 발명의 실시 형태에 관해, 도면을 참조하여 설명한다. 또한, 이하에 설명하는 실시 형태는, 특허청구의 범위에 기재된 본 발명의 내용을 부당하게 한정하는 것이 아니다. 또한 이하에서 설명되는 구성의 전부가 본 발명의 필수 구성 요건이라고는 한하여지지 않는다.
[제 1 실시 형태]
이하, 본 발명을 적용한 제 1 실시 형태로서, 신축 자유로운 캐릭터가 등장하는 비디오 게임을 예로 들어 설명한다.
[게임 장치의 구성]
도 1은, 본 실시 형태에서의 가정용 게임 장치의 구성 예를 설명하는 시스템 구성도이다. 가정용 게임 장치(1200)의 게임 장치 본체(1201)는, 예를 들면 CPU나 화상 처리용 LSI, IC 메모리 등이 실장된 제어 유닛(1210)과, 광학 디스크(1202)나 메모리 카드(1204)라고 하는 정보 기억 매체의 판독 장치(1206, 1208)를 구비한다. 그리고, 가정용 게임 장치(1200)는, 광학 디스크(1202)나 메모리 카드(1204)로부터 게임 프로그램 및 각종 설정 데이터를 판독하고, 게임 컨트롤러에 행하여지는 조작 입력에 의거하여 각종의 게임 연산을 실행하고, 주어진 비디오 게임을 실행한다.
가정용 게임 장치(1200)의 제어 유닛(1210)에서 생성된 게임 화상이나 게임 소리(음)는, 신호 케이블(1209)에 접속된 비디오 모니터(1220)에 출력된다. 플레이어는, 비디오 모니터(1220)의 디스플레이(1222)에 표시된 게임 화상을 보면서, 스피커(1224)로부터 출력되는 BGM이나 효과음이라는 게임 소리를 들으면서, 게임 컨트롤러(1230)로부터 각종 조작을 입력하여 게임을 즐긴다.
게임 컨트롤러(1230)는, 선택의 결정이나 캔슬, 타이밍의 입력 등에 이용되는 컨트롤러 윗면에 마련된 푸시 버튼(1232)과, 측면에 마련된 푸시 버튼(1233)과, 도면에서 말하는 바의 상하 좌우의 각 방향을 단독 입력하기 위한 방향 입력키(1234)와, 우(右)아날로그 레버(1236)와, 좌 아날로그 레버(1238)를 구비한다.
우 아날로그 레버(1236) 및 좌 아날로그 레버(1238)는, 도면에서 말하는 바의 상하 방향과 좌우 방향의 2축 방향을 동시 입력 가능한 방향 입력 디바이스이다. 통상은 게임 컨트롤러(1230)를 좌우의 손으로 파지하고, 레버(1236a, 1238a)에 각각 엄지손가락을 붙여서 조작한다. 레버(1236a, 1238a)를 쓰러뜨림에 의해 2축 성분을 포함하는 임의의 방향 입력과, 레버의 경도량에 따른 임의 조작량을 입력할 수 있다. 또한, 어느 아날로그 레버도, 조작 입력하지 않는 중립 상태로부터 레버의 축방향으로 밀어넣음으로써 푸시 스위치로서도 사용할 수도 있다. 그리고, 본 실시 형태에서는, 우 아날로그 레버(1236) 및 좌 아날로그 레버(1238)로부터의 조작 입력에 의해, 플레이어 캐릭터의 이동 및 신축의 조작을 입력한다.
또한, 게임 실행에 필요한 게임 프로그램 및 각종 설정 데이터는, 통신 장치(1212)를 통하여 통신 회선(1)에 접속하고, 외부 장치로부터 다운로드하여 취득하는 구성이라도 좋다. 여기서 말하는, 통신 회선이란, 데이터의 주고받음이 가능한 통신로를 의미한다. 즉, 통신 회선이란, 직접 접속을 위한 전용선(전용 케이블)이나 이서넷(등록상표) 등에 의한 LAN(Local Area Network) 외에, 전화통신망이나 케이블망, 인터넷 등의 통신망을 포함하는 의미이고, 또한, 통신 방법에 관해서는 유선/무선을 불문한다.
[플레이어 캐릭터의 설명]
본 실시 형태에서의 비디오 게임은, 신축 자유로운 끈모양의 캐릭터를 플레 이어 캐릭터로서 조종하고, 스타트 지점부터 소정의 골 지점으로 이동하는 것을 목적으로 하는 게임이다. 게임 공간에는 앞길을 막는 지형적인 장애나, 플레이어 캐릭터의 체력을 꺾어내려고 하는 다른 캐릭터가 설정되어 있고, 체력이 「0」이 되지 않는 내에서 무사히 골에 겨우 도착할 수 있으면 해피 엔드로 게임 클리어하고, 도중에 체력이 「0」이 되면 배드 엔드로서 게임 오버가 된다.
도 2A 내지 도 2C는, 본 실시 형태에서의 플레이어 캐릭터의 모델 구성을 설명하기 위한 도면이다. 도 2A 내지 도 2C에 도시하는 바와 같이, 본 실시 형태에서의 비디오 게임에서 플레이어가 게임의 주인공으로서 조작하는 플레이어 캐릭터(CP)는, 머리하나 꼬리하나의 상상(想像) 상(上)의 끈모양체 형상을 이루는 웜(worm : 가늘고 길며 다리가 없는 벌레)으로서 디자인되어 있고, 끈과 같이 유연함과 함께 레올로지 물체와 같은 신축 가능한 몸통(CPb)을 갖는다. 즉, 플레이어 캐릭터(CP)는, 머리(CPh) 및 꼬리(CPt) 방향을 몸을 늘리는 전후 방향으로 하고 몸통(CPb)의 굵기를 그대로 하여 신축 자유로운 캐릭터로서 설정되어 있다. 또한, 본 실시 형태에서는 몸통(CPb)이 늘어나거나 줄어들거나 하는 형태로서 설명하지만, 캐릭터의 디자인에 의해서는, 머리(CPh)나 꼬리(CPt)도 자유롭게 늘어나거나 줄어들거나 하는 설정으로 하여, 전신의 어디에서도 늘어나거나 줄어들거나 하는 설정으로 하여도 좋음은 물론이다.
플레이어 캐릭터(CP)는, 도 2A에 도시하는 바와 같이, 복수의 노드(2)가, 서로 전후의 거리(L)를 일정하게 하여 배열되고 골격 모델(BM)을 갖는다. 달리 말을 한다면, 노드(2)(=제어점)가 연결자(4)에 의해 일렬의 관절 구조로서 연결되어 있 고, 연결자(4)는 모두 같은 고정 길이(L)를 갖고 있다. 또한, 노드(2)와 연결자(4)의 결합 각도는, 모두 소정 각도 범위(θ) 내가 되도록 한정되어 있다. 따라서 노드(2)를 관절이라고 간주하면, 골격 모델(BM)은, 복수의 관절이 1개의 직렬형상으로 연결되어 있고, 게다가 각 관절에서는 일정 각도 이상 구부러지지 않게 된다.
도 2B에 도시하는 바와 같이, 플레이어 캐릭터(CP)에는 히트 판정 모델(HM)이 설정되어 있다. 본 실시 형태에서의 히트 판정 모델(HM)에서는, 각 노드에 히트 판정 영역(6)이 설정되어 있다. 본 실시 형태에서의 히트 판정 영역(6)은, 대응하는 노드(2)의 위치 좌표를 중심으로 하여, 반경(R)(=연결자(4)의 길이(L))의 구형상 영역으로서 설정되어 있다.
그리고 도 2C에 도시하는 바와 같이, 플레이어 캐릭터(CP)의 표시 모델은 폴리곤에 의해 형성된다. 구체적으로는, 각 노드(2)에는, 인접하는 노드를 향하는 각각의 벡터의 합의 벡터를 면(面)에 포함하는 표시 기준원(10)이 설정되어 있다. 그리고, 머리(CPh) 및 꼬리(CPt)로서, 골격 모델(BM)의 선두 및 말미의 노드를 기준점으로 하여 미리 설정된 머리부 또는 꼬리부의 모델을 배치한다. 그리고, 몸통(CPb)에 대해서는, 각 노드에 설정되어 있는 표시 기준원(10)으로 정의되는 원주의 외연을 매끈하게 잇도록 복수의 폴리곤을 생성·변형·재배치한다. 몸통부(CPb)에서의 폴리곤 모델의 형성은, 예를 들면 스켈톤 모델에의 외피 형성 처리 등의 공지의 모델링 기술을 적절히 이용함으로써 실현할 수 있다.
또한, 본 실시 형태에서는, 표시 기준원(10)의 반경은 히트 판정 영역(6)의 반경(R)과 같게 설정되어 있기 때문에, 플레이어 캐릭터(CP)의 외피에 어떠한 오브 젝트가 접촉하면, 히트 판정되도록 설정되어 있지만, 이것으로 한하는 것이 아니라 히트 판정 영역(6)의 반경(R)보다 약간 크게 설정함으로써, 히트한 오브젝트가 플레이어 캐릭터(CP)에 찔리고, 찔린 부분이 보이지 않게 되는 시각적 효과를 도모하도록 하여도 좋다. 또한, 이하의 설명에서는 복수 있는 노드(2)중, 캐릭터의 전방측 단의 노드를 「전단 노드(2fr)」, 후방측 단의 노드를 「후단 노드(2rr)」라고 호칭하는 경우가 있다.
[플레이어 캐릭터의 조작 방법의 설명]
도 3A 내지 도 3C는, 본 실시 형태에서 플레이어 캐릭터(CP)의 이동 조작과 제어의 관계를 도시하는 개념도이다. 도 3A 내지 도 3C에 도시하는 바와 같이, 게임 컨트롤러(1230)의 좌 아날로그 레버(1238)에 행하여진 조작 입력에 따라, 골격 모델(BM)의 전단의 노드(2fr)에 제 1의 조작력(F1)이 설정된다. 또한, 우 아날로그 레버(1236)에 행하여진 조작 입력에 따라 후단의 노드(2rr)에 제 2의 조작력(F2)이 설정된다. 또한, 조작력 이외에, 중력이나 바람에 눌리는 힘 등의 게임 공간에 설정된 다양한 힘이나, 다른 캐릭터와의 충돌에 의해 받는 힘이 적절히 설정될 수 있지만 여기서는 설명을 생략한다.
그런데, 제 1의 조작력(F1) 및 제 2의 조작력(F2)이 설정되면, 양 조작력에 의해 골격 모델(BM)은 전단 및 후단이 각각 끌리는 모양으로 되고, 앞서 설명한 골격 모델(BM)의 구속 조건을 고려하여 소정의 운동 방정식에 따라 각 노드의 위치가 갱신된다. 그리고, 각 노드의 위치가 갱신된 골격 모델(BM)을 베이스로 외피를 형성 처리함으로써, 플레이어 캐릭터(CP)의 표시 모델의 위치가 갱신된다. 이 양상을 가상 카메라(CM)로 촬영하고, 촬영한 화상을 생성하여 게임 화면으로 함으로써, 플레이어 캐릭터(CP)가 게임 공간 내를 이동하도록 표현된다.
또한, 본 실시 형태에서는, 제 1의 조작력(F1) 및 제 2의 조작력(F2)에 의거하여, 플레이어가 플레이어 캐릭터(CP)를 임의로 늘리거나 줄이거나 할 수 있다.
도 4A 내지 도 4D는, 본 실시 형태에서 플레이어 캐릭터(CP)의 임의 신장 조작과 제어의 관계를 도시하는 개념도이다. 도 4A에 도시하는 바와 같이, 플레이어가 게임 컨트롤러(1230)의 우 아날로그 레버(1236)로부터 우방향 입력, 좌 아날로그 레버(1238)로부터 좌방향 입력을 동시 입력하면 임의 신장 조작의 입력이 된다. 그러면, 도 4B에 도시하는 바와 같이, 플레이어 캐릭터(CP)의 골격 모델(BM)은, 좌측의 상태로부터 우측의 상태로 변경된다. 즉, 전단 노드(2fr)와 해당 전단 노드의 다음 연결 노드(2b) 사이에 새로운 노드(2a)가 추가되고, 또한 후단 노드(2rr)와 그 후단 노드의 다음 연결 노드(2c) 사이에도 새로운 노드(2d)가 추가된다. 그리고, 도 4C에 도시하는 바와 같이, 플레이어 캐릭터(CP)의 표시 모델은 변경된 골격 모델(BM)에 의거하여 외피가 형성됨에 의해, 좌측의 전체 길이가 짧은 상태로부터 우측의 전체 길이가 늘어난 상태로 변화한다.
한편, 우 아날로그 레버(1236)로부터 우방향 입력되고, 좌 아날로그 레버(1238)로부터 좌방향 입력이 되어 있지만, 동시 입력이라고는 간주되지 않는 경우에는, 도 4D의 좌측의 상태와 같이, 단지 좌 아날로그 레버(1238)에의 입력에 따른 제 1의 조작력(F1)이, 전단 노드(2fr)에 작용하고, 우 아날로그 레버(1236)에의 입력에 따른 제 2의 조작력(F2)이, 후단 노드(2rr)에 작용하고 있다고 간주된다. 따라서 도 4D의 경우, 제 1의 조작력(F1) 및 제 2의 조작력(F2)이, 플레이어 캐릭터(CP)의 머리(CPh), 꼬리(CPt)를 각각 인장하도록 작용하고, 새로운 노드의 추가는 행하여지지 않고 전단 노드(2fr)와 후단 노드(2rr)가 반대 방향으로 끌리는 모양이 된다. 이 결과, 예를 들면 골격 모델(BM)이 만곡상태라면, 도 4D의 우측의 상태와 같이 직선상태에 근접하게 된다.
또한 도 5A 내지 도 5D는, 본 실시 형태에서 플레이어 캐릭터(CP)의 임의 단축 조작과 제어의 관계를 도시하는 개념도이다. 도 5A에 도시하는 바와 같이, 플레이어가 게임 컨트롤러(1230)의 우 아날로그 레버(1236)로부터 좌방향 입력, 좌 아날로그 레버(1238)로부터 우방향 입력을 동시 입력하면 임의 단축 조작의 입력이 된다. 임의 단축 조작이 입력되면, 플레이어 캐릭터(CP)의 골격 모델(BM)은, 도 5B에 도시하는 바와 같이, 좌측의 상태로부터 우측의 상태로 변경된다. 즉, 전단 노드(2fr)의 다음 연결 노드(2a)가 삭제되고, 또한 후단 노드(2rr)의 다음 연결 노드(2d)가 삭제된다. 그리고, 도 5C에 도시하는 바와 같이, 플레이어 캐릭터(CP)의 표시 모델은, 변경된 골격 모델(BM)에 의거하여 외피가 형성됨에 의해, 좌측의 상태로부터 전체 길이가 축소된 우측의 상태로 변화한다.
한편, 우 아날로그 레버(1236)로부터 좌방향 입력됨과 함께 좌 아날로그 레버(1238)로부터 우방향 입력이 되어 있지만 동시 입력이라고는 간주되지 않는 경우에는, 단지 좌 아날로그 레버(1238)에의 입력에 따른 제 1의 조작력(F1)이 전단 노드(2fr)에 작용하고, 우 아날로그 레버(1236)에의 입력에 따른 제 2의 조작력(F2)이 후단 노드(2rr)에 작용하도록 제어된다. 따라서 도 5D의 경우, 제 1의 조작 력(F1) 및 제 2의 조작력(F2)은 플레이어 캐릭터(CP)의 머리(CPh)와 꼬리(CPt)를 접근하도록 작용한다. 결과, 골격 모델(BM)이 당초 만곡한 상태라면, 도 5D의 좌측의 상태와 같이 노드의 삭제는 행하여지지 않고 전단 노드(2frb) 후단 노드(2rr)가 근접하는 모양으로 되기 때문에, 도 5D의 우측의 상태와 같이 만곡이 보다 강한 상태가 된다.
본 실시 형태에서는, 이와 같이 플레이어 캐릭터(CP)를 조작한다. 따라서, 플레이어의 입장에서 보면, 가능한 한 플레이어 캐릭터(CP)의 머리(CPh)와 꼬리(CPt)가 게임 화면 내에 그려지고, 또한 어느정도 그 주위의 상황이 보이도록 가상 카메라(CM)의 촬영 조건이 제어되는 것이 바람직한 것으로 된다. 또한, 여기서 말하는 「촬영 조건」이란, 가상 카메라(CM)의 월드 좌표계의 위치(보다 상세하게는 주된 촬영 대상인 플레이어 캐릭터(CP)에 대한 상대 위치), 시점 방향, 렌즈의 초점 거리의 설정(또는 화각 설정)을 포함하는 의미이다.
[가상 카메라의 촬영 조건 설정의 원리]
도 6A 내지 도 6B는, 본 실시 형태에서의 가상 카메라의 촬영 조건의 설정 방법을 설명하기 위한 개념도이다. 본 실시 형태에서는 플레이어 캐릭터(CP)를 주된 촬영 대상으로 하는 메인 가상 카메라(CM1)는, 기본적으로 플레이어 캐릭터(CP)를 포함하는 포함영역의 전체가 가상 카메라의 촬영 화상에 수납되도록 촬영 조건이 설정된다.
구체적으로는, 우선 도 6A에 도시하는 바와 같이, 현시점에서의 플레이어 캐릭터(CP)를 포함하는 포함영역(10)을 설정한다. 포함영역(10)은, 바운더리 박스와 마찬가지로, 월드 좌표계의 Xw축·Yw축·Zw축의 각 축에 따른 평면으로 형성된 직육면체이다.
포함영역(10)이 설정되었으면, 게임 화면의 세로폭·가로폭과 비교하기 위한 플레이어 캐릭터(CP)의 대표치수를 구한다.
본 실시 형태에서는, 최장의 대각선(12)을 구한다. 대각선(12)은, 예를 들면 포함영역(10)의 중심(11)을 끼우고 대칭 위치 관계에 있는 XwZw평면에 평행한 복측 평면(월드 좌표계에서 포함영역(10)의 하측의 평면)(14)의 정점과, 배측 평면(월드 좌표계에서 포함영역(10)의 상측의 평면)(18)의 정점을 잇는 4개의 선분으로 된다. 또한, 도 6A에서는, 대각선(12)으로서 배측 평면(14)에서의 머리부에 가까운 정점(16)부터, 배측 평면(18)에서 꼬리부에 가까운 정점(20)을 잇는 선분을 나타내고 있다.
구하여진 4개의 대각선을 대표치수 산출을 위한 기초 치수의 후보로 하고, 각각 메인 가상 카메라(CM1)의 촬영 화상의 화상 좌표계에 투영하여, 투영 선분(21)의 화상 좌표계의 Xc축성분 투영 치수(Lx) 및 Yc축성분 투영 치수(Ly)를 구한다. 그리고, 구하여진 Xc축성분 투영 치수(Lx)의 최대치, Yc축성분 투영 치수(Ly)의 최대치를 각각 구한다. 이들이 게임 화면의 세로폭·가로폭과 비교하기 위한 플레이어 캐릭터(CP)의 각 축방향의 대표치수가 된다.
대표치수를 구하였다면, 또한 양자를 비교하여 어느 큰 쪽의 투영 치수(Lm)(도 6B의 경우 Xc축성분 투영 치수(Lx))를 선택하고, 선택된 투영 치수(Lm)가 대응하는 화상 좌표축 방향의 화면폭(Wx)(=메인 가상 카메라(CMl)의 촬영 화상의 세로 치수) 또는 화면폭(Wy)(=메인 가상 카메라(CM1)의 촬영 화상의 가로 치수)에 대해 소정 비율(80%)을 이루도록, 메인 가상 카메라(CM1)의 촬영 조건을 결정한다.
예를 들면, 화각(θc)을 고정으로 한다면, 가상 카메라(CM)의 시선 방향(26)을 포함영역(10)의 중심(11)에 향하게 하고, 다음 식(1)에서 중심(11)으로부터 가상 카메라(CM)의 적정 촬영 거리(Lc)를 기하학적으로 구한다.
적정 촬영 거리(Lc)={(100/80)×Lm)}/{2×tan(θc/2)} … (1)
물론, 적정 촬영 거리(Lc)를 일정하게 하여 화각(θc)을 구하는 구성으로 하여도 좋고, 그 경우도 기하학적으로 화각(θc)을 구할 수 있다. 또한, 적정 촬영 거리(Lc)와 화각(θc)의 양쪽을 구하는 것으로 하여도 좋다. 예를 들면, 게임의 연출상의 관점에서 플레이어 캐릭터(CP)를 돌아 들어가도록 메인 가상 카메라(CM1)를 이동시킨다는 카메라 워크를 시키고 싶은 경우에는, 미리 카메라 워크를 정의하는 데이터를 정의하고, 이 데이터에 따라 배치 위치를 결정하고 나서 화각(θc)을 구한다. 즉, 먼저 적정 촬영 거리(Lc)를 결정하고, 결정한 적성 촬영 거리(Lc)에 의거하여 화각(θc)을 구한다고 하여도 좋다.
메인 가상 카메라(CM1)를, 플레이어 캐릭터(CP)에 대해 좌우 어느 방향에 배치하는지는 적절히 설정할 수 있다. 예를 들면, 본 실시 형태에서는 좌 아날로그 레버(1238)로부터의 조작 입력에 따라 머리(CPh)의 이동이 제어되고, 우 아날로그 레버(1236)로부터의 조작 입력에 따라 꼬리(CPt)의 이동이 제어되기 때문에, 플레이어 캐릭터(CP)의 좌측을 촬영하도록, 플레이어 캐릭터(CP)에게서 좌측에 가상 카메라(CM)를 배치하면 바람직하다. 왜냐하면, 게임 화면의 좌측에 플레이어 캐릭 터(CP)의 머리(CPb), 화면 우측에 꼬리(CPt)가 비춰지게 되기 때문에 게임 컨트롤러(1230)에서의 입력 수단의 배치 관계와 좌우의 위치 관계가 합치하여 자연스러운 조작감을 얻을 수 있기 때문이다.
이 결과, 플레이어가 플레이어 캐릭터(CP)를 조작하는데 기점(基点)이 되는 플레이어 캐릭터(CP)의 머리(CPh)와 꼬리(CPt)가 항상 메인 가상 카메라(CM1)에 의해 찍혀짐과 함께, 어느 정도 그 주위가 찍히도록 제어된다. 이 경우라도, 대표치수를 산출한 처리는 매우 간단하다.
[서브 화면 표시의 설명]
그런데, 본 실시 형태는 상기한 바와 같이 메인 가상 카메라(CM1)의 촬영 조건을 적당하게 설정한 경우라도, 예를 들면 빌딩의 배후가 되어 보이지 않게 된다는 식으로, 플레이어 캐릭터(CP)(피사체)와 메인 가상 카메라(CM1) 사이에 장애물이 존재하고, 반드시 플레이어 캐릭터(CP)의 전신(全身)이 촬영된다고는 한할 수 없다. 그래서, 플레이어 캐릭터(CP)를 촬영하는 서브 가상 카메라를 별도설정하고, 서브 가상 카메라로 촬영한 화상을 별도로, 서브 화면에서 표시하도록 제어한다.
도 7은, 본 실시 형태에서 서브 가상 카메라의 설정과, 서브 화면 표시를 설명하기 위한 개념도이다. 도 7의 상측이 게임 공간을, 하측이 게임 화면을 도시하고 있다. 도 7에 도시하는 바와 같이, 본 실시 형태에서는 플레이어 캐릭터(CP)의 전신을 촬영하는 메인 가상 카메라(CM1)에 더하여, 머리(CPh)를 부분 촬영하는 제 1의 서브 가상 카메라(CM2)와, 꼬리(CPb)를 부분 촬영하는 제 2의 서브 가상 카메라(CM3)가 설정된다. 그리고, 도 7의 하측에 도시하는 바와 같이, 제 1의 서브 가 상 카메라(CM2) 및 제 2의 서브 가상 카메라(CM3)로 촬영된 각각의 화상은, 메인 가상 카메라(CM1)로 촬영된 화상을 베이스로 하는 주게임 화면(W1)상에, 그것보다도 화상 사이즈가 작은 서브 화면(W2, W3)으로서 겹쳐서 표시된다.
이 결과, 가령 메인 가상 카메라(CM1)와 플레이어 캐릭터(CP) 사이에 다른 오브젝트가 장애물로서 존재하고, 일시적으로 머리(CPh)나 꼬리(CPt)가 보이지 않는 상태라도, 서브 화면(W2, W3)으로 그들 각 부분의 상태를 볼 수 있도록 되기 때문에, 플레이어는 플레이어 캐릭터(CP)의 상태를 빠짐 없이(보다 정확하게는, 직접적인 조작 대상의 부위인 양단부의 상태를 빠짐 없이) 인식 가능해진다. 따라서, 조작성이 향상하고, 예를 들면 머리(CPh)를 움직이고 싶은데 게임 화면에 비치지 않는다는 사태가 일어나서 게임 조작에 지장이 생기는 것을 막을 수 있다. 또한, 본 실시 형태에서는 서브 가상 카메라는 이벤트의 발생(발동)에 수반하여도 설정된다. 여기서 말하는 「이벤트」란, 게임의 진행에 따라 특별히 다른 오브젝트가 등장하거나, 이미 게임 공간에 배치되어 있는 오브젝트가 소정의 타이밍에서 어떠한 동작을 시작한다는 일련의 제어를 말한다. 예를 들면, 적(敵) 캐릭터의 등장이나, 건널 수 없던 강에 쓰러진 나무가 쓰러져서 다리가 가설된다는 내용이 고려된다. 그리고, 이벤트의 발생 조건을 충족시켜서 해당 이벤트가 발생한 경우, 이벤트에 수반하여 등장한 캐릭터나 자동 제어된 캐릭터를 피사체로 하는 서브 가상 카메라의 일종으로서 이벤트 가상 카메라(CM4)가 설정되고, 촬영된 화상은 마찬가지로 서브 화면(W4)으로서 주게임 화면(W1)상에 팝업 표시된다.
본 실시 형태에서는, 이벤트 가상 카메라(CM4)의 촬영 조건은, 피사체가 되 는 캐릭터를 비추도록 설정됨과 함께, 화각 내에 플레이어 캐릭터(CP)의 일부가 찍히도록 설정되는 경우를 포함한다. 따라서, 이벤트가 발생하면 서브 화면(W4)이 새롭게 표시되고, 이것을 봄으로써 플레이어는, 게임 공간 내에서 어떤 사태가 일어난 것인가, 그리고 그것은 어느 곳에서 일어나고 있는지를 즉석에서 아는 것이 가능해진다.
본 실시 형태와 같이 끈모양체의 캐릭터의 양단을 이동시키도록 하여 조작하는 게임에서는, 조작감과 조작성을 유지하기 위해서는, 앞서 기술한 바와 같이 게임 화면 내에 플레이어 캐릭터(CP)를 어느 정도 크게 표시하지 않으면 안된다. 이것은 역으로 주위의 상황이 찍히는 범위를 작게 하는 것으로도 되기 때문에, 주위의 상황이 인식하기 어렵고 조작성을 저하시키는 원인이 될 수 있다. 그러나, 본 실시 형태와 같이 이벤트 가상 카메라(CM4)를 설정하고, 그 촬영 화상을 서브 화면 표시함으로써, 그러한 불리한 요인을 제거하는 것도 가능해진다.
[기능 블록의 설명]
다음에, 상술한 바와 같은 특징을 실현하기 위한 기능 구성에 관해 설명한다.
도 8은, 본 실시 형태에서 기능 구성의 한 예를 도시하는 기능 블록도이다. 도 8에 도시하는 바와 같이 본 실시 형태에서는, 조작 입력부(100)와, 처리부(200)와, 소리 출력부(350)와, 화상 표시부(360)와, 통신부(370)와, 기억부(500)를 구비한다.
조작 입력부(100)는, 플레이어에 의해 행하여진 각종의 조작 입력에 따라 조 작 입력 신호를 처리부(200)에 출력한다. 도 1에서는, 게임 컨트롤러(1230)가 조작 입력부(100)에 해당한다. 그리고, 본 실시 형태에서의 조작 입력부(100)는 하나의 입력 조작으로 적어도 2축의 방향 입력을 가능하게 하는 제 1 방향 입력부(102) 및 제 2 방향 입력부(104)를 구비한다.
제 1 방향 입력부(102) 및 제 2 방향 입력부(104)는, 예를 들면 아날로그 레버나 트랙 패드, 마우스, 트랙 볼, 터치 패널에 의해 실현된다. 또한, 적어도 2축 이상의 검출축을 갖는 다축 검출형 가속도 센서 또는 검출축 방향을 달리하여 조합된 단축(single axis) 검출형 가속도 센서의 집합, 적어도 2방향 이상의 검출 방향을 가능하게 하는 다방향 검출형 경사 센서 또는 검출 방향을 달리하여 조합된 단(single)방향 검출형 경사 센서의 집합 등에 의해서도 실현할 수 있다. 본 실시 형태의 제 1 방향 입력부(102) 및 제 2 방향 입력부(104)는, 도 1의 우 아날로그 레버(1236) 및 좌 아날로그 레버(1238)가 해당하고, 플레이어 캐릭터(CP)의 머리(CPh) 및 꼬리(CPt) 각각의 이동 방향과 이동량의 입력에 사용된다.
처리부(200)는, 예를 들면 마이크로 프로세서나 ASIC(특정 용도용의 집적 회로), IC 메모리 등의 전자 부품에 의해 실현되고, 조작 입력부(100)나 기억부(500)를 포함하는 게임 장치(1200)의 각 기능부 사이에서 데이터의 입출력을 행함과 함께, 소정의 프로그램이나 데이터, 조작 입력부(100)로부터의 조작 입력 신호에 의거하여 각종의 연산 처리를 실행하여, 게임 장치(1200)의 동작을 제어한다. 도 1에서는, 게임 장치 본체(1201)에 내장된 제어 유닛(1210)이 처리부(200)에 해당한다.
그리고 본 실시 형태에서의 처리부(200)는, 게임 연산부(210)와, 소리 생성 부(250)와, 화상 생성부(260)와, 통신 제어부(270)를 구비한다.
게임 연산부(210)는, 게임의 진행에 관한 처리를 실행한다. 예를 들면, 게임 공간을 가상 공간중에 형성하는 처리나, 가상 공간중에 배치된 플레이어 캐릭터(CP) 이외의 캐릭터의 동작 제어 처리, 히트 판정 처리, 물리 연산 처리, 게임 결과의 산출 처리, 외피의 형성 처리가 실행 대상에 포함된다. 그리고 본 실시 형태의 게임 연산부(210)는, 캐릭터 제어부(212)와, 가상 카메라 제어부(214)를 포함하고 있다.
캐릭터 제어부(212)는, 플레이어 캐릭터(CP)의 오브젝트의 크기 및/또는 형상을 변화시켜서 동작 제어를 실행한다. 예를 들면 플레이어 캐릭터(CP)의 신축 처리 및 이동 처리를 행한다. 또한, 플레이어 캐릭터 이외의 논플레이어 캐릭터(NPC)의 동작 제어도 실행한다.
가상 카메라 제어부(214)는, 가상 카메라의 제어에 관한 처리를 실행한다. 본 실시 형태에서는 메인 가상 카메라(CM1), 서브 가상 카메라(CM2 및 CM3), 이벤트 가상 카메라(CM4)의 촬영 조건을 설정하는 처리나, 가상 카메라의 배치나 삭제의 처리, 가상 카메라의 이동 제어 처리가 실행 대상에 포함된다.
소리 생성부(250)는, 예를 들면 디지털 시그널 프로세서(DSP) 등의 프로세서나 그 제어 프로그램에 의해 실현되고, 게임 연산부(210)에 의한 처리 결과에 의거하여 게임에 관한 효과음이나 BGM, 각종 조작음의 음신호를 생성하고, 소리 출력부(350)에 출력한다.
소리 출력부(350)는, 소리 생성부(250)로부터 입력되는 음신호에 의거하여 효과음이나 BGM 등을 소리 출력하는 장치에 의해 실현된다. 도 1에서는 비디오 모니터(1220)의 스피커(1224)가 이것에 해당한다.
화상 생성부(260)는, 예를 들면, 디지털 시그널 프로세서(DSP) 등의 프로세서, 그 제어 프로그램, 프레임 버퍼 등의 묘화 프레임용 IC 메모리 등에 의해 실현된다. 화상 생성부(260)는, 게임 연산부(210)에 의한 처리 결과에 의거하여 1프레임 시간(1/60초)에 1장의 게임 화상을 생성하고, 생성한 게임 화상의 화상 신호를 화상 표시부(360)에 출력한다.
그리고, 본 실시 형태에서는, 화상 생성부(260)는 서브 화면 표시 제어부(262)를 구비한다.
서브 화면 표시 제어부(262)는, 메인 가상 카메라(CMl)로 촬영된 화상, 서브 가상 카메라(CM2)로 촬영된 화상, 서브 가상 카메라(CM3)로 촬영된 화상, 이벤트 가상 카메라(CM4)로 촬영된 화상을 포함하는 화상군중, 어느 하나의 화상을 주게임 화면(W1)으로서 표시시킴과 함께, 그 밖의 화상을 서브 화면(W2 내지 W4)으로서 주게임 화면에 합성 표시하는 제어를 실행한다. 또한, 플레이어에 의한 서브 화면의 선택·전환 조작에 따라 주게임 화면(W1)에 표시하는 화상과 서브 화면에 표시하는 화상을 전환하는(교체하는) 처리를 실행한다.
화상 표시부(360)는, 화상 생성부(260)로부터 입력되는 화상 신호에 의거하여 각종 게임 화상을 표시한다. 예를 들면, 플랫 패널 디스플레이, 브라운관(CRT), 프로젝터, 헤드 마운트 디스플레이라는 화상 표시 장치에 의해 실현할 수 있다. 도 1에서는 비디오 모니터(1220)의 디스플레이(1222)가 해당한다.
통신 제어부(270)는, 데이터 통신에 관한 데이터 처리를 실행하고, 통신부(370)를 통하여 외부 장치와의 데이터의 교환을 실현한다.
통신부(370)는, 통신 회선(2)과 접속하여 통신을 실현한다. 예를 들면, 무선 통신기, 모뎀, TA(터미널 어댑터), 유선용의 통신 케이블의 잭이나 제어 회로 등에 의해 실현되고, 도 1에서는 통신 장치(1212), 근거리 무선 모듈(1214)이 이에 해당한다.
기억부(500)는, 처리부(200)에 게임 장치(1200)를 통합적으로 제어시키기 위한 여러 기능을 실현하기 위한 시스템 프로그램이나, 게임을 실행시키기 위해 필요한 게임 프로그램, 각종 데이터 등을 기억한다. 또한, 처리부(200)의 작업 영역으로서 이용되고, 처리부(200)가 각종 프로그램에 따라 실행한 연산 결과나 조작부(100)로부터 입력되는 입력 데이터 등을 일시적으로 기억한다. 이 기능은, 예를 들면 RAM이나 R0M 등의 IC 메모리, 하드 디스크 등의 자기 디스크, CD―R0M이나 DVD 등의 광학 디스크 등에 의해 실현된다.
본 실시 형태에서는, 기억부(500)는 시스템 프로그램(501)과, 게임 프로그램(502)과, 서브 화면 표시 제어 프로그램(508)을 기억하고 있다. 게임 프로그램(502)은 또한 캐릭터 제어 프로그램(504)과, 가상 카메라 제어 프로그램(506)을 포함하고 있다.
처리부(200)가 게임 프로그램(502)을 판독하여 실행함으로써, 처리부(200)에 게임 연산부(210)로서의 기능을 실현시킬 수 있다. 또한, 처리부(200)가 서브 화면 표시 제어 프로그램(508)을 판독하여 실행함으로써, 화상 생성부(260)에 서브 화면 표시 제어부(262)로서의 기능을 실현시킬 수 있다.
또한, 기억부(500)에는, 미리 준비된 데이터로서 게임 공간 설정 데이터(520), 캐릭터 초기 설정 데이터(522), 이벤트 설정 데이터(532), 메인 가상 카메라 초기 설정 데이터(536), 머리부 촬영 조건 후보 데이터(538), 꼬리부 촬영 조건 후보 데이터(540), 이벤트 촬영 조건 후보 데이터(542)가 기억되어 있다.
또한 게임의 진행에 수반하여 수시로 재기록되는 데이터로서, 캐릭터 제어 데이터(524), 작용력 데이터(530), 포함영역 설정 데이터(534), 촬영 조건 데이터(544), 화면 표시 위치 설정 데이터(546)를 기억한다. 또한, 게임의 진행에 관한 처리를 실행함에 있어서 적절히 필요해지는 타이머 값 등도 기억된다. 본 실시 형태에서는, 노드 증감 허가 타이머(548), 촬영 조건 변경 허가 타이머(550)를 포함하는 각종 타이머의 타이머 값이 일시적으로 기억된다.
게임 공간 설정 데이터(520)에는, 가상 공간에 게임 공간을 형성하기 위한 각종 데이터가 격납되어 있다. 예를 들면, 플레이어 캐릭터(CP)가 이동하는 지표나 건물을 포함하는 배치물에 관한 모델 데이터나 텍스쳐 데이터 및 모션 데이터가 포함된다.
캐릭터 초기 설정 데이터(522)에는, 플레이어 캐릭터(CP)의 초기 설정 데이터가 격납되어 있다. 본 실시 형태에서는, 게임 스타트시에서 플레이어 캐릭터(CP)는 어느 일정한 길이의 몸통(CPb)을 갖도록 설정되어 있다. 즉, 소정 수의 노드(2)가 배열된 골격 모델(BM) 및 그 히트 판정 모델(HM)에 관한 데이터가 격납되어 있다. 또한, 플레이어 캐릭터(CP)의 머리(CPh)나 꼬리(CPt)의 모델 데이터, 몸 통(CPb)의 부분에 외피를 형성할 때의 텍스쳐 데이터 등이 격납되어 있다.
그리고, 플레이어 캐릭터(CP)를 게임 실행중에 제어하기 위한 데이터는, 캐릭터 제어 데이터(524)에 격납된다. 도 9는, 본 실시 형태에서의 캐릭터 제어 데이터(524)의 데이터 구성 예를 도시하는 도면이다. 도 9에 도시하는 바와 같이, 캐릭터 제어 데이터(524)는, 그 시점에서의 플레이어 캐릭터(CP)의 골격 모델에 관한 데이터인 제어 데이터(525)를 포함한다.
골격 모델 제어 데이터(525)에는, 노드 식별 정보(525a)에 대응시켜서, 해당 노드의 게임 공간 좌표계에서의 위치 좌표(525b)와, 머리측 연결 노드 식별 정보(525c)와, 꼬리측 연결 노드 식별 정보(525d)와, 이펙터 정보(525e)가 격납되어 있다.
머리측 연결 노드 식별 정보(525c) 및 꼬리측 연결 노드 식별 정보(525d)로서는, 해당 노드의 배열순 전후(머리측이 앞이고 꼬리측이 뒤)에 연결되어 있는 노드의 식별 정보가 설정된다. 즉, 전자는 해당 노드의 머리측(전방측)에 연결되어 있는 노드를 정의하고, 후자는 해당 노드의 꼬리측(후방측)에 연결되어 있는 노드를 정의한다. 전단 노드(2fr) 또는 후단 노드(2rr)인 경우에는, 그 앞에 연결하는 노드가 없는 것으로 되기 때문에, 예를 들면 도 9에 도시하는 바와 같이 「NULL」이 격납된다.
이펙터 정보(525e)는, 해당 노드가 우 아날로그 레버(1236) 또는 좌 아날로그 레버(1238)로부터의 조작 입력에 따른 가상력(조작력)이 작용되는 노드인지의 여부를 나타내고 있다. 예를 들면 도 9와 같이, 우 아날로그 레버(1236)에 의한 조 작 입력에 따른 가상력이 작용하는 노드에는 「2」, 좌 아날로그 레버(1238)에 의한 조작 입력에 따른 가상력이 작용하는 노드에는 「1」, 그 밖에는 「0」이 격납되어 있다.
그리고, 본 실시 형태에서 플레이어 캐릭터(CP)를 늘리는 경우에는, 골격 모델 제어 데이터(525)에 새롭게 노드를 추가 등록하고, 줄이는 경우에는 등록되어 있는 노드를 삭제하는 제어를 실행한다. 노드가 추가 또는 삭제됨에 의해 골격 모델(BM)이 늘어나거나 줄어들거나 한다.
작용력 데이터(530)에는, 각 노드에 작용하고 있는 힘에 관한 정보가 격납된다.
도 10은, 본 실시 형태에서의 작용력 데이터(530)의 데이터 구성 예를 도시하는 도면이다.
도 10에 도시하는 바와 같이, 예를 들면 노드 식별 정보(530a)에 대응시켜서, 조작력 벡터(530b), 외력 벡터(530c), 및 이들의 힘의 합력에 해당하는 작용력 벡터(530d)가 격납되어 있다. 그 밖에, 게임중에 플레이어 캐릭터(CP)의 동작 제어에 영향을 주는 힘을 적절히 설정할 수 있다.
조작력 벡터(530b)는, 우 아날로그 레버(1236) 또는 좌 아날로그 레버(1238)에 의한 조작 입력에 따라 설정되는 가상력(=조작력)이, 이펙터 정보(525e)에서 설정된 노드에 작용하고, 또한 골격 모델(BM)의 연결 구조에 따라 각 노드에 작용하고 있는 힘의 벡터를 격납한다. 즉, 이펙터 정보(525e)에서 「2」가 격납되어 있는 노드에는 우 아날로그 레버(1236)에의 조작 입력에 따른 조작력이 직접 작용하기 때문에, 해당 조작력이 그대로의 상태로 격납된다.
한편, 몸통부분에 해당하는 노드에는 조작력이 직접적으로는 작용하지 않지만, 선단의 노드로부터 순차적으로 연결한 설정이기 때문에, 연결자(4)를 전하여서 작용한 결과로서의 힘이 격납된다. 따라서 그 시점에서의 골격 모델(BM)이 일직선상(上)이고, 그 직선상(上) 연장 방향(늘리는 방향)이라면, 선두의 노드에 작용한 조작력과 같은 조작력이 각 노드의 조작력 벡터(530b)에 격납되지만, 골격 모델(BM)이 만곡하고 있는 경우에는 노드 사이의 연결 관계에 따라 선두의 노드에 작용한 조작력의 연결자 방향 성분의 분력이 격납되게 것이 된다.
외력 벡터(530c)는, 게임 공간 자체에 장(場)으로서 설정되어 있는 힘이나, 게임 공간에 배치되어 있는 다른 오브젝트의 영향에 의해 작용하는 가상력을 격납한다. 예를 들면, 중력, 다른 오브젝트와의 충돌이나 접촉에 의해 생기는 힘, 환경풍을 받으므로서 생기는 힘, 등이 이것에 포함된다. 그 밖에, 전자력이나, 플레이어 캐릭터(CP)가 좋아하는 음식에 이끌리는 양상을 나타내는 가상력 등 적절히 포함할 수 있다.
이벤트 설정 데이터(532)에는, 이벤트의 발생에 필요한 데이터가 격납되어 있다. 예를 들면, 이벤트마다 해당 이벤트를 발생(발동)시키기 위한 발생 조건, 이벤트에서 등장하는 또는 동작되는 오브젝트의 데이터 및 모션 데이터, 해당 이벤트가 종료되었다고 판정하기 위한 종료 조건, 등이 포함된다.
포함영역 설정 데이터(534)는, 메인 가상 카메라(CM1)의 촬영 조건을 결정하기 위해 필요한 포함영역(10)을 정의하는 데이터를 격납한다. 예를 들면, 포함영 역(10)의 각 정점의 좌표치나 중심(11)의 좌표치, 대각선(12)의 정보를 격납한다.
메인 가상 카메라 초기 설정 데이터(536)는, 메인 가상 카메라(CM1)의 촬영 조건의 초기 설정을 격납하고 있다. 구체적으로는, 메인 가상 카메라(CM1)의 촬영 조작을 결정할 때에 이용되는 임시 배치 위치를 산출하기 위한 플레이어 캐릭터(CP)에 대한 상대 위치 좌표, 시선 방향 벡터, 초기 상태의 화각(렌즈의 초점 거리라도 가(可)) 등이 정의되어 있다.
머리부 촬영 조건 후보 데이터(538) 및 꼬리부 촬영 조건 후보 데이터(540)는, 서브 가상 카메라로 플레이어 캐릭터(CP)의 소정 부분을 촬영하는 촬영 조건의 선택지를 격납하고 있다. 전자가, 머리(CPh)를 피사체로 하는 제 1의 서브 가상 카메라(CM2)에 적용되고, 후자가 꼬리(CPt)를 피사체로 하는 제 2의 서브 가상 카메라(CM3)에 적용된다. 이들의 데이터에 격납되어 있는 촬영 조건의 후보는, 촬영되는 부위에 따라 게임의 조작성과 연출의 관점에서 적당하게 설정되어 있다.
도 11A는, 본 실시 형태에서의 머리부 촬영 조건 후보 데이터(538)의 데이터 구성의 한 예를 도시하는 도면이고, 도 11B는, 도 11A의 한 예에서의 촬영 조건의 개요를 도시하는 도면이다. 도 11A에 도시하는 바와 같이, 머리부 촬영 조건 후보 데이터(538)에는, 설정 번호(538a)마다, 게임의 조작성과 연출의 관점에서 적응적으로 정해진 촬영 조건(538b)이 대응시켜서 격납되어 있다. 촬영 조건(538b)에는, 예를 들면 플레이어 캐릭터(CP)의 대표점에 대한 상대 위치 좌표나, 시선 방향의 앞을 나타내는 주시점, 화각을 결정하기 위한 렌즈의 초점 거리가 포함된다.
본 실시 형태에서는, 촬영 화상 내에 머리(CPh)와 그 주위가, 어떤 촬영 범 위 내에 수납되도록 설정된 촬영 조건(설정 번호(538a)가 CS01, CS02인 예)이나, 머리부(CPh)의 후방 또는 꼬리부(CPt)의 위치로부터 해당 부위의 이동 방향에 따른 방향으로 시선 방향을 향하도록 설정된 촬영 조건(설정 번호(538a)가 CS03, CS04인 예), 머리(CPh)의 정면과 그 주위를 촬영하도록 설정된 촬영 조건, 등이 포함된다. 그 밖에, 머리부(CPh)의 정면 경사 위에서 촬영 화상 내에 머리(CPh)와 그 주위가, 어느 촬영 범위 내에 수납되도록 설정된 촬영 조건 등, 머리부(CPh)를 이동시킬 때에 주위의 상황을 알기 쉽다고 생각되는 설정을 적절히 설정하면 좋다.
또한, 꼬리부 촬영 조건 후보 데이터(540)는, 기본적으로 촬영 대상으로 되는 부분이 다를뿐이고, 촬영 조건의 설정의 사고방식은 마찬가지이고, 머리부 촬영 조건 후보 데이터(538)와 같은 데이터 구성을 갖는다. 머리(CPh), 꼬리(CPt) 이외에도 부분 촬영하는 경우에는, 마찬가지로 대응하는 촬영 조건 후보 데이터를 적절히 추가한다.
이벤트 촬영 조건 후보 데이터(542)는, 이벤트 가상 카메라(CM4)로 이벤트 캐릭터(CI)를 촬영할 때의 촬영 조건의 선택지를 격납하고 있다.
도 12A는, 본 실시 형태에서의 이벤트 촬영 조건 후보 데이터(542)의 데이터 구성의 한 예를 도시하는 도면이고, 도 12B는, 도 12A의 개요를 도시하는 도면이다. 도 12A에 도시하는 바와 같이, 이벤트 촬영 조건 후보 데이터(542)에는, 이벤트 설정 데이터(532)에서 정의되어 있는 이벤트의 이벤트 번호(542a)에 대응시켜서 설정 번호(542b) 및 촬영 조건(542c)이 격납되어 있다. 촬영 조건(542c)에는, 예를 들면 이벤트 캐릭터(IC)의 대표점에 대한 이벤트 가상 카메라(CM4)의 위치를 나타 내는 상대 위치 좌표나, 시선 방향(또는 주시점), 화각을 결정하기 위한 렌즈의 초점 거리가 포함된다. 본 실시 형태에서는, 이벤트 캐릭터(CI)의 적어도 일부가 이벤트 가상 카메라(CM4)로 촬영되는 화상에 찍히고, 또한 동 화상 내에 플레이어 캐릭터(CP)의 일부가 찍히도록 고려된 촬영 조건(설정 번호(542b)가 CS11, CS12인 예)이나, 이벤트 캐릭터(CI)와 그 주위를 촬영 조건(설정 번호(542b)가 CS13인 예)이 포함된다.
전자와 같은 촬영 조건을 이벤트 가상 카메라(CM4)로 촬영되는 화상 내에 이벤트 캐릭터와 플레이어 캐릭터의 양쪽이 찍히도록 설정하는 것은, 플레이어에 양 캐릭터의 상대 위치 관계를 보이게 하기 위해서이고, 플레이어 캐릭터(CP)를 어떻게 조작하면 좋은지 판단하기 쉽게 하기 위해서다. 그러나, 게임의 내용에 의해서는 이벤트 캐릭터의 상대 위치를 불분명으로 한 쪽이 연출상 사정이 좋은 경우에는, 후자와 같은 촬영 조건, 즉 이벤트 캐릭터(IC)가 화각 내에 들어가지만 플레이어 캐릭터(CP)는 들어가지 않는다는 촬영 조건만으로 구성하게 하여도 좋다.
촬영 조건 데이터(544)에는, 게임 실행중에서의 현재의 가상 카메라의 촬영 조건을 포함하는 가상 카메라의 제어에 관한 정보를 격납한다. 예를 들면, 현재의 가상 카메라의 월드 좌표계에서의 위치 좌표치, 가상 카메라의 시선 방향, 화각(θc)이 포함된다.
화상 표시 위치 설정 데이터(546)에는, 주게임 화면, 각 서브 화면의 표시 위치, 표시 형태에 관한 정보가 격납되어 있다.
도 13A는, 본 실시 형태에서의 화상 표시 위치 설정 데이터(546)의 데이터 구성의 한 예를 도시하는 도면이고, 도 13B는, 도 13A의 데이터 구성의 개요를 도시하는 도면이다. 도 13A에 도시하는 바와 같이 화상 표시 위치 설정 데이터(546)에는, 화면 종류(546a)의 주게임 화면, 제 1 서브 화면, 제 2 서브 화면, 이벤트 서브 화면 각각에 대응시켜서, 화면 표시 범위 좌표(546b)와, 해당 화면에 표시되는 화상의 소스가 어느 가상 카메라인지를 정의하는 대응 가상 카메라(546c)가 격납된다. 본 실시 형태에서는, 플레이어에 의한 서브 화면의 선택·전환 조작에 따라 주게임 화면에 표시되는 화상이나 서브 화면에 표시되는 화상을 전환하는 제어를 행하는데, 그 경우 해당하는 화면 종류(546a)에 대응하는 대응 가상 카메라(546c)의 정의를 교체한다.
또한, 주게임 화면(W1)의 크기는, 디스플레이(1222)의 화상 표시 범위의 크기에 상당하고, 화면 전체에서 표시하도록 설정되어 있다. 또한, 도 13A 내지 도 13B의 예에서는 서브 가상 카메라가 2개, 이벤트 가상 카메라가 하나 등록된 예로 되어 있지만, 게임의 내용이나 플레이어 캐릭터의 디자인 등에 따라, 서브 가상 카메라나 이벤트 가상 카메라의 수는 적절히 설정 가능하다. 또한, 서브 화면(W2 내지 W4)의 표시 위치나 표시 형태도 도 13B의 예로 한하는 것이 아니다. 예를 들면, 서브 화면(W2 내지 W4)을 주게임 화면(W1)과 병렬 표시하는(타일형상으로 나열하여 표시하는(단, 주게임 화면의 크기의 쪽이 서브 화면보다 큰 타일로 한다)) 형태로 하여도 좋다.
노드 증감 허가 타이머(548)는, 시간 경과를 계시하는 타이머의 카운트 값을 격납한다. 본 실시 형태에서는, 플레이어 캐릭터(CP)의 신장 또는 단축의 제어가 행하여지지 않는 상태의 시간 경과를 계시한다. 계시된 시간, 즉 카운트 값이 소정의 기준에 미치지 못하는 동안은, 플레이어 캐릭터(CP)의 신축 제어가 제한되어 실행되지 않는다.
촬영 조건 변경 허가 타이머(550)는, 소정치로부터 카운트 다운하여 촬영 조건의 재설정이 허가되는 시간 간격을 계시한다. 즉, 본 실시 형태에서는 본 타이머가 기준 시간이 계시될 때마다, 촬영 조건의 변경이 허가된다. 또한, 게임 시작 시점에서의 촬영 조건 변경 허가 타이머(550)의 초기치는 「0」이다.
[동작의 설명]
다음에, 본 발명의 동작에 관해 설명한다.
도 14는, 본 실시 형태에서의 처리의 흐름을 설명하기 위한 플로우 차트이다. 여기서 설명되는 처리는, 처리부(200)가 시스템 프로그램(501), 게임 프로그램(502) 및 서브 화면 표시 제어 프로그램(508)을 판독하여 실행함으로써 실현된다.
도 14에 도시하는 바와 같이, 게임 연산부(210)는 우선 게임 공간 설정 데이터(520), 캐릭터 초기 설정 데이터(522), 메인 가상 카메라 초기 설정 데이터(536)를 참조하여, 가상 공간중에 게임 공간을 형성함과 함께, 형성한 게임 공간에 플레이어 캐릭터(CP)와, 플레이어 캐릭터(CP)를 촬영하는 메인 가상 카메라(CM1)를 배치한다(스텝 S2).
플레이어 캐릭터(CP)의 배치에 수반하여, 캐릭터 제어 데이터(524)의 골격 모델 제어 데이터(525)에 초기 상태의 골격 모델(BM)이 등록되고, 등록된 골격 모 델(BM)에 따라 외피를 형성 처리하여 플레이어 캐릭터(CP)의 표시 모델이 게임 공간에 배치된다. 골격 모델(BM)에 외피를 형성하는 처리는, 공지의 기술을 적절히 이용 가능하기 때문에 상세한 설명은 생략한다. 촬영 조건 데이터(544)에는, 메인 가상 카메라(CM1)의 초기의 촬영 조건이 격납된다. 또한, 게임 스타트 시점부터 게임 공간에 배치되는 NPC가 있는 경우에는, 이 단계에서 배치한다.
다음에, 게임이 시작되었으면, 게임 연산부(210)는, 미리 동작이 설정되어 있는 오브젝트(예를 들면, NPC 등)의 동작을 제어한다(스텝 S4). 예를 들면, 바람에 나부끼는 나무들, 비행선, 플레이어 캐릭터(CP)의 이동을 방해한 완구의 자동차 등을 설정한다면, 각각 소정의 모션 데이터에 의거하여 이동 제어한다.
다음에, 게임 연산부(210)는, 플레이어의 조작 입력에 따라 플레이어 캐릭터(CP)를 신장 또는 단축시키는 임의 신축 처리를 실행한다((스텝 S6).
도 15는, 본 실시 형태에서 임의 신축 처리의 흐름을 설명하기 위한 플로우 차트이다. 도 15에 도시하는 바와 같이, 임의 신축 처리에서는 우선, 게임 연산부(210)가 노드 증감 허가 타이머(548)의 카운트를 소정 수 가산하고(스텝 S30), 가산한 후의 노드 증감 허가 타이머(548)의 카운트 값이 기준치에 달하고 있는지의 여부를 판정한다(스텝 S32).
노드 증감 허가 타이머(548)의 카운트 값이 기준치에 달하고 있지 않으면(스텝 S32의 N0), 임의 신축 처리를 그대로 종료한다.
한편, 노드 증감 허가 타이머(548)의 카운트 값이 기준치에 달하고 있는 경우(스텝 S32의 YES), 게임 연산부(210)는 또한 소정의 임의 신장 조작이 입력되어 있는지의 여부를 판정한다(스텝 S34). 구체적으로는, 우 아날로그 레버(1236)로부터 우방향 입력되고, 동시에 좌 아날로그 레버(1238)로부터 좌방향 입력이 입력되었는지의 여부를 판정한다. 즉, 제 1 방향 입력부(102)와 제 2 방향 입력부(104)로부터, 동시 입력이라고 간주될 정도의 시간차로, 서로 상반하는 방향으로 방향 입력되었는지의 여부를 판정한다. 따라서, 좌우로 한하지 않고 양 레버로 상하 엇갈리게 입력되는 경우에도 임의 신장 조작이 입력되었다고 판정하는 구성으로 하여도 좋다.
그리고, 임의 신장 조작이 입력되었다고 판정된 경우(스텝 S34의 YES), 게임 연산부(210)는, 전단 노드(머리(CPh)의 노드)를 접속자(4)의 길이(L)만큼, 전단 노드(2fr)를, 다음 연결 노드로부터 해당 전체 노드를 향한 방향으로 이동시키고(스텝 S36), 이동한 선단 노드(2frb)와 그 다음 연결 노드 사이에 새로운 노드를 추가한다(스텝 S38).
구체적으로는, 예를 들면 도 9의 예라면, 「N0DE1」가 플레이어 캐릭터(CP)의 전단 노드(2fr)에 해당하기 때문에, 그 다음에 연결되어 있는 「N0DE2」로부터 「N0DE1」을 향하는 벡터의 방향으로, 「N0DE1」를 접속자(4)의 길이(L)만큼 이동시킨다. 그리고, 새롭게 추가되는 노드에 적당한 노드 식별 정보(예를 들면 「N0DE6」)를 부여하여, 골격 모델 제어 데이터(525)에 등록한다. 이때, 위치 좌표(525b)는, 「N0DE1」과 「N0DE2」의 중간 위치 또는 「N0DE1」의 원(元) 위치로 한다. 머리측 연결 노드 식별 정보(525c)에는 「N0DE1」을 격납하고, 꼬리측 연결 노드 식별 정보(525d)에는 「N0DE2」를 격납한다. 그리고, 「N0DE1」의 꼬리측 연 결 노드 식별 정보(525d)를 「N0DE2」로부터 「N0DE6」로 갱신하고, 「N0DE2」의 머리측 연결 노드 식별 정보(525c)를 「N0DE1」로부터 「N0DE6」로 갱신한다. 이펙터 정보(525e)에는 「0」을 격납한다.
이렇게 해서 캐릭터 제어 데이터(524)에 등록되어 있는 골격 모델(BM)에 새로운 노드를 추가하였으면, 게임 연산부(210)는 마찬가지로 하여 후단 노드(2rr)(꼬리(CPt)의 노드)를 접속자(4)의 길이(L)만큼, 후단 노드(2rr)의 하나 앞에 연결된 다음 연결 노드로부터 후단 노드를 향한 방향으로 이동시키고(스텝 S40), 이동한 후단 노드(2rr)와 하나 앞에 연결된 다음 연결 노드 사이에 새로운 노드를 추가한다(스텝 S42).
그리고, 노드 증감 허가 타이머(548)를 리셋하여 「0」으로 되돌려서 리스타트하고(스텝 S44), 임의 신축 처리를 종료한다.
스텝 S34에서 부정 판정이 된 경우(스텝 S34의 N0), 게임 연산부(210)는 특정한 임의 단축 조작이 입력되었는지의 여부를 판정한다(스텝 S50). 구체적으로는, 우 아날로그 레버(1236)로부터 좌방향 입력되고, 동시에 좌 아날로그 레버(1238)로부터 우방향 입력이 되었는지의 여부를 판정한다. 즉, 제 1 방향 입력부(102)와 제 2 방향 입력부(104)로부터, 동시라고 간주될 정도의 시간차로 서로 가까와지도록 방향 입력되었는지의 여부를 판정한다. 따라서, 좌우로 한하지 않고 양 레버로 상하로부터 가까와지도록 입력된 경우에도 임의 단축 조작이 입력되었다고 판정하는 구성으로 하여도 좋다.
임의 단축 조작이 입력되지 않았다고 판정된 경우에는(스텝 S50의 N0), 게임 연산부(210)는 임의 단축 처리를 종료한다. 또한, 골격 모델(BM)의 전(全) 노드 수가 2 이하인 경우에도 임의 단축 처리를 종료한다.
한편, 임의 단축 조작이 입력되었다고 판정된 경우에는(스텝 S50의 YES), 게임 연산부(210)는 전단 노드의 다음 연결 노드와, 후단 노드의 다음 연결 노드를 삭제하고(스텝 S52), 전단 노드와 후단 노드를 각각 삭제한 다음 연결 노드의 위치로 이동시킨다(스텝 S54).
구체적으로는, 예를 들면 도 9의 예라면, 전단 노드에 해당하는 「N0DE1」와, 후단 노드에 해당하는 「N0DE5」의 다음에 연결하는 「N0DE2」와 「N0DE4」를 삭제한다. 그리고, 「N0DE1」의 위치 좌표(525b)를 「N0DE2」의 값, 「N0DE5」의 위치 좌표(525b)를 「N0DE4」의 값으로 변경한다.
또한, 「N0DE1」의 꼬리측 연결 노드 식별 정보(525d)를 「N0DE3」로 변경하고, 「N0DE3」의 머리측 연결 노드 식별 정보(525c)를 「N0DE1」로 변경한다. 또한, 「N0DE5」의 머리측 연결 노드 식별 정보(525c)를 「N0DE3」로 변경하고, 「N0DE3」의 꼬리측 연결 노드 식별 정보(525d)를 「N0DE5」로 변경한다.
이상의 임의 신축 처리에 의해 플레이어는 임의로 플레이어 캐릭터(CP)를 늘리거나 줄이거나 할 수 있게 된다.
또한, 본 실시 형태에서는, 노드 증감 허가 타이머(548)가 마련되고, 카운트 값이 기준치에 달하지 않은 경우, 환언하면 플레이어 캐릭터(CP)가 신장 또는 단축되지 않은 상태가 어느 일정 시간 이상 경과하지 않은 경우에는, 플레이어가 임의 신장 조작이나 임의 단축 조작을 입력하여도, 신장 또는 단축의 제어는 실행되지 않는다. 이로써, 신장 또는 단축한 동작에 어떤 종류의 시간적인 「체류」를 만들어, 천천히 플레이어 캐릭터(CP)의 몸통이 늘어나거나 줄어들거나 할 때의 저항감을 표현하여, 마치 몸통(CPb)이 어느 정도 생물 성장이나 변형에 의해 늘어나거나 줄어들거나 하고 있는 것과 같이 보이게 할 수 있다.
임의 신축 처리를 종료하였으면, 도 14의 플로우로 되돌아와, 게임 연산부(210)는 다음에 작용력 설정 처리(스텝 S8)를 실행한다. 작용력 설정 처리는, 플레이어 캐릭터(CP)에 작용하는 힘의 설정과, 그 합력인 작용력의 산출에 관한 처리이다.
도 16은, 본 실시 형태에서의 작용력 설정 처리의 흐름을 설명하기 위한 플로우 차트이다. 도 16에 도시하는 바와 같이, 작용력 설정 처리에서는 우선, 플레이어에 의한 2종류의 방향 입력에 따른 조작력을 플레이어 캐릭터(CP)에 설정한다(스텝 S70 내지 78).
구체적으로는, 좌 아날로그 레버(1238)에 입력되어 있는 경도 방향과 경도량에 따른 제 1의 조작력(F1)(도 3A 내지 도 3C 참조)을 결정하고, 플레이어 캐릭터(CP)의 머리(CPh)에 대응하는 전단 노드(2fr)에 설정한다(스텝 S70). 그리고, 전단 노드(2fr)로부터 각 노드에 연결자(4)를 통하여 전해지는 조작력을 선단부터 연결순으로 산출하여 설정한다(스텝 S72). 도 10의 예로 말하면, 전단 노드(2fr)는 「N0DE1」가 된다. 따라서, 설정된 제 1의 조작력의 벡터는, 작용력 벡터 데이터(530)의 「N0DE1」에 대응하는 조작력 벡터(530b)에 격납되고, 마찬가지로 제 1의 조작력 벡터가 각 노드에 작용하는 분력이 구하여져서 각각에 대응하는 조작력 벡터(530b)에 격납된다.
다음에, 게임 연산부(210)는, 우 아날로그 레버(1236)에 입력되어 있는 경도 방향과 경도량에 따른 제 2의 조작력(F2)(도 3A 내지 도 3C 참조)을 결정하고, 플레이어 캐릭터(CP)의 꼬리(CPt)에 대응하는 후단 노드(2rr)에 설정한다(스텝 S74).
이어서, 후단 노드로부터 각 노드에 연결자(4)를 통하여 전해지는 제 2의 조작력의 분력을 연결순 뒤로부터 순번대로 산출하고(스텝 S76), 산출한 제 2의 조작력의 분력과, 스텝 S100 및 S102에서 산출되어 각 노드의 조작력 벡터(530b)에 격납되어 있는 벡터와의 벡터 합을 구하여, 조작력 벡터(530b)를 갱신한다(스텝 S78).
조작력의 설정에 관한 처리를 종료하였으면, 게임 연산부(210)는 다음에, 플레이어 캐릭터(CP)에 작용하는 외력을 설정하기 위해 외력 설정 처리를 실행한다(스텝 S80). 외력 설정 처리에서는, 골격 모델(BM)의 각 노드에 대해, 플레이어 캐릭터(CP)에 작용하는 중력이나 전자력, 풍력 등 게임 공간에 환경 요인으로서 설정되어 있는 힘, 또는 다른 오브젝트와의 충돌에 의해 받는 힘 등을 산출하고, 산출한 힘을 작용력 데이터(530)의 외력 벡터(530c)에 격납한다.
외력 설정 처리를 종료하였으면, 게임 연산부(210)는 전 노드에 대해, 조작력, 외력 및 특정력의 합력을 구하고, 각각의 작용력 벡터(530d)로서 작용력 데이터(530)에 격납하고(스텝 S82), 작용력 설정 처리를 종료한다.
작용력 설정 처리가 종료되었으면, 도 14의 플로우로 되돌아와, 게임 연산부(210)는 다음에 플레이어 캐릭터 이동 제어 처리를 실행한다(스텝 S10). 각 노드 각각에 작용력 벡터(530d)가 작용하고, 또한 골격 모델(BM)의 가동 조건을 유지하고, 다음 게임 화면의 묘화 타이밍(예를 들면, 1/60초 후)에서의 위치 좌표를 산출한다. 산출 방법은, 공지의 물리 연산 처리에 의해서도 실현할 수 있다. 그리고, 골격 모델 제어 데이터(525)의 위치 좌표(525b)를, 새롭게 산출한 위치 좌표로 갱신한다.
다음에, 게임 연산부(210)는, 전회의 촬영 조건의 변경으로부터 소정 시간 경과하였는지의 여부를 판정한다(스텝 S12). 구체적으로는, 촬영 조건 변경 허가 타이머(550)의 값이 「0(소정 시간 계시 완료)」인지의 여부를 참조하고, 「0」이라면 소정 시간 경과하였다고 판정한다. 게임 시작 시점에서 촬영 조건 변경 허가 타이머(550)의 초기치는 「0」이기 때문에, 게임 시작 후 최초에 본 스텝을 실행하는 경우는 그대로 다음 스텝으로 이행한다(스텝 S12의 YES).
전회의 촬영 조건의 변경으로부터 소정 시간 경과하고 있다면, 게임 연산부(210)는 다음에 새로운 이벤트가 발생하였는지의 여부를 판정한다(스텝 S14). 예를 들면, 이벤트 캐릭터(CI)가 게임 공간에 등장하고 나서의 게임 플레이 시간이 소정 시간을 경과한 것을 어떤 이벤트의 발생 조건으로 하여, 게임 플레이 시간이 그 소정 시간을 경과한 때에, 해당 이벤트의 발생을 판정한다. 그 밖에, 예를 들면 「수목 이외의 오브젝트가 충돌한 경우에 수목의 오브젝트가 쓰러져서 강에 다리가 가설된다」라는 이벤트인 경우에는, 수목 이외의 오브젝트가 수목에 충돌한 것을 이벤트의 발생 조건으로서 미리 설정하여 두고, 이 조건을 충족시킨 때에 이벤트의 발생을 판정한다. 또한, 예를 들면, 세력권 의식이 강한 멧돼지의 성격을 가진 이 벤트 캐릭터(CI)의 주위 소정 거리 내에 플레이어 캐릭터(CP)가 위치한 경우를 이벤트의 발생 조건으로 하고, 이 조건을 충족시킨 경우에 해당 이벤트 캐릭터(CPI)를 플레이어 캐릭터(CP)를 향하여 돌진시키는 이벤트를 발생시키는(도 7 참조), 등의 이벤트가 고려된다. 또한, 이들의 이벤트는 어느 것이나 이벤트 설정 데이터(532)에 미리 설정된다.
그리고, 새로운 이벤트가 발생하였다고 판정된 경우(스텝 S14의 YES), 게임 연산부(210)는, 이벤트 설정 데이터(532)를 참조하여 그 새로운 이벤트의 실행을 시작한다(스텝 S15). 예를 들면, 「수목 이외의 오브젝트가 충돌한 경우에 수목의 오브젝트가 쓰러져서 강에 다리가 가설된다」는 이벤트인 경우, 수목 이외의 오브젝트가 충돌함으로써 수목을 쓰러뜨리고, 다리라고 하는 이벤트를 실행한다. 또한, 예를 들면, 세력권 의식이 강한 멧돼지의 성격을 갖는 이벤트 캐릭터(CI)의 주위 소정 거리 내에 플레이어 캐릭터(CP)가 위치한 것을 조건으로 하여, 이벤트 캐릭터(CI)를 플레이어 캐릭터(CP)를 향하여 돌진시키는 이벤트의 실행을 시작한다(도 7 참조).
이어서 게임 연산부(210)는 이벤트 가상 카메라 설정 처리를 실행한다(스텝 S18). 이벤트 가상 카메라 설정 처리는, 이벤트의 발생에 수반하여 이벤트 캐릭터(CI)를 촬영하는 이벤트 가상 카메라(CM4)를 설정하고, 이벤트가 실행되고 있는 동안, 촬영을 제어하는 처리이다.
도 17은, 본 실시 형태에서의 이벤트 가상 카메라 설정 처리의 흐름을 설명하기 위한 플로우 차트이다. 이벤트 가상 카메라 설정 처리에서는, 게임 연산 부(210)는 우선 이벤트 촬영 조건 후보 데이터(542)를 참조하여, 미리 정의되어 있는 촬영 조건(542c)중의 어느 하나를 랜덤하게 선택하고(스텝 S90), 선택된 촬영 조건 후보에 의거하여 촬영한 경우에, 이벤트 캐릭터(CI)가 촬영 범위 내에 찍히는지의 여부를 판정한다(스텝 S92). 구체적으로는, 선택된 촬영 조건으로 배치되는 이벤트 가상 카메라(CM4)와 이벤트 캐릭터(IC) 사이에 다른 오브젝트가 존재하였는지의 여부를 판정하고, 다른 오브젝트가 존재하지 않는다면 이벤트 캐릭터(CI)가 촬영 범위 내에 찍힌다고 판정한다.
그리고, 이벤트 캐릭터(CI)가 촬영 범위 내에 찍힌다고 판정된 경우에는(스텝 S92의 YES), 현재 선택되어 있는 촬영 조건 후보를 그대로 이벤트 가상 카메라(CM4)의 촬영 조건으로 하여, 촬영 조건 데이터(544)에 격납함과 함께 이벤트 가상 카메라(CM4)를 게임 공간중에 배치한다(스텝 S94). 그리고, 이벤트 가상 카메라 설정 처리를 종료하고, 도 14의 플로우로 되돌아온다.
또한, 도 14의 플로에서, 스텝 S14로 새롭게 발생한 이벤트가 없다고 판정된 경우에는(스텝 S14의 N0), 종료한 이벤트가 있는지의 여부가 판정되고(스텝 S16), 종료한 이벤트가 있는 것이라면(스텝 S16의 YES), 이벤트 가상 카메라(CM4)로 촬영할 필요성이 없어졌다고 판단하고, 게임 연산부(210)는 이벤트 가상 카메라(CM4)의 설정을 해제한다(스텝 S17). 예를 들면, 「수목 이외의 오브젝트가 충돌한 경우에 수목의 오브젝트가 쓰러져서 강에 다리가 가설된다」는 이벤트의 종료 조건으로서, 이벤트 설정 데이터(532)에 「수목이 쓰러진 후, 소정 시간 경과」가 설정되어 있는 경우에는, 해당 조건을 충족시켰는지의 여부가 판정됨으로써, 해당 이벤트의 종 료가 판정된다. 또한, 스텝 S16에서 종료한 이벤트가 없다고 판정된 경우(스텝 S16의 N0)에는, 스텝 S24로 처리를 이행한다.
그런데, 스텝 S17 또는 S18의 처리를 행하였으면, 게임 연산부(210)는 다음에 메인 가상 카메라 설정 처리를 실행한다(스텝 S20). 메인 가상 카메라 설정 처리는, 플레이어 캐릭터(CP)의 전신이 항상 촬영되도록 촬영 조건을 구하여, 메인 가상 카메라(CM1)를 배치·제어하는 처리이다.
도 18은, 본 실시 형태에서의 메인 가상 카메라 설정 처리의 흐름을 설명하기 위한 플로우 차트이다. 도 18에 도시하는 바와 같이, 게임 연산부(210)는 우선, 플레이어 캐릭터(CP)의 이동 제어에 수반하여 메인 가상 카메라(CM1)를 이동시키기 위한 가(假)배치 위치를 산출한다(스텝 S110). 구체적으로는, 가상 카메라 초기 설정 데이터(536)를 참조하여 플레이어 캐릭터(CP)의 대표점에 대한 소정의 상대 위치 관계를 취득하여, 임시 배치 위치를 구한다. 즉, 플레이어 캐릭터(CP)가 곧바로 전진하면 메인 가상 카메라(CM1)를 그 전진 방향으로 똑같이 이동시키고, 플레이어 캐릭터(CP)에 대해 항상 소정의 상대 위치가 되도록 임시 배치 위치를 정한다.
또한, 임시 배치 위치의 결정은, 플레이어 캐릭터(CP)의 이동과 평행시키는 것으로 한하지 않고, 예를 들면 플레이어 캐릭터(CP)의 위를 정기적으로 좌우로 흔드는 등 메인 가상 카메라(CM1)의 모션이 설정되어 있는 경우에는, 해당 모션에 의거하여 임시 배치 위치를 결정하는 구성으로 하여도 좋다.
다음에, 임시 배치 위치가 정해졌으면, 게임 연산부(210)는 플레이어 캐릭터(CP)의 전체가 촬영될 수 있도록 플레이어 캐릭터(CP)로부터의 거리 및/또는 화 각을 조정하는 처리를 실행한다. 본 실시 형태에서는, 플레이어 캐릭터(CP)의 전체를 포함하는 포함영역(10)을 설정하고(스텝 S112), 메인 가상 카메라(CM1)로 임시 배치 위치에서 촬영한 경우에, 포함영역(10)의 중심(11)이 화면의 소정 위치(예를 들면, 촬영 화면의 중심.)에 찍히도록, 시점 방향(26)을 결정한다(스텝 S114).
이어서, 포함영역(10)의 최장 대각선(12)을 구하고(스텝 S116), 구한 각 최장 대각선을 메인 가상 카메라(CM1)의 화상 좌표계에 투영하고, 촬영 화상상에서의 Xc축 방향 투영 치수와 Yc축 방향 투영 치수를 산출한다(스텝 S118).
그리고, 최장 대각선(12)의 수만큼 산출된 Xc축 방향 투영 치수중에서 최대 Xc축 방향 투영 치수(Lx)를 구함과 함께, 마찬가지로 산출된 Yc축 방향 투영 치수로부터 최대 Yc축 방향 투영 치수(Ly)를 구하고, 양 값(Lx 및 Ly)을 비교하여 큰 쪽의 투영 치수(Lm)를 구한다(스텝 S120).
그리고, 게임 연산부(210)는, 선택된 투영 치수(Lm)의 축방향에 따른 메인 가상 카메라의 화상폭(최대 Xc축 방향 투영 치수(Lx)가 최대 Yc축 방향 투영 치수(Ly)보다 크면 화상의 가로폭(Wx), 반대의 관계라면 화상의 세로폭(Wy))에 대한 그 투영 치수(Lm)의 비율이, 소정의 비율을 이루도록 촬영 조건을 결정한다(스텝 S122).
본 실시 형태에서는, Ly≥Lx라면 100:80=Wy:Ly, Lx>Ly라면 100:80=Wx:Lx가 되도록, 메인 가상 카메라(CM1)의 포함영역(10)의 중심(11)부터의 적정 촬영 거리(Lc)를 결정한다(스텝 S124). 즉, (1)식에 따른 적정 촬영 거리(Lc)가 된다.
그리고, 임시 배치 위치부터 포함영역(10)의 중심(11)까지의 거리가 적정 촬 영 거리(Lc)가 되는 위치를 시선 방향(26)에 따라 구하고, 해당 구한 위치를 메인 가상 카메라(CM1)의 다음의 배치 위치 좌표로 한다(스텝 S124). 물론, 촬영 조건의 결정은, 배치 위치를 임시 배치 위치 그대로 하고, 화각을 변경함으로써 실현하는 것으로 하여도 좋다.
또한, 촬영 조건의 설정은, 화각(θc)을 고정으로 하여 적정 촬영 거리(Lc)를 산출하는 상술한 방법으로 한하는 것이 아니다. 플레이어 캐릭터(CP)에 대한 메인 가상 카메라(CM1)의 상대 위치를 바꾸고 싶지 않은 경우에는, 적정 거리(Lc)를 임시 배치 위치까지의 거리로 하고, 화각(θc)을 새롭게 구한 구성으로 할 수 있다. 또한, 적정 촬영 거리(Lc)와 화각(θc)의 양쪽을 구한다고 하여도 좋다. 예를 들면, 게임의 연출상의 관점에서 메인 가상 카메라(CM1)에 플레이어 캐릭터(CP)를 돌아 들어간다고 하는 카메라 워크를 시키고 싶은 경우에는, 미리 가상 카메라 초기 설정 데이터(536)에 카메라 워크를 정의하는 데이터를 격납하고, 해당 데이터에 따라 배치 위치를 결정하고 나서 화각(θc)을 구한다. 즉, 먼저 적정 촬영 거리(Lc)를 결정하고, 결정한 적성 촬영 거리(Lc)에서 화각(θc)을 구하는 구성으로 하여도 좋다.
메인 가상 카메라 설정 처리를 종료하였으면, 도 14의 플로우로 되돌아와, 메인 가상 카메라(CM1)에서 보아 플레이어 캐릭터(CP)가 숨겨지는지의 여부를 판정한다(스텝 S21). 구체적으로는, 메인 가상 카메라(CM1)의 대표점과, 플레이어 캐릭터(CP)의 대표점 사이에 다른 오브젝트가 존재하는지의 여부를 판정하고, 다른 오브젝트가 존재하는 경우에 「플레이어 캐릭터(CP)가 숨겨진다」고 판정한다. 플레 이어 캐릭터(CP)의 대표점으로서는, 본 실시 형태에서는 머리(CPb)와 꼬리(CPt)를 대표점으로 한다. 또한, 이 숨겨지는지의 여부의 판정은, 다른 방법으로 행하여도 좋다. 예를 들면, 메인 가상 카메라(CM1)의 촬영 화상을 생성하고, 그 생성한 화상중에 플레이어 캐릭터(CP)가 포함되어 있는지의 여부, 머리(CP)와 꼬리(CPt)의 부위가 포함되어 있는지의 여부, 포함되어 있다고 한다면 어느 정도의 비율이 포함되어 있는 것인가, 라는 촬영 화상에 대한 소정의 조건에 따라 판정하여도 좋다.
그리고, 플레이어 캐릭터(CP)가 숨겨진다고 판정된 경우(스텝 S21의 YES), 게임 연산부(210)는 다음에, 서브 가상 카메라 설정 처리(스텝 S22)를 실행한다. 서브 가상 카메라 설정 처리는, 플레이어 캐릭터(CP)의 소정 부분을 항상 촬영하도록 서브 가상 카메라를 배치·제어하는 처리이다. 여기서 말하는 「소정 부분」은, 본 실시 형태에서는 플레이어 캐릭터(CP)의 머리(CP)와 꼬리(CPt)이다. 이들의 부분은, 플레이어 캐릭터(CP)를 이동 조작할 때에 조작력이 작용하는 개소에 해당하기 때문에, 이들의 부위와 함께 그 주위의 상황을 서브 가상 카메라로 촬영하는 것은, 플레이어 캐릭터(CP)를 조작하는데의 시야를 확보하는 것이 된다.
도 19는, 본 실시 형태에서의 서브 가상 카메라 설정 처리의 흐름을 설명하기 위한 플로우 차트이다. 도 19에 도시하는 바와 같이, 게임 연산부(210)는 우선 머리부 촬영 조건 후보 데이터(538)를 참조하여, 미리 설정되어 촬영되어 있는 촬영 조건 후보중에서 어느 하나를 랜덤하게 선택한다(스텝 S140). 그리고, 선택된 촬영 조건 후보에 의거하여 촬영한 경우에, 서브 가상 카메라(CM2)의 화상 내에 피사체로 되는 부분이 찍히는지의 여부를 판정한다(스텝 S142). 구체적으로는, 서브 가상 카메라(CM2)와 머리(CPh)에 대응하는 전단 노드(2fr)와의 사이에, 다른 오브젝트가 존재하는지의 여부를 판정하고, 존재하지 않는다면 서브 가상 카메라(CM2)의 화상 내에 피사체가 된 부분이 찍힌다고 판정한다. 그리고, 서브 가상 카메라(CM2)의 화상 내에 피사체가 되는 부분이 찍힌다고 판정되지 않는 경우(스텝 S142의 N0), 스텝 S140으로 되돌아와 촬영 조건 후보를 재선택한다. 한편, 화상 내에 피사체가 되는 부분이 찍힌다고 판정된 경우에는(스텝 S142의 YES), 현재 선택되어 있는 촬영 조건 후보를 그대로 서브 가상 카메라(CM2)의 촬영 조건으로 하여, 촬영 조건 데이터(544)에 격납함과 함께, 가상 카메라(CM2)를 게임 공간중에 배치한다(스텝 S144).
서브 가상 카메라(CM2)에 대해 촬영 조건을 결정하였으면, 게임 연산부(210)는 마찬가지로 하여 꼬리(CPt)를 촬영하는 서브 가상 카메라(CM3)의 촬영 조건을 결정한다. 즉, 꼬리부 촬영 조건 후보 데이터(542)를 참조하여, 미리 설정되어 있는 촬영 조건 후보중에서 어느 하나를 랜덤하게 선택하고(스텝 S146), 선택된 촬영 조건 후보에 의거하여 촬영한 경우에, 서브 가상 카메라(CM3)의 화상 내에 피사체가 되는 부분(꼬리(CPt))이 찍히는지의 여부를 판정한다(스텝 S148).
그리고, 서브 가상 카메라(CM3)의 화상 내에 피사체가 되는 부분이 찍힌다고 판정되지 않는 경우(스텝 S148의 N0), 스텝 S146으로 되돌아와 조건 후보를 재선택한다. 한편, 화상 내에 피사체가 되는 부분이 찍힌다고 판정된 경우에는(스텝 S148의 YES), 현재 선택되어 있는 촬영 조건 후보를 그대로 서브 가상 카메라(CM3)의 촬영 조건으로 하여, 촬영 조건 데이터(544)에 격납함과 함께 서브 가상 카메 라(CM3)를 게임 공간중에 배치하여(스텝 S 150), 서브 가상 카메라 설정 처리를 종료한다.
또한, 본 실시 형태에서는 부분 촬영하는 개소를 머리(CPh) 및 꼬리(CPt)로 하고 있지만, 3개소 이상 설정하는 케이스에서는, 스텝 S140 내지 S144와 같은 처리를 반복하면 좋다.
그런데, 서브 가상 카메라 설정 처리를 종료하였으면, 도 14의 플로우로 되돌아와, 다음에 화상 생성부(260)가 게임 화면 표시 처리를 실행한다(스텝 S24).
도 20은, 본 실시 형태에서의 게임 화면 표시 처리의 흐름을 설명하기 위한 플로우 차트이다. 도 20에 도시하는 바와 같이, 게임 화면 표시 처리에서는 우선, 화상 생성부(260)는 메인 가상 카메라(CM1)에서 본 가상 공간 화상을 생성하고, 화면 표시 위치 설정 데이터(546)로 대응시켜져 있는 화상 표시 범위 좌표(546b)에 생성한 화상을 묘화한다(스텝 S200).
다음에, 서브 화면 표시 상황 조건을 충족시키는지의 여부를 판정하고, 조건을 충족시키고 있는 경우에 서브 화면을 표시 제어한다. 구체적으로는, 우선 제 1의 조건으로서, 메인 가상 카메라(CM1)에서 보아, 플레이어 캐릭터(CP)의 머리(CPh)가 타 오브젝트의 배후에 숨겨지는지의 여부, 즉 머리(CPh)가 메인 가상 카메라(CM1)의 촬영 화상 내에 비치는지의 여부를 판정한다(스텝 S202). 이 판정은, 메인 가상 카메라(CM1)의 현재의 촬영 조건이, 서브 화면 표시 상황 조건을 만족하고 있는지의 여부를 판정하는 것이다.
그리고, 배후에 숨겨진다고 판정된 경우, 즉 서브 양면 표시 상황 조작을 충 족시킨다고 판정된 경우(스텝 S202의 YES), 화상 생성부(260)는, 서브 가상 카메라(CM2)에서 본 가상 공간 화상을 생성하고, 화면 표시 위치 설정 데이터(546)로 대응시켜져 있는 화면 종류(546a)의 화상 표시 범위 좌표(546b)에 생성한 화상을 묘화한다(스텝 S204). 게임 시작시의 초기인 채라면, 메인 가상 카메라(CMl)에 의한 촬영 화상의 위의 주어진 위치에, 서브 가상 카메라(CM2)에 의한 촬영 화상이 서브 화면(W2)으로서 겹쳐져서 합성된다(도 7 참조).
또한 제 2의 조건으로서, 메인 가상 카메라(CM1)에서 보아, 꼬리(CPt)가 타 오브젝트의 배후에 숨겨지는지의 여부를 판정하고(스텝 S206), 배후에 숨겨진다고 판정된 경우에는(스텝 S206의 YES), 서브 가상 카메라(CM3)에서 본 가상 공간 화상을 생성하고, 화면 표시 위치 설정 데이터(546)로 대응시켜져 있는 화면 종류(548a)의 화상 표시 범위 좌표(546b)에 생성한 화상을 묘화한다(스텝 S208). 게임 시작시의 초기인 채라면, 메인 가상 카메라(CMl)에 의한 촬영 화상의 위의 주어진 위치에, 서브 가상 카메라(CM3)에 의한 촬영 화상이 서브 화면(W3)으로서 겹쳐져서 합성된다.
다음에, 화상 생성부(260)는, 촬영 조건 데이터(544)를 참조하여, 이벤트 가상 카메라(CM4)가 설정되어 있는지의 여부를 판정한다(스텝 S210). 그리고, 설정되어 있다고 판정된 경우(스텝 S210의 YES), 이벤트 가상 카메라(CM4)의 촬영 화상을 생성하고, 화면 표시 위치 설정 데이터(546)로 이벤트 가상 카메라(CM4)에 대응시켜져 있는 화상 표시 범위 좌표(546b)에 생성한 화상을 묘화한다(스텝 S212). 게임 시작시의 초기인 채라면, 메인 가상 카메라(CM1)에 의한 촬영 화상의 위에, 이벤트 가상 카메라(CM4)에 의한 촬영 화상이 서브 화면(W4)으로서 겹쳐져서 합성된다.
여기까지의 처리로, 메인 가상 카메라(CM1)로 플레이어 캐릭터(CP)의 전신을 촬영하도록 제어하여도, 다른 오브젝트와의 위치 관계에 의해 그 촬영 화상에 머리(CPh)나 꼬리(CPt)가 찍혀지지 않는 경우에는, 그들 각 부분의 부분촬영 화상의 화상이 형성·합성되고, 주게임 화면(W1)의 위에 서브 화면(W2, W3)이 팝업 표시되게 된다(스텝 S214). 나아가서는, 이벤트가 발생하고 실행중이라면, 해당 이벤트에 관한 화상이 형성·합성되고, 서브 화면(W4)이 또한 팝업 표시되게 된다(스텝 S214).
또한, 서브 화면을 표시하는 조건으로서, 서브 가상 카메라(CM2, CM3)의 피사체로서 정해진 소정 부위가 메인 가상 카메라(CM1)의 촬영 화상 범위에 들어가지 않는 것을 예로 들었지만, 서브 화면 표시 상황 조건은 이것으로 한하는 것이 아니다. 예를 들면, 플레이어 캐릭터(CP)가 정지하고 있는 것을 조건으로, 정지한 경우에 서브 화면을 표시하는 것으로 하여도 좋다. 이 경우, 이동중은 서브 화면을 표시하지 않도록 하고, 이동중의 상황을 보기 쉽게 하는 한편으로 일단 멈춰섬으로서, 주위의 상황을 상세하게 관찰할 수 있게 되기 때문에, 보다 한층더 플레이어 캐릭터(CP)를 조작하기 쉽게 될 것이다.
또한, 다른 예로서는, 플레이어 캐릭터(CP)의 전체 길이가 기준치 이상으로 되는 것을 조건으로 하여도 좋고, 소정의 자세를 취하고 있는 것을 조건으로 하여도 좋다. 또한 예를 들면, 이동 및/또는 체형 변화로 한하지 않고, 플레이어 캐릭터(CP)가 소정의 아이템을 취득하거나 주문을 읽는다는 것이나, 소정 부위가 상처 를 입거나 플레이어 캐릭터(CP)가 아이템을 장착하고 있다는 부위의 상황, 접촉을 막으면서 좁은 장소를 통과한다는 게임 진행 상태나 게임 스테이지의 종류 등을 조건으로 할 수도 있다.
그런데, 게임 화상 표시 처리를 종료하였으면, 도 14의 플로우로 되돌아와, 화상 생성부(260)가 화상 표시 전환 처리를 실행하여, 플레이어의 조작 입력에 따라 다음 게임 화면의 묘화 타이밍에서, 주게임 화면(W1)에 표시되는 화상의 내용과 서브 화면에 표시되는 화상의 내용을 전환할 수 있도록 설정의 화면 표시 위치 설정 데이터(546)의 변경을 한다(스텝 S26).
도 21은, 본 실시 형태에서의 화상 표시 전환 처리의 흐름을 설명하기 위한 플로우 차트이다. 도 21에 도시하는 바와 같이, 화상 표시 전환 처리에서는 우선, 화상 생성부(260)는, 게임 컨트롤러(1230)에서 소정의 화면 선택 조작이 입력되었는지의 여부를 판정한다(스텝 S170). 예를 들면, 소정의 푸시 버튼(1232)을 누르면 화면 선택 조작이 입력되었다고 판정한다.
화면 선택 조작이 입력되었다고 판정한 경우(스텝 S170의 YES), 화상 생성부(260)는, 화면 선택 조작이 입력될 때마다, 현재 표시하고 있는 서브 화면의 하나를 전환처(先) 후보로서 식별 표시한다(스텝 S172). 구체적으로는, 예를 들면, 현재 주게임 화면(W1)상에 서브 화면(W2 및 W3)이 표시되어 있는 경우(도 23b 참조), 화면 전환 조작이 입력되면, 서브 화면(W2)의 주위의 표시색이나 휘도, 표시테두리에 특정 디자인을 적용하는 등으로 식별 표시를 행한다(도 23c 참조). 이 상태에서는, 서브 화면(W2)을 전환 후보로 한다. 다시 한번 화면 선택 버튼 스위치가 눌리면, 이번에는 서브 화면(W2)의 식별 표시를 해제하고, 대신에 서브 화면(W3)을 식별 표시 제어하여 전환 후보로 한다.
그리고, 게임 컨트롤러(1230)로부터 소정의 결정 조작이 입력된 경우(스텝 S174의 YES), 화상 생성부(260)는, 화면 표시 위치 설정 데이터(546)에서의 대응 가상 카메라(546c)의 설정중, 메인 가상 카메라(CM1)와, 먼저 선택된 서브 화면을 촬영하는 서브 가상 카메라를 교체한다(스텝 S176). 이 결과, 다음의 제어 사이클에서 게임 화면 표시 처리(도 14의 스텝 S24)가 실행되면, 주게임 화면(W1)에 표시되는 화상의 내용과, 서브 화면에 표시되는 화상의 내용이 전환되게 된다(도 24 참조). 한편, 소정의 결정 조작이 입력되지 않고, 소정의 캔슬 조작이 입력된 경우에는(스텝 S178의 YES), 서브 화면의 식별 표시를 해제한다(스텝 S180).
또한, 본 실시 형태에서는, 화면 표시 위치 설정 데이터(546)를 변경함으로써, 다음 게임 화면의 묘화 타이밍에서 순식간에 화상을 교체하는 구성으로 하였지만, 적절히, 화면에 대한 공지의 트랜션트 처리(예를 들면, 와이프, 오버랩 등)를 실행하는 구성으로 하여도 좋다. 그 경우, 트랜션트 처리 실행중은, 플레이어 캐릭터(CP)나 다른 오브젝트의 동작 제어는 일시 중단하면 알맞다.
다음에, 화상 생성부(260)는, 화면 표시 위치 설정 데이터(546)를 참조하여, 주게임 화면(W1)에 대응하는 가상 카메라가 메인 가상 카메라(CM1)인지의 여부를 판정한다(스텝 S182).
메인 가상 카메라(CM1)가 대응시켜져 있지 않은 경우에는(스텝 S182의 N0), 복귀 타이머를 가동시킨다(스텝 S184). 그리고, 가동 타이머가 소정 시간을 계시하 지 않았으면(스텝 S186의 N0), 그대로 화상 표시 전환 처리를 종료한다. 한편, 가동 타이머가 소정 시간을 계시하였으면(스텝 S186의 YES), 화면 표시 위치 설정 데이터(546)에서의 대응 가상 카메라(546c)를 초기 상태(예를 들면, 도 13A의 상태)로 되돌리고, 주게임 화면(W1)에 메인 가상 카메라(CMl)의 촬영 화상이 표시되도록 설정을 되돌리고 나서(스텝 S188), 화상 표시 전환 처리를 종료한다.
즉, 플레이어의 조작 입력에 따라, 주게임 화면(W1)에 표시되어 있는 화상과, 어느 하나의 서브 화면에 표시되어 있는 화상의 교체를 실행하여도, 소정 시간이 경과하면 자동적으로 원래의 상태로 되돌아오게 된다. 따라서, 메인 가상 카메라(CM1)와는 다른 각도에서 플레이어가 머리(CPh) 또는 꼬리(CPt)가 촬영되어 있는 서브 화면을 일시적으로 크게 표시시켜서 조작하기 쉬운 상태로 하였다고 하여도, 플레이중의 대부분은 메인 가상 카메라(CM1)가 플레이어 캐릭터(CP)의 전체를 촬영하고, 이것을 주화면으로서 표시하는 게임 화면이 된다. 본 게임에 적합한 조작성을 실현하기 위한 보다 알맞은 게임 화면은, 메인 가상 카메라(CM1)의 화상이 주게임 화면(W1)으로 되어 있는 것이기 때문에, 화상 표시의 전환을 자동적으로 원래로 되돌림으로써 쾌적한 게임 플레이 환경을 제공할 수 있다.
화상 표시 전환 처리를 종료하였으면, 도 14의 플로우로 되돌아와, 다음에 게임 연산부(210)가, 게임의 종료 조건을 충족시키는지의 여부를 판정한다(스텝 S28). 본 실시 형태에서는, 플레이어 캐릭터가 소정의 골 지점에 체력치가 「0」으로 되기 전에 무사히 겨우 도착한다면 게임 클리어로서의 종료 조작을 충족시킨다고 간주된다. 또한, 이동중에 이벤트 캐릭터(CI) 등의 방해나, 높은 곳으로부터의 낙하 등에 의해 체력치가 「0」으로 되어 버리면 게임 오버로서의 종료 조건을 충족시킨다고 간주된다.
종료 조건을 충족시키지 않으면(스텝 S28의 YES), 스텝 S4로 돌아오고, 종료 조건을 충족시키면(스텝 S28의 N0), 게임 종료 처리를 실행하고 일련의 처리를 종료한다.
이상의 일련의 처리에 의해, 본 실시 형태에서는 플레이어 캐릭터(CP)의 전체가 항상 게임 화면상에 표시되도록 제어된다.
도 22A 내지 도 22C는, 본 실시 형태에서의 메인 가상 카메라(CM1)에 의한 촬영 화상의 예를 도시하는 도면으로서, 플레이어 캐릭터(CP)의 전체 길이가 각각 다른 경우에서의 예를 도시하고 있다. 도 22A의 상태로부터 도 22B의 상태까지 플레이어 캐릭터(CP)가 늘어났다고 하여도, 메인 가상 카메라(CM1)가 플레이어 캐릭터(CP)로부터 멀어지도록 촬영 조건이 변경되고, 플레이어 캐릭터(CP)의 용모가 촬영 화면에 대해 소정 관계를 이루는 크기로 촬영되게 된다. 즉, 플레이어 캐릭터(CP)를 메인 가상 카메라(CM1)의 화면 좌표계에 투영한 길이(도 22A 내지 도 22C에서의 Xc축 방향 투영 치수(Lx))가 화면의 폭(도 22A 내지 도 22C에서 가로폭(Wx))에 대해 「1.0」을 하회하는 소정의 비율을 충족시키도록 촬영된다. 따라서, 도 22A와 도 22B에서의 각 Xc축 방향 투영 치수(Lx)는, 원리상, 유사한 길이가 된다.
그리고, 본 실시 형태에서는 기본적으로 메인 가상 카메라(CM1)로 촬영된 화상을, 주게임 화면(W1)으로서 표시 제어하기 때문에, 플레이어는, 플레이어 캐릭 터(CP)의 전단측, 후단측 어느측에서도 어느정도 주위의 상황을 항상 볼 수 있기 때문에, 플레이어 캐릭터(CP)의 조작을 하기 쉽게 된다. 또한, 가령, 플레이어 캐릭터(CP)의 전체 길이와 함께 몸통 둘레도 굵어지도록 설정하였다고 하여도, 도 22C에 도시하는 바와 같이, 역시 플레이어 캐릭터(CP)의 전단측, 후단측 어느측에서도 어느정도 주위의 상황을 게임 화면상에 비출 수 있다. 게다가, 이들의 메인 가상 카메라(CM1)의 촬영 조건의 설정을, 포함영역(10)에 의거하여 결정함으로써, 복잡한 형상으로 변화하는 캐릭터라도 간단한 처리로 실현할 수 있다.
또한, 본 실시 형태에서는, 플레이어 캐릭터(CP)의 이동이나 체형 변화에 수반하여, 머리(CPh)나 꼬리(CPt)가 게임 화면에서 항상 보이도록 표시시킬 수 있다.
도 23A 내지 도 23C, 및, 도 24A 내지 도 24B는, 본 실시 형태에서의 게임 화면의 예를 도시하는 도면으로서, 주게임 화면(W1)과 서브 화면(W2)의 표시를 전환하는 경우의 화면의 변화를 도시하는 도면이다. 또한, 여기서는 전환에 즈음하여 트랜션트 처리를 실행하는 경우를 나타내고 있다.
도 23A에서는, 주게임 화면(W1)만이 표시되어 있다. 즉, 메인 가상 카메라 설정 처리에 의해 메인 가상 카메라(CM1)가 플레이어 캐릭터(CP)의 전신을 비추도록 제어되어 있다. 이 단계에서는, 머리(CPh)도 꼬리(CPt)도 다른 오브젝트에 숨겨져 있지 않기 때문에, 서브 화면 표시는 되어 있지 않는다. 이 상태로부터 플레이어 캐릭터(CP)가 이동 제어되고, 장애물(30)의 배면측으로 이동하였다고 한다.
그리고, 메인 가상 카메라(CM1)에서 보아 플레이어 캐릭터(CP)가 장애물(30)의 배후에 숨겨져 버리면, 도 23B에 도시하는 바와 같이 서브 화면이 표시 제어된 다. 도 23B의 경우에서는, 주게임 화면(W1)에서는 머리(CPh)도 꼬리(CPt)도 보이지 않기 때문에, 머리(CPh)의 모습을 비추는 서브 화면(W2)과, 꼬리(CPt)의 모습을 비추는 서브 화면(W3)이 표시되어 있다. 플레이어 캐릭터(CP)의 머리(CPh)가 먼저 숨겨지게 되기 때문에, 전자가 먼저 표시되고, 계속해서 후자가 추가하여 표시되게 된다.
여기서, 플레이어가 게임 컨트롤러(1230)로부터 소정의 화면 전환 조작을 입력하면, 도 23C에 도시하는 바와 같이 선택되어 있는 서브 화면에 식별 표시가 된다. 이 예로는, 서브 화면(W2)이 선택되어 있고, 그 화상 표시의 주변에 소정의 선택 표시 테두리(32)가 표시되어 강조되어 있다.
서브 화면(W2)이 전환처로서 선택 결정되면, 주게임 화면(W1)과 서브 화면(W2) 사이에서 트랜션트 처리가 실행되고, 예를 들면 도 24A와 같이, 서브 화면(W2)이 서서히 확대된다. 그리고, 서브 화면(W2)이 주게임 화면(W1)과 같은 정도의 크기에 달하면, 도 24B와 같이, 주게임 화면(W1)에 서브 가상 카메라(CM2)에 의한 촬영 화상이 표시되고, 원래의 서브 화상(W2)의 표시 범위에 메인 가상 카메라(CM1)에 의한 촬영 화상이 표시된다. 본 실시 형태와 같은 게임의 경우, 플레이어 캐릭터(CP)를 조작하는데는 머리(CPh) 및 꼬리(CPt)가 플레이어에게 보이고 있는 것이 중요하기 때문에, 이와 같이 서브 화면 표시에 의해 이들의 주요부를 항상 게임 화면상에 비춤으로써 플레이하기 쉬운 환경을 실현할 수 있다.
또한, 본 실시 형태에 의하면, 이벤트가 발생한 경우에도 서브 화면을 표시시킬 수 있다.
도 25A 내지 도 25C는, 본 실시 형태에서의 게임 화면 예를 도시하는 도면으로서, 주게임 화면(W1)과 서브 화면(W4)의 표시를 전환하는 경우의 화면의 변화를 도시하는 도면이다. 도 25A에 도시하는 바와 같이, 새로운 이벤트의 발생이 검출되면 주게임 화면(W1)의 소정 위치에 서브 화면(W4)이 표시되고, 이벤트 가상 카메라(CM4)의 촬영 화상이 표시된다. 도 25A의 예에서는, 주게임 화면(W1)에서는 플레이어 캐릭터(CP)밖에 보이지 않지만, 서브 화면(W4)에서는 이벤트 캐릭터(IC)가 플레이어 캐릭터(CP)를 향하여 돌진하고 있는 모습이 표시된다.
여기서, 더욱 서브 화면(W4)에 표시되어 있는 상태를 상세히 보고 싶다고 생각하여, 서브 화면(W4)을 전환 후보로서 선택·결정하면, 도 25B에 도시하는 바와 같이, 서브 화면(W4)이 식별 표시됨과 함께, 트랜션트 처리를 수반하여 서서히 확대 표시된다. 그리고, 서브 화면(W4)이 주게임 화면(W1)과 거의 같은 크기까지 변화하면, 도 25C에 도시하는 바와 같이, 전환이 완료되어 주게임 화면(W1)에 이벤트 가상 카메라(CM4)의 촬영 화상이 표시되고, 서브 화면(W4)에는 메인 가상 카메라(CM1)의 촬영 화상이 표시된다.
따라서, 플레이어는 이벤트 캐릭터(IC)가 플레이어 캐릭터(CP)를 향하여 오는 모습을 보다 상세하게 시인할 수 있기 때문에, 어느 방향으로 회피하면 좋을지 등의 판단을 하기 쉽게 된다. 즉, 플레이어 캐릭터(CP)의 조작성이 향상한다.
또한, 도 25A 내지 도 25C의 예에서는 이벤트가 플레이어 캐릭터(CP)의 부근에서 발생하고 있지만, 게임 공간 내가 멀리 떨어진 장소에서 이벤트가 발생한 경우라도, 서브 화면(W4)으로 이벤트 캐릭터(IC)와 플레이어 캐릭터(CP)가 화면 내에 비추어짐으로써 어디서 이벤트가 일어났는지 이해할 수 있기 때문에, 그러한 관점에서도 플레이어 캐릭터(CP)를 조작하기 쉽게 된다.
[하드웨어 구성]
다음에 도 26을 참조하여, 본 실시 형태에서의 가정용 게임 장치(1200)를 실현하기 위한 하드웨어 구성의 한 예에 관해 설명하는 도면이다. 가정용 게임 장치(1200)는, CPU(1000), R0M(1002), RAM(1004), 정보 기억 매체(1006), 화상 생성 IC(1008), 소리 생성 IC(1010), I/0 포트(1012, 1014)가 시스템 버스(1016)에 의해 상로간에 데이터 입출력 가능하게 접속되어 있다. I/0 포트(1012)에는 컨트롤 장치(1022)가, I/0 포트(1014)에는 통신 장치(1024)가, 각각 접속되어 있다.
CPU(1000)는, 정보 기억 매체(1006)에 격납되는 프로그램, R0M(1002)에 격납되는 시스템 프로그램(장치 본체의 초기화 정보 등), 컨트롤 장치(1022)에 의해 입력되는 신호 등에 따라, 장치 전체의 제어나 각종 데이터 처리를 행한다.
RAM(1004)은, CPU(1000)의 작업 영역 등으로서 사용되는 기억 수단이고, 정보 기억 매체(1006)나 R0M(1002) 내의 주어진 내용, CPU(1000)의 연산 결과 등이 격납된다.
정보 기억 매체(1006)는, 프로그램, 화상 데이터, 소리 데이터, 플레이 데이터 등이 주로 격납되는 것이고, 정보 기억 매체로서, R0M 등의 메모리나 하드 디스크나, CD-R0M, DVD, IC 카드, 자기 디스크, 광디스크 등이 사용된다. 또한, 이 정보 기억 매체(1006)는, 도 8에 도시하는 기억부(500)에 상당하는 것이다.
또한, 이 장치에 마련되어 있는 화상 생성 IC(1008)와 소리 생성 IC(1010)에 의해, 소리나 화상의 알맞은 출력이 행하여지도록 되어 있다.
화상 생성 IC(1008)는, CPU(1000)의 명령에 의해, R0M(1002), RAM(1004), 정보 기억 매체(1006) 등으로부터 보내지는 정보에 의거하여 화소 정보를 생성하는 집적 회로이고, 생성되는 화상 신호는, 표시 장치(1018)에 출력된다. 표시 장치(1018)는, CRT나 LCD, ELD, 플라즈마 디스플레이, 또는 프로젝터 등에 의해 실현되고, 도 8에 도시하는 화상 표시부(360)에 상당한다.
또한, 소리 생성 IC(1010)는, CPU(1000)의 명령에 의해, 정보 기억 매체(1006)나 R0M(1002)에 기억되는 정보, RAM(1004)에 격납되는 소리 데이터에 따른 음신호를 생성하는 집적 회로이고, 생성되는 음신호는 스피커(1020)에 의해 출력된다. 스피커(1020)는, 도 8에 도시하는 소리 출력부(350)에 상당하는 것이다.
컨트롤 장치(1022)는, 플레이어가 게임에 관한 조작을 입력하기 위한 장치이고, 그 기능은, 레버, 버튼, 박스 등의 하드웨어에 의해 실현된다. 또한, 이 컨트롤 장치(1022)는, 도 8에 도시하는 조작 입력부(100)에 상당하는 것이다.
통신 장치(1024)는 장치 내부에서 이용되는 정보를 외부와 교환하는 것이고, 프로그램에 따른 주어진 정보를 다른 장치와 송수(送受)하는 것 등에 이용된다. 또한, 이 통신 장치(1024)는, 도 8에 도시하는 통신부(370)에 상당하는 것이다.
그리고, 게임 처리 등이 상기한 처리는, 도 8의 게임 프로그램(502) 등을 격납한 정보 기억 매체(1006)와, 이들 프로그램에 따라 동작하는 CPU(1000), 화상 생성 IC(1008), 소리 생성 IC(1010) 등에 의해 실현된다. CPU(1000), 화상 생성 IC(1008), 및 소리 생성 IC(1010)는, 도 8에 도시하는 처리부(200)에 상당하는 것 이고, 주로 CPU(1000)가 게임 연산부(210), 화상 생성 IC(1008)가 화상 생성부(260)에, 소리 생성 IC(1010)가 소리 생성부(250)에 각각 상당한다.
또한, 화상 생성 IC(1008), 소리 생성 IC(1010) 등에서 행하여지는 처리는, CPU(1000) 또는 범용의 DSP 등에 의해 소프트웨어적으로 행하여도 좋다. 이 경우에는, CPU(1000)가, 도 8에 도시하는 처리부(200)에 상당하는 것으로 된다.
[변형 예]
이상, 본 발명의 실시 형태에 관해 설명하였지만, 본 발명의 적용 형태가 이들로 한정되는 것이 아니고, 발명의 주지를 벗어나지 않는 범위에서 적절히 변경을 가할 수 있다.
예를 들면, 가정용 게임 장치로 비디오 게임을 실행하는 구성을 예로 들었지만, 업무용의 게임 장치나 퍼스널 컴퓨터, 휴대형 게임 장치 등으로 게임을 실행할 수도 있다.
또한, 플레이어 캐릭터의 신장·단축 조작을 예로 들었지만 이것으로 한하는 것이 아니다. 예를 들면, 플레이어 캐릭터가 사용하는 아이템의 신장·단축 제어에 적용할 수도 있다.
또한, 화면 표시 전환 처리에서의 전환 후보로 하는 서브 화면의 선택 조작의 방법으로서, 푸시 버튼(1232)의 누름으로 한하지 않고, 우 아날로그 레버(1236)나 좌 아날로그 레버(1238)를 이용하는 것으로 하여도 좋다.
예를 들면, 도 27은, 서브 화면의 선택 조작으로서 우 아날로그 레버(1236)나 좌 아날로그 레버(1238)를 이용하는 경우의 화면 표시 전환 처리의 흐름을 설명 하기 위한 플로우 차트이다. 또한, 제 1 실시 형태와 같은 스텝에 관해서는 같은 부호를 부여하고 설명은 생략한다.
도 27에서, 화상 생성부(260)가, 엄지손가락 이외의 손가락(예를 들면, 집게손가락)으로 조작 가능한 게임 컨트롤러(1230)의 측면에 마련된 소정의 푸시 스위치(1233)(도 1 참조)가 눌려 있는지의 여부를 판정하고(스텝 S230), 눌려 있다고 판정한 경우(스텝 S230의 YES), 좌우 양쪽의 아날로그 레버의 입력 방향에 의거하여 서브 화면을 선택한다.
구체적으로는, 예를 들면, 서브 화면을 표시/비표시를 나타내는 플래그를 기억부(500)에 기억하여 두고, 우 아날로그 레버(1236) 및 좌 아날로그 레버(1238)의 2개의 방향 입력의 중간 방향을 구하고(스텝 S232), 표시 상태의 서브 화면중에서, 디스플레이(1222)의 화상 표시 범위의 중심으로부터 그 중간방향의 방향에 위치하는 서브 화면을 택일적으로 선택하여 전환 후보로 한다(스텝 S234). 표시 상태의 서브 화면이 없다면, 전환 후보는 미정으로 한다.
그리고, 눌려 있던 소정의 푸시 스위치(1233)가 릴리스된 경우(스텝 S236의 YES), 전환 후보의 서브 화면이 있으면(스텝 S238의 YES), 화면 표시 위치 설정 데이터의 설정중, 메인 가상 카메라와 전환 후보로서 선택된 서브 화면을 촬영하는 서브 가상 카메라를 교체하고(스텝 S240), 스텝 S182로 이행한다. 한편, 전환 후보의 서브 화면이 없으면(스텝 S238의 N0), 화상의 교체를 행하지 않고, 화상 표시 전환 처리를 종료하다.
따라서, 플레이어는 우 아날로그 레버(1236) 및 좌 아날로그 레버(1238)로부 터 손가락을 떼는 일 없이, 플레이어 캐릭터(CP)의 임의 신축으로부터 이동, 또한 서브 화면의 전환도 할 수 있게 되기 때문에 보다 한층 조작성이 높아진다.
또한, 마찬가지의 조작 방법은, 우 아날로그 레버(1236) 및 좌 아날로그 레버(1238)에 의한 방향 입력으로 실현하는 것으로 한하지 않는다.
예를 들면, 도 28에 도시하는 가정용 게임 장치(1200B)와 같이, 게임 컨트롤러(1230R 및 1230L)를 준비한다. 게임 컨트롤러(1230R 및 1230L)는, 우 아날로그 레버(1236) 및 좌 아날로그 레버(1238)에 상당하는 십자방향키(1237)에 엄지손가락을 붙이고, 마치 봉(棒)을 쥐는 요령으로 좌우 양손에 1개씩 쥐고서 조작된다. 그리고, 내장하는 무선 통신기(1239)에 의해 제어 유닛(1210)에 실장된 무선 통신기(1214)와 무선 통신을 실현하여, 게임 장치 본체(1201)에 조작 입력 신호를 출력한다.
또한, 게임 컨트롤러(1230R 및 1230L)는, 각각 가속도 센서(1240)를 내장하고 있고, 각 컨트롤러의 자세 변화에 수반하는 가속도를 검출하고 조작 입력 신호로서 출력한다. 이 가속도에 의한 방향 입력의 전후 좌우를, 디스플레이(1222)의 화면 좌표계의 상하 좌우에 대응시킴으로써 우 아날로그 레버(1236) 및 좌 아날로그 레버(1238)의 대용으로 하면, 게임 컨트롤러(1230R 및 1230L)를 동시에 같은 방향을 향하여 움직임으로써 서브 화면을 전환 후보로서 선택하는 것이 가능해진다. 이 경우도 또한, 플레이어는 십자방향키(1237)로부터 엄지손가락을 떼는 일 없이, 플레이어 캐릭터(CP)의 임의 신축으로부터 이동, 또한 서브 화면의 전환도 할 수 있게 된다.
또한, 상술한 실시 형태에서는, 가정용 게임 장치를 비디오 게임의 예로 들어서 설명하였지만, 본 발명은 업무용의 게임 장치에도 적용 가능함은 말할 필요도 없다.
상기한 바와 같이, 본 발명의 실시예에 관해 상세히 설명하였지만, 본 발명의 신규 사항 및 효과로부터 실체적으로 일탈하지 않는 많은 변형이 가능함은 당업자에게는 용이하게 이해될 수 있을 것이다. 따라서, 이와 같은 변형 예는 전부 본 발명의 범위에 포함되는 것으로 한다.
도 1은 가정용 게임 장치의 구성 예를 도시하는 시스템 구성도.
도 2A 내지 도 2C는 플레이어 캐릭터의 모델 구성을 설명하기 위한 도면.
도 3A 내지 도 3C는 플레이어 캐릭터의 이동 조작과 제어의 관계를 도시하는 개념도.
도 4A 내지 도 4D는 플레이어 캐릭터의 임의 신장 조작과 제어의 관계를 도시하는 개념도.
도 5A 내지 도 5D는 플레이어 캐릭터의 임의 단축 조작과 제어의 관계를 도시하는 개념도.
도 6A 내지 도 6B는 가상 카메라의 촬영 조건의 설정 방법을 설명하기 위한 개념도.
도 7은 서브 가상 카메라의 설정과, 서브 화면 표시의 개념을 설명하기 위한 개념도.
도 8은 기능 구성의 한 예를 도시하는 기능 블록도.
도 9는 캐릭터 제어 데이터의 데이터 구성 예를 도시하는 도면.
도 10은 작용력 데이터의 데이터 구성 예를 도시하는 도면.
도 11A는 머리부 촬영 조건 후보 데이터의 데이터 구성의 예를 도시하는 도면. 도 11B는 도 11A의 데이터 구성의 예에서의 촬영 조건의 개요를 도시하는 도면.
도 12A는 이벤트 촬영 조건 후보 데이터의 데이터 구성의 한 예를 도시하는 도면. 도 12B는 도 12A의 데이터 구성의 예에서의 촬영 조건의 개요를 도시하는 도면.
도 13A는 화상 표시 위치 설정 데이터의 데이터 구성의 한 예를 도시하는 도면. 도 13B는 도 13A의 데이터 구성의 개요를 도시하는 도면.
도 14는 제 1 실시 형태에서의 처리의 흐름을 설명하기 위한 플로우 차트.
도 15는 임의 신축 처리의 흐름을 설명하기 위한 플로우 차트.
도 16은 작용력 설정 처리의 흐름을 설명하기 위한 플로우 차트.
도 17은 이벤트 가상 카메라 설정 처리의 흐름을 설명하기 위한 플로우 차트.
도 18은 메인 가상 카메라 설정 처리의 흐름을 설명하기 위한 플로우 차트.
도 19는 서브 가상 카메라 설정 처리의 흐름을 설명하기 위한 플로우 차트.
도 20은 게임 화면 표시 처리의 흐름을 설명하기 위한 플로우 차트.
도 21은 화상 표시 전환 처리의 흐름을 설명하기 위한 플로우 차트.
도 22A 내지 도 22C는 메인 가상 카메라(CM1)에 의한 촬영 화상의 예를 도시하는 도면.
도 23A 내지 도 23C는 게임 화면 예를 도시하는 도면으로서, 주게임 화면(W1)과 서브 화면(W2)의 표시를 전환하는 경우의 화면의 변화를 도시하는 도면.
도 24A 내지 도 24B는 도 23에 계속된 게임 화면 예를 도시하는 도면.
도 25A 내지 도 25C는 게임 화면 예를 도시하는 도면으로서, 주게임 화면(W1)과 서브 화면(W4)의 표시를 전환하는 경우의 화면의 변화를 도시하는 도면.
도 26은 하드웨어 구성의 한 예를 도시하는 구성도.
도 27은 화면 표시 전환 처리의 변형 예의 흐름을 설명하기 위한 플로우 차트.
도 28은 가정용 게임 장치의 구성 예의 변형 예를 도시하는 시스템 구성도.

Claims (9)

  1. 컴퓨터가, 주어진 오브젝트가 배치된 3차원 가상 공간을 가상 카메라로 촬영한 화상을 생성하는 방법에 있어서,
    상기 오브젝트의 크기 및/또는 형상을 변화시키는 제어를 행하는 단계와,
    상기 3차원 가상 공간에 상기 오브젝트를 포함하는 포함영역을 상기 변화 제어에 따라 가변으로 설정하는 단계와,
    상기 설정된 포함영역 전체가 상기 가상 카메라의 촬영 화상에 수납되도록 상기 가상 카메라의 화각 및/또는 위치를 제어하는 단계와,
    상기 가상 카메라로 촬영한 상기 3차원 가상 공간의 화상을 생성하는 단계를 포함하는 것을 특징으로 하는 화상 생성 방법.
  2. 제 1항에 있어서,
    상기 가상 카메라의 촬영 화상의 세로 치수에 차지하는 상기 설정된 포함영역의 세로 치수의 비율과, 촬영 화상의 가로 치수에 차지하는 포함영역의 가로 치수의 비율 중, 큰 쪽의 비율을 판정하는 단계와,
    상기 큰 쪽의 비율이 소정 비율이 되도록 상기 가상 카메라의 화각 및/또는 위치를 제어하는 단계를 포함하는 것을 특징으로 하는 화상 생성 방법.
  3. 제 2항에 있어서,
    상기 포함영역은 직육면체이고,
    상기 큰 쪽의 비율을 판정하는 것은, 상기 가상 카메라의 촬영 화상에서의 상기 포함영역의 대각선분 각각의 종횡의 치수, 또는, 촬영 화상의 종횡의 치수에 차지하는 대각선분 각각의 종횡의 치수의 비율에 의거하여 상기 큰 쪽의 비율을 판정하는 단계를 포함하는 것을 특징으로 하는 화상 생성 방법.
  4. 제 1항에 있어서,
    상기 포함영역의 소정 위치가, 촬영 화상중의 소정 위치에 위치하도록 상기 가상 카메라의 시점 방향을 제어하는 단계를 더 포함하는 것을 특징으로 하는 화상 생성 방법.
  5. 제 1항에 있어서,
    상기 오브젝트의 크기 및/또는 형상이 변화하는 속도에 대해 느린 속도로 상기 가상 카메라의 화각 및/또는 위치의 제어를 행하는 단계를 더 포함하는 것을 특징으로 하는 화상 생성 방법.
  6. 제 1항에 있어서,
    상기 오브젝트는 신축 자유로운 끈모양체 형상을 가지며,
    상기 오브젝트를 신축시키는 제어를 행하는 단계를 더 포함하는 것을 특징으로 하는 화상 생성 방법.
  7. 제 6항에 있어서,
    방향 조작 입력에 따라 상기 오브젝트의 단부를 이동 제어시키고, 해당 단부의 이동에 이끌려서 전신이 이동하도록 상기 끈모양체 형상의 오브젝트를 이동 제어하는 단계와,
    상기 이동 제어된 끈모양체 형상의 오브젝트의 현재의 체형에 따라 상기 포함영역을 가변으로 설정하는 단계를 더 포함하는 것을 특징으로 하는 화상 생성 방법.
  8. 컴퓨터에, 제 1항 내지 제 7항 중 어느 한 항에 기재된 방법을 실행시키기 위한 프로그램을 기억한 것을 특징으로 하는 컴퓨터 판독 가능한 정보 기억 매체.
  9. 주어진 오브젝트가 배치된 3차원 가상 공간을 가상 카메라로 촬영한 화상을 생성하는 화상 생성 장치에 있어서,
    상기 오브젝트의 크기 및/또는 형상을 변화시키는 제어를 행하는 오브젝트 변화 제어부와,
    상기 3차원 가상 공간에 상기 오브젝트를 포함하는 포함영역을 상기 변화 제어에 따라 가변으로 설정하는 포함영역 설정부와,
    상기 설정된 포함영역 전체가 상기 가상 카메라의 촬영 화상에 수납되도록 상기 가상 카메라의 화각 및/또는 위치를 제어하는 가상 카메라 제어부와,
    상기 가상 카메라로 촬영한 상기 3차원 가상 공간의 화상을 생성하는 화상 생성부를 구비한 것을 특징으로 하는 화상 생성 장치.
KR1020080006547A 2007-01-31 2008-01-22 화상 생성 방법, 정보 기억 매체 및 화상 생성 장치 KR100917313B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2007-00020463 2007-01-31
JP2007020463A JP5042651B2 (ja) 2007-01-31 2007-01-31 プログラム、情報記憶媒体及びゲーム装置

Publications (2)

Publication Number Publication Date
KR20080071901A true KR20080071901A (ko) 2008-08-05
KR100917313B1 KR100917313B1 (ko) 2009-09-11

Family

ID=39166044

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080006547A KR100917313B1 (ko) 2007-01-31 2008-01-22 화상 생성 방법, 정보 기억 매체 및 화상 생성 장치

Country Status (5)

Country Link
US (1) US20080180438A1 (ko)
JP (1) JP5042651B2 (ko)
KR (1) KR100917313B1 (ko)
GB (1) GB2446263B (ko)
HK (1) HK1121544A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108031118A (zh) * 2017-12-12 2018-05-15 苏州蜗牛数字科技股份有限公司 一种建立曲面模型交互体感界面方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4964057B2 (ja) 2007-08-08 2012-06-27 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
JP4425963B2 (ja) * 2008-03-14 2010-03-03 株式会社コナミデジタルエンタテインメント 画像生成装置、画像生成方法、および、プログラム
JP2010029398A (ja) * 2008-07-28 2010-02-12 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
JP5208842B2 (ja) * 2009-04-20 2013-06-12 株式会社カプコン ゲームシステム、ゲーム制御方法、プログラム、および、このプログラムを記録したコンピュータ読み取り可能な記録媒体
US9350978B2 (en) * 2009-05-29 2016-05-24 Two Pic Mc Llc Method of defining stereoscopic depth
US8893047B2 (en) * 2009-11-09 2014-11-18 International Business Machines Corporation Activity triggered photography in metaverse applications
JP2011205513A (ja) * 2010-03-26 2011-10-13 Aisin Seiki Co Ltd 車両周辺監視装置
US9384587B2 (en) * 2010-11-29 2016-07-05 Verizon Patent And Licensing Inc. Virtual event viewing
JP6085411B2 (ja) * 2011-06-02 2017-02-22 任天堂株式会社 画像処理装置、画像処理方法、および画像処理装置の制御プログラム
US10150028B2 (en) 2012-06-04 2018-12-11 Sony Interactive Entertainment Inc. Managing controller pairing in a multiplayer game
JP5161385B2 (ja) * 2012-06-11 2013-03-13 株式会社カプコン ゲームシステム、ゲーム制御方法、プログラム、および、このプログラムを記録したコンピュータ読み取り可能な記録媒体
US20140078144A1 (en) * 2012-09-14 2014-03-20 Squee, Inc. Systems and methods for avatar creation
US9558578B1 (en) * 2012-12-27 2017-01-31 Lucasfilm Entertainment Company Ltd. Animation environment
US20140320592A1 (en) * 2013-04-30 2014-10-30 Microsoft Corporation Virtual Video Camera
US9129478B2 (en) * 2013-05-20 2015-09-08 Microsoft Corporation Attributing user action based on biometric identity
JP2016099665A (ja) * 2014-11-18 2016-05-30 株式会社東芝 視点位置算出装置、画像生成装置、視点位置算出方法、画像生成方法、視点位置算出プログラム、及び、画像生成プログラム
JP6643775B2 (ja) * 2015-01-29 2020-02-12 株式会社バンダイナムコエンターテインメント ゲーム機、ゲームシステム及びプログラム
JP6389208B2 (ja) * 2016-06-07 2018-09-12 株式会社カプコン ゲームプログラム及びゲーム装置
JP6496375B2 (ja) * 2017-09-13 2019-04-03 株式会社スクウェア・エニックス プログラム、コンピュータ装置、及びプログラム制御方法
CN112843687B (zh) * 2020-12-31 2022-10-21 上海米哈游天命科技有限公司 拍摄方法、装置、电子设备及存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5101475A (en) * 1989-04-17 1992-03-31 The Research Foundation Of State University Of New York Method and apparatus for generating arbitrary projections of three-dimensional voxel-based data
US6128004A (en) * 1996-03-29 2000-10-03 Fakespace, Inc. Virtual reality glove system with fabric conductors
US6343987B2 (en) * 1996-11-07 2002-02-05 Kabushiki Kaisha Sega Enterprises Image processing device, image processing method and recording medium
US6404427B1 (en) * 1999-06-25 2002-06-11 Institute For Information Industry Rapid checking method for determining whether an object is located within a field of vision
JP3197536B2 (ja) * 1999-07-14 2001-08-13 株式会社スクウェア ゲーム装置、及び画像表示制御方法法並びに画像表示制御プログラムを記録した記録媒体
JP2002045571A (ja) * 2000-08-01 2002-02-12 Sgs:Kk ネットワークゲーム
JP4535604B2 (ja) * 2000-11-28 2010-09-01 株式会社バンダイナムコゲームス ゲームシステム及びプログラム
CA2341084A1 (en) * 2001-03-16 2002-09-16 Trf Inc. Animated selection based navigation for complex data sets
WO2002101660A1 (en) * 2001-06-12 2002-12-19 Xitact S.A. Calculating the distance between graphical objects
US7190365B2 (en) * 2001-09-06 2007-03-13 Schlumberger Technology Corporation Method for navigating in a multi-scale three-dimensional scene
US7123766B2 (en) * 2002-02-11 2006-10-17 Cedara Software Corp. Method and system for recognizing and selecting a region of interest in an image
JP3843242B2 (ja) * 2002-02-28 2006-11-08 株式会社バンダイナムコゲームス プログラム、情報記憶媒体、およびゲーム装置
WO2004045734A1 (ja) * 2002-11-20 2004-06-03 Sega Corporation ゲーム画像の表示制御プログラム及びゲーム装置並びに記憶媒体
JP4245356B2 (ja) 2003-01-08 2009-03-25 株式会社バンダイナムコゲームス ゲームシステム及び情報記憶媒体
US7221379B2 (en) * 2003-05-14 2007-05-22 Pixar Integrated object squash and stretch method and apparatus
JP4316334B2 (ja) * 2003-09-25 2009-08-19 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及びゲーム装置
US9327191B2 (en) * 2006-05-08 2016-05-03 Nintendo Co., Ltd. Method and apparatus for enhanced virtual camera control within 3D video games or other computer graphics presentations providing intelligent automatic 3D-assist for third person viewpoints

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108031118A (zh) * 2017-12-12 2018-05-15 苏州蜗牛数字科技股份有限公司 一种建立曲面模型交互体感界面方法
CN108031118B (zh) * 2017-12-12 2020-09-01 苏州蜗牛数字科技股份有限公司 一种建立曲面模型交互体感界面方法

Also Published As

Publication number Publication date
KR100917313B1 (ko) 2009-09-11
JP2008186323A (ja) 2008-08-14
US20080180438A1 (en) 2008-07-31
GB2446263B (en) 2011-07-13
GB0800997D0 (en) 2008-02-27
HK1121544A1 (en) 2009-04-24
JP5042651B2 (ja) 2012-10-03
GB2446263A (en) 2008-08-06

Similar Documents

Publication Publication Date Title
KR100917313B1 (ko) 화상 생성 방법, 정보 기억 매체 및 화상 생성 장치
JP5154775B2 (ja) ゲームプログラムおよびゲーム装置
US8259112B2 (en) Image generating apparatus, method of generating image, program, and recording medium
US7775882B2 (en) Game apparatus for changing a visual point position of a virtual camera in conjunction with an attack by and enemy character
JP5520656B2 (ja) プログラム及び画像生成装置
JP4180065B2 (ja) 画像生成方法、画像生成装置、および画像生成プログラム
JP5450569B2 (ja) プログラム、電子機器およびコンピュータシステム
JP6679523B2 (ja) 画像処理プログラム、画像処理システム、画像処理装置および画像処理方法
EP1830322A1 (en) A method, an apparatus and a computer program product for generating an image
JP2008186324A (ja) プログラム、情報記憶媒体及びゲーム装置
JP6576874B2 (ja) 画像処理装置、画像処理システムおよび画像処理方法
KR20060047773A (ko) 화상 처리 프로그램, 게임 처리 프로그램 및 게임 정보처리 장치
JP2011258160A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4797439B2 (ja) ゲーム装置及びプログラム
US10688395B2 (en) Storage medium having stored therein information processing program, information processing apparatus, information processing system, and information processing method
JP5037077B2 (ja) プログラム、情報記憶媒体及びゲーム装置
JP6581341B2 (ja) 情報処理装置、情報処理プログラム、情報処理方法、および情報処理システム
JP2011186834A (ja) ゲームプログラム、記録媒体、及びコンピュータ装置
JP5632657B2 (ja) 画像処理プログラム、画像処理装置、画像処理システム及び画像処理方法
US7621812B2 (en) Game system and game program
US20110130201A1 (en) Game device, control method for a game device, and information storage medium
JP2009028188A (ja) プログラム、情報記憶媒体及びゲーム装置
JP4159940B2 (ja) ゲームシステムおよびゲームプログラム
JP4469709B2 (ja) 画像処理プログラムおよび画像処理装置
JP2009106393A (ja) プログラム、情報記憶媒体及びゲーム装置

Legal Events

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

Payment date: 20120821

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130822

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150819

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160818

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 10