KR101951225B1 - 물리엔진을 사용하지 않는 리얼타임 렌더링 오브젝트 표현 방법 및 시스템 - Google Patents
물리엔진을 사용하지 않는 리얼타임 렌더링 오브젝트 표현 방법 및 시스템 Download PDFInfo
- Publication number
- KR101951225B1 KR101951225B1 KR1020170124384A KR20170124384A KR101951225B1 KR 101951225 B1 KR101951225 B1 KR 101951225B1 KR 1020170124384 A KR1020170124384 A KR 1020170124384A KR 20170124384 A KR20170124384 A KR 20170124384A KR 101951225 B1 KR101951225 B1 KR 101951225B1
- Authority
- KR
- South Korea
- Prior art keywords
- animation
- rendering
- server
- rti
- mapping
- Prior art date
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
일 실시예에 따른 컴퓨터로 구현되는 오브젝트 표현 서버에 의하여 수행되는 오브젝트 표현 방법은, 게임 환경에서 오브젝트(Object)를 동작시키는 애니메이션을 생성하는 단계; 상기 오브젝트에 대한 텍스처 렌더링을 수행하는 단계; 및 상기 애니메이션에 포함된 오브젝트에 상기 렌더링이 수행된 오브젝트를 매핑함에 따라 획득된 3차원 애니메이션을 플레이하는 단계를 포함할 수 있다.
Description
아래의 설명은 물리엔진을 이용하지 않고 렌더링 오브젝트를 표현하는 기술에 관한 것이다.
최근 들어 많은 사용자들이 온라인 게임을 위한 게임 사이트에 접속하여 다양한 종류의 게임들을 이용함에 따라 여가 시간이나 자투리 시간에 온라인 게임의 이용이 크게 증가하고 있다. 이러한 온라인 게임은 물리엔진을 이용하여 제공되는 것이 일반적이다.
일례로, 물리엔진을 통하여 주사위 게임을 제공하는 방법을 설명하자면, 각각의 숫자에 대응하는 결과값이 도출될 수 있도록 주사위 눈의 개수만큼 애니메이션을 생성해야 한다. 이와 같이 생성된 애니메이션은 물리엔진을 이용하여 플레이(Play)하게 된다. 하지만 물리엔진을 이용한 주사위 게임은 주사위를 컨트롤하기 어렵고, 컨트롤을 한다 하더라도 사용자에게 위화감을 제거하는데 역부족이기 때문에 사용자의 흥미가 금방 떨어질 수 있다. 또한, 각각의 주사위의 눈의 개수에 대응하는 애니메이션을 생성해야 하기 때문에 시간이 오래 소요되고, 제작 단가가 높다는 문제점이 존재한다. 더욱이, 한 개의 주사위에 대해서는 물리엔진의 제어를 통하여 표현할 수 있으나, 복수 개의 주사위가 존재할 경우, 주사위 각각이 서로 영향을 미쳐 물리엔진을 통한 조작의 어려움이 있다.
참고자료: 한국공개특허 제10-2017-0020497, 한국공개특허 제10-2016-0146089
오브젝트를 동작시키는 애니메이션에 텍스처 렌더링이 수행된 오브젝트를 매핑시킴에 따라 생성된 3차원 애니메이션을 플레이하여 물리엔진 없이 리얼타임 렌더링 오브젝트를 표현하는 방법 및 시스템을 제공할 수 있다.
컴퓨터로 구현되는 오브젝트 표현 서버에 의하여 수행되는 오브젝트 표현 방법은, 게임 환경에서 오브젝트(Object)를 동작시키는 애니메이션을 생성하는 단계; 상기 오브젝트에 대한 텍스처 렌더링을 수행하는 단계; 및 상기 애니메이션에 포함된 오브젝트에 상기 렌더링이 수행된 오브젝트를 매핑함에 따라 획득된 3차원 애니메이션을 플레이하는 단계를 포함할 수 있다.
상기 3차원 애니메이션을 플레이하는 단계는, 상기 애니메이션에 포함된 오브젝트에 매핑된 상기 렌더링이 수행된 오브젝트가 상기 애니메이션에 설정된 오브젝트의 동작 과정에 따라 플레이되는 단계를 포함할 수 있다.
상기 3차원 애니메이션을 플레이하는 단계는, 상기 애니메이션에 포함된 오브젝트를 인식하고, 상기 인식된 오브젝트의 위치 정보에 기초하여 상기 렌더링이 수행된 오브젝트를 매핑시키는 단계를 포함할 수 있다.
상기 3차원 애니메이션을 플레이하는 단계는, 상기 애니메이션 또는 상기 렌더링이 수행된 오브젝트 중 어느 하나를 고정시키는 단계를 포함할 수 있다.
상기 3차원 애니메이션을 플레이하는 단계는, 상기 애니메이션에 포함된 오브젝트에 상기 렌더링이 수행된 오브젝트를 매핑함에 따라 상기 애니메이션을 고정시키되 상기 애니메이션에 설정된 오브젝트의 동작 과정에 따라 상기 매핑된 오브젝트를 플레이하는 단계를 포함할 수 있다.
상기 3차원 애니메이션을 플레이하는 단계는, 상기 애니메이션의 동작 과정에 따라 플레이가 종료된 오브젝트에 기 설정된 결과값을 출력하는 단계를 포함할 수 있다.
상기 오브젝트에 설정된 위치 정보에 기초하여 상기 오브젝트에 대한 텍스처 렌더링을 수행하는 단계는, 상기 오브젝트에 설정된 위치 정보에 랜덤으로 추출된 결과값을 부여하고, 상기 결과값이 부여된 오브젝트에 텍스처 렌더링을 수행하는 단계를 포함할 수 있다.
상기 오브젝트에 설정된 위치 정보에 기초하여 상기 오브젝트에 대한 텍스처 렌더링을 수행하는 단계는, 상기 오브젝트가 주사위일 경우, 상기 주사위에 존재하는 여섯면 중 어느 하나에 결과값을 적용함에 따라 상기 결과값이 부여된 어느 한 면 이외의 다른 면들에 상기 주사위의 룰에 따른 각각의 값이 자동으로 부여되고, 상기 결과값이 부여된 주사위의 어느 한 면에 텍스처 렌더링을 수행하는 단계를 포함할 수 있다.
상기 게임 환경에서 오브젝트를 동작시키는 애니메이션을 생성하는 단계는, 상기 게임 환경에 존재하는 적어도 하나 이상의 오브젝트를 애니메이션에 포함시키고, 상기 애니메이션에 포함된 오브젝트를 동작시키기 위하여 기 설정된 개수의 서로 다른 애니메이션을 생성하는 단계를 포함할 수 있다.
상기 게임 환경에서 오브젝트를 동작시키는 애니메이션을 생성하는 단계는, 상기 애니메이션에 포함된 오브젝트를 동작시키기 위한 입력값에 기초하여 생성된 상기 애니메이션에 포함된 오브젝트의 동작 과정을 저장하는 단계를 포함할 수 있다.
컴퓨터로 구현되는 오브젝트 표현 서버에 의하여 수행되는 오브젝트 표현 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램은, 게임 환경에서 오브젝트(Object)를 동작시키는 애니메이션을 생성하는 단계; 상기 오브젝트에 대한 텍스처 렌더링을 수행하는 단계; 및 상기 애니메이션에 포함된 오브젝트에 상기 렌더링이 수행된 오브젝트를 매핑함에 따라 획득된 3차원 애니메이션을 플레이하는 단계를 포함할 수 있다.
컴퓨터로 구현되는 오브젝트 표현 서버는, 게임 환경에서 오브젝트(Object)를 동작시키는 애니메이션을 생성하는 애니메이션 생성부; 상기 오브젝트에 대한 텍스처 렌더링을 수행하는 렌더링 수행부; 및 상기 애니메이션에 포함된 오브젝트에 상기 렌더링이 수행된 오브젝트를 매핑함에 따라 획득된 3차원 애니메이션을 플레이하는 애니메이션 재생부를 포함할 수 있다.
상기 애니메이션 재생부는, 상기 애니메이션에 포함된 오브젝트에 매핑된 상기 렌더링이 수행된 오브젝트가 상기 애니메이션에 설정된 오브젝트의 동작 과정에 따라 플레이될 수 있다.
상기 애니메이션 재생부는, 상기 애니메이션에 포함된 오브젝트를 인식하고, 상기 인식된 오브젝트의 위치 정보에 기초하여 상기 렌더링이 수행된 오브젝트를 매핑시킬 수 있다.
상기 애니메이션 재생부는, 상기 애니메이션 또는 상기 렌더링이 수행된 오브젝트 중 어느 하나를 고정시킬 수 있다.
상기 애니메이션 재생부는, 상기 애니메이션에 포함된 오브젝트에 상기 렌더링이 수행된 오브젝트를 매핑함에 따라 상기 애니메이션을 고정시키되 상기 애니메이션에 설정된 오브젝트의 동작 과정에 따라 상기 매핑된 오브젝트를 플레이할 수 있다.
상기 애니메이션 재생부는, 상기 애니메이션의 동작 과정에 따라 플레이가 종료된 오브젝트에 기 설정된 결과값을 출력할 수 있다.
상기 렌더링 수행부는, 상기 오브젝트에 설정된 위치 정보에 랜덤으로 추출된 결과값을 부여하고, 상기 결과값이 부여된 오브젝트에 텍스처 렌더링을 수행할 수 있다.
상기 애니메이션 생성부는, 상기 게임 환경에 존재하는 적어도 하나 이상의 오브젝트를 애니메이션에 포함시키고, 상기 애니메이션에 포함된 오브젝트를 동작시키기 위하여 기 설정된 개수의 서로 다른 애니메이션을 생성할 수 있다.
상기 애니메이션 생성부는, 상기 애니메이션에 포함된 오브젝트를 동작시키기 위한 입력값에 기초하여 생성된 상기 애니메이션에 포함된 오브젝트의 동작 과정을 저장할 수 있다.
애니메이션에 포함된 오브젝트에 렌더링이 수행된 오브젝트를 매핑함에 따라 생성된 3차원 애니메이션을 플레이할 경우, 결과값을 예측하기 어렵기 때문에 사용자의 흥미를 유발시킬 수 있다.
또한, 3차원 애니메이션을 통하여 보다 자연스럽게 오브젝트가 동작되기 때문에 보다 실감나는 게임을 제공할 수 있다.
도 1 은 일 실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2는 일 실시예에 따른 단말 및 서버의 내부 구성을 설명하기 위한 블록도이다.
도 3은 일 실시예에 따른 서버의 프로세서가 포함할 수 있는 구성 요소의 예를 도시한 블록도이다.
도 4는 일 실시예에 따른 서버의 오브젝트 표현 방법의 예를 도시한 흐름도이다.
도 5는 일 실시예에 따른 오브젝트 표현 서버에서 오브젝트를 동작시키는 애니메이션을 생성하는 것을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 오브젝트 표현 서버에서 오브젝트에 텍스처 렌더링을 수행하는 것을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 오브젝트 표현 서버에서 3차원 애니메이션을 생성한 것을 설명하기 위한 도면이다.
도 8 및 도 9는 일 실시예에 따른 오브젝트 표현 서버에서 생성된 게임을 플레이하는 것을 나타낸 예이다.
도 2는 일 실시예에 따른 단말 및 서버의 내부 구성을 설명하기 위한 블록도이다.
도 3은 일 실시예에 따른 서버의 프로세서가 포함할 수 있는 구성 요소의 예를 도시한 블록도이다.
도 4는 일 실시예에 따른 서버의 오브젝트 표현 방법의 예를 도시한 흐름도이다.
도 5는 일 실시예에 따른 오브젝트 표현 서버에서 오브젝트를 동작시키는 애니메이션을 생성하는 것을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 오브젝트 표현 서버에서 오브젝트에 텍스처 렌더링을 수행하는 것을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 오브젝트 표현 서버에서 3차원 애니메이션을 생성한 것을 설명하기 위한 도면이다.
도 8 및 도 9는 일 실시예에 따른 오브젝트 표현 서버에서 생성된 게임을 플레이하는 것을 나타낸 예이다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
도 1 은 일 실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 1의 네트워크 환경은 단말(110), 오브젝트 표현 서버(100) 및 네트워크(120)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 단말의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다.
단말(110)은 컴퓨터 장치로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 단말(110)의 예를 들면, 스마트폰(smart phone), 휴대폰, 네비게이션, 블랙박스, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC, 웨어러블 기기, HMD(Head mounted Display) 등이 있다. 단말(110)은 무선 또는 유선 통신 방식을 이용하여 네트워크(120)를 통해 다른 단말들 및/또는 오브젝트 표현 서버(100)와 통신할 수 있다.
통신 방식은 제한되지 않으며, 네트워크(120)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(120)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(120)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
오브젝트 표현 서버(100)는 단말(110)과 네트워크(120)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 일례로, 오브젝트 표현 서버(100)는 네트워크(120)를 통해 접속한 단말(110)로 어플리케이션의 설치를 위한 파일을 제공할 수 있다. 이 경우 단말(110)은 오브젝트 표현 서버(100)로부터 제공된 파일을 이용하여 어플리케이션을 설치할 수 있다. 또한 단말(110)이 포함하는 운영체제(Operating System, OS)나 적어도 하나의 프로그램(일례로 브라우저나 상기 설치된 어플리케이션)의 제어에 따라 오브젝트 표현 서버(100)에 접속하여 오브젝트 표현 서버(100)가 제공하는 서비스나 컨텐츠를 제공받을 수 있다. 예를 들면, 단말(110)이 어플리케이션의 제어에 따라 네트워크(120)를 통해 서비스 요청 메시지를 오브젝트 표현 서버(100)로 전송하면, 오브젝트 표현 서버(100)는 서비스 요청 메시지에 대응하는 코드를 단말(110)로 전송할 수 있고, 단말(110)은 어플리케이션의 제어에 따라 코드에 따른 화면을 구성하여 표시함으로써 사용자에게 컨텐츠를 제공할 수 있다.
도 2는 일 실시예에 따른 단말 및 서버의 내부 구성을 설명하기 위한 블록도이다.
도 2에서는 하나의 단말 및 하나의 서버의 내부 구성을 설명하고 있으나, 도 1을 통해 설명한 네트워크 환경에 포함될 수 있는 또 다른 단말들이나 또 다른 서버들에도 동일한 또는 유사한 내부 구성요소들이 적용될 수 있다.
단말(110)은 예를 들면, 프로세서(200), 적어도 하나의 어플리케이션(201), 메모리(202), 통신 모듈(203) 및 입출력 인터페이스(204)를 포함할 수 있다.
오브젝트 표현 서버(100)는 프로세서(211), 메모리(212), 통신 모듈(213)을 포함할 수 있다. 메모리(202, 212)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 영구 대용량 저장장치(permanent mass storage device)를 포함할 수 있다. 또한, 메모리(202, 212)에는 운영체제나 적어도 하나의 프로그램 코드(일례로 단말(110)에 설치되어 구동되는 브라우저나 상술한 어플리케이션 등을 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(202, 212)와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 통신 모듈(203, 213)을 통해 메모리(202, 212)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템(일례로 상술한 서버(100))가 네트워크(120)를 통해 제공하는 파일들에 의해 설치되는 프로그램(일례로 상술한 어플리케이션)에 기반하여 메모리(202, 212)에 로딩될 수 있다.
프로세서(200, 211)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(202, 212) 또는 통신 모듈(203, 213)에 의해 프로세서(200, 211)로 제공될 수 있다. 예를 들면, 프로세서(200, 211)는 메모리(202, 212)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 모듈(203, 213)은 네트워크(120)를 통해 단말(110)과 오브젝트 표현 서버(100)가 서로 통신하기 위한 기능을 제공할 수 있으며, 다른 단말 또는 다른 서버와 통신하기 위한 기능을 제공할 수 있다. 일례로, 단말(110)의 프로세서(200)가 메모리(202)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이 통신 모듈(203)의 제어에 따라 네트워크(120)를 통해 오브젝트 표현 서버(100)로 전달될 수 있다. 역으로, 오브젝트 표현 서버(100)의 프로세서(211)의 제어에 따라 제공되는 제어 신호나 명령, 컨텐츠, 파일 등이 통신 모듈(213)과 네트워크(120)를 거쳐 단말(110)의 통신 모듈(203)을 통해 단말(110)로 수신될 수 있다. 예를 들면, 통신 모듈(203)을 통해 수신된 오브젝트 표현 서버(100)의 제어 신호나 명령 등은 프로세서(200)나 메모리(202)로 전달될 수 있고, 컨텐츠나 파일 등은 단말(110)이 더 포함할 수 있는 저장 매체로 저장될 수 있다.
입출력 인터페이스(204)는 입출력 장치와의 인터페이스를 위한 수단일 수 있다. 예를 들면, 입력 장치는 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 어플리케이션의 통신 세션을 표시하기 위한 디스플레이와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(204)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 보다 구체적인 예로, 단말(110)의 프로세서(200)는 메모리(202)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 오브젝트 표현 서버(100)나 다른 단말이 제공하는 데이터를 이용하여 구성되는 서비스 화면이나 컨텐츠가 입출력 인터페이스(204)를 통해 디스플레이(205)에 표시될 수 있다.
또한, 다른 실시예들에서 단말(110) 및 오브젝트 표현 서버(100)는 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들면, 단말(110)은 입출력 장치 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 단말(110)이 스마트 폰인 경우, 일반적으로 스마트 폰이 포함하고 있는 가속도 센서나 자이로 센서, 카메라 모듈(206), 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 단말(110)에 더 포함되도록 구현될 수 있다.
도 3은 일 실시예에 따른 서버의 프로세서가 포함할 수 있는 구성 요소의 예를 도시한 블록도이고, 도 4는 일 실시예에 따른 서버의 오브젝트 표현 방법의 예를 도시한 흐름도이다.
오브젝트 표현 서버(100)의 프로세서(211)는 애니메이션 생성부(310), 렌더링 수행부(320) 및 애니메이션 재생부(330)를 포함할 수 있다. 이러한 프로세서(211)의 구성요소들은 오브젝트 표현 서버(100)에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서(211)에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 프로세서(211) 및 프로세서(211)의 구성요소들은 도 4의 오브젝트 표현 방법이 포함하는 단계들(410 내지 430)을 수행하도록 오브젝트 표현 서버(100)를 제어할 수 있다. 이때, 프로세서(211) 및 프로세서(211)의 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.
프로세서(211)는 오브젝트 표현 방법을 위한 프로그램의 파일에 저장된 프로그램 코드를 메모리에 로딩할 수 있다. 예를 들면, 오브젝트 표현 서버(110)에서 프로그램이 실행되면, 프로세서는 운영체제의 제어에 따라 프로그램의 파일로부터 프로그램 코드를 메모리에 로딩하도록 서버를 제어할 수 있다. 이때, 프로세서(211) 및 프로세서(211)가 포함하는 애니메이션 생성부(310), 렌더링 수행부(320) 및 애니메이션 재생부(330) 각각은 메모리에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(410 내지 430)을 실행하기 위한 프로세서(211)의 서로 다른 기능적 표현들일 수 있다.
단계(410)에서 애니메이션 생성부(310)는 게임 환경에서 오브젝트를 동작시키는 애니메이션을 생성할 수 있다. 애니메이션 생성부(310)는 적어도 하나 이상의 오브젝트를 애니메이션에 포함시키고, 애니메이션에 포함된 오브젝트를 동작시키기 위하여 기 설정된 개수의 서로 다른 애니메이션을 생성할 수 있다. 애니메이션 생성부(310)는 애니메이션에 포함된 오브젝트를 동작시키기 위한 각각의 입력값이 입력됨에 따라 애니메이션에 포함된 오브젝트의 동작 과정을 저장할 수 있다. 예를 들면, 애니메이션 생성부(310)는 애니메이션에 포함된 오브젝트를 동작시키기 위한 중력값, 속도값, 방향값, 회전값 등이 입력됨을 수신할 수 있고, 이러한 입력값에 기초하여 오브젝트를 동작시킬 수 있다. 또는, 애니메이션 생성부(310)는 애니메이션에 포함된 오브젝트에 설정된 결과값을 도출하기 위하여 오브젝트를 동작시키기 위한 입력값을 자동으로 계산하고, 계산된 입력값에 기초하여 오브젝트를 동작시킬 수 있다.
단계(420)에서 렌더링 수행부(320)는 오브젝트에 대한 텍스처 렌더링을 수행할 수 있다. 렌더링 수행부(320)는 오브젝트에 설정된 위치 정보에 랜덤으로 추출된 결과값을 부여하고, 결과값이 부여된 오브젝트에 텍스처 렌더링을 수행할 수 있다. 이때, 오브젝트에 결과값을 부여함에 따라 추후에 3차원 애니메이션에서 오브젝트의 플레이가 종료된 경우, 오브젝트에 설정된 위치 정보에 결과값이 출력될 수 있다.
단계(430)에서 애니메이션 재생부(330)는 애니메이션에 포함된 오브젝트에 렌더링된 오브젝트를 매핑함에 따라 획득된 3차원 애니메이션을 플레이할 수 있다. 애니메이션 재생부(330)는 애니메이션에 포함된 오브젝트를 인식하고, 인식된 오브젝트의 위치 정보에 기초하여 렌더링이 수행된 오브젝트를 매핑시킬 수 있다. 예를 들면, 애니메이션 재생부(330)는 애니메이션에 포함된 오브젝트의 좌표 정보에 기초하여 렌더링이 수행된 오브젝트를 상기 좌표 정보에 일치시킬 수 있다.
애니메이션 재생부(330)는 애니메이션에 포함된 오브젝트에 렌더링이 수행된 오브젝트가 애니메이션에 설정된 오브젝트의 동작 과정에 따라 플레이될 수 있다. 더욱 상세하게는, 애니메이션 재생부(330)는 애니메이션에 존재하는 오브젝트가 왼쪽에서 오른쪽으로 이동하는 것으로 동작 과정이 설정되어 있을 경우, 3차원 애니메이션에서 애니메이션의 오브젝트에 매핑된 렌더링이 수행된 오브젝트가 왼쪽에서 오른쪽으로 이동하게 된다.
또한, 애니메이션 재생부(330)는 애니메이션에 포함된 오브젝트에 렌더링이 수행된 오브젝트를 매핑함에 있어서, 애니메이션 또는 렌더링이 수행된 오브젝트 중 어느 하나를 고정시킬 수 있다. 일례로, 애니메이션 재생부(330)는 애니메이션에 포함된 오브젝트에 렌더링이 수행된 오브젝트를 매핑함에 따라 애니메이션을 고정시키되 애니메이션에 설정된 오브젝트의 동작 과정에 따라 매핑된 렌더링이 수행된 오브젝트를 플레이할 수 있다. 또한, 애니메이션 재생부(330)는 역으로, 렌더링이 수행된 오브젝트를 고정시키되 애니메이션의 동작 과정에 따라 애니메이션이 플레이될 수 있다.
도 5는 일 실시예에 따른 오브젝트 표현 서버에서 오브젝트를 동작시키는 애니메이션을 생성하는 것을 설명하기 위한 도면이다.
오브젝트 표현 서버는 적어도 하나의 오브젝트를 동작시키는 애니메이션(500)을 생성할 수 있다. 애니메이션(500)이란 프레임 촬영을 통하여 그림이나 오브젝트를 움직이는 것처럼 보이게 만드는 것을 의미한다. 실시예에서 오브젝트 표현 서버는 오브젝트(510)를 동작시키기 위한 적어도 하나 이상의 애니메이션(500)을 생성할 수 있다. 오브젝트 표현 서버는 애니메이션(500)에 포함된 오브젝트에 중력값, 속도값, 방향값 등을 포함하는 입력값이 입력됨을 수신할 수 있다. 이때, 오브젝트는 입력값에 기초하여 동작 과정이 생성되어 동작 과정에 따라 실행될 수 있다. 다시 말해서, 오브젝트 표현 서버는 애니메이션(500)에 포함된 오브젝트(510)가 어떤 방향으로, 어느 위치, 어떤 속도로 이동될 것인지 결정할 수 있다.
또한, 오브젝트(510)란 게임 환경에 존재하는 사물 혹은 개체를 의미할 수 있으며, 오브젝트(510)의 속성 및 특성에 따라 게임 환경에서 동작될 수 있다. 예를 들면, 주사위 게임일 경우, 주사위 게임에서 오브젝트(510)는 주사위일 수 있다. 게임은 주사위 게임에 한정되는 것은 아니며, 애니메이션과 오브젝트를 구분할 수 있는 룰렛 게임, 방아쇠 게임, 주사위 게임, 핀볼 등과 같이 다양한 게임에 적용될 수 있다.
오브젝트 표현 서버는 오브젝트(510)를 동작시키는 애니메이션(500)을 생성하는 과정을 주사위 게임을 예를 들어 설명하기로 한다. 오브젝트 표현 서버는 주사위 게임에서 주사위를 굴리는 동작을 포함하는 적어도 하나 이상의 애니메이션(500)을 생성할 수 있다. 사용자가 주사위를 굴릴 때, 사용자의 액션에 의하여 주사위를 아래에서 위로 굴릴 수 있고, 좌우로 굴릴 수 있고, 위에서 아래로 굴리는 등과 같이 다양한 방향, 속도, 위치로 주사위가 굴러갈 수 있다. 사용자의 액션에 대응하여 주사위가 굴러가기 때문에, 오브젝트 표현 서버는 주사위가 굴러가는 애니메이션에 대하여 적어도 하나 이상의 애니메이션(500)을 생성하여 보다 실감나는 게임을 제공할 수 있다.
오브젝트 표현 서버는 애니메이션(500)의 동작 과정에 따라 플레이된 오브젝트(510)가 기 설정된 결과값을 출력할 수 있다. 애니메이션의 동작 과정은 애니메이션(500)에 포함된 오브젝트(510)가 어떤 방향으로, 어느 위치로, 어떤 속도로 이동하고, 어떤 위치에 정지할 것인지 결정되어 있는 것을 의미한다. 사전에, 오브젝트 표현 서버는 오브젝트(510)에 대한 결과값을 설정할 수 있다. 이때, 결과값은 오브젝트에 최종적으로 출력되도록 하기 위한 값을 의미할 수 있다. 더욱 상세하게는, 오브젝트 표현 서버는 주사위가 굴러간 후 멈출 때, 주사위의 특정 면(520)이 특정 위치(예를 들면, 우측, 좌측, 아랫면, 윗면 등)에 위치하도록 결과값을 설정할 수 있다. 예를 들면, 오브젝트 표현 서버가 주사위에 설정된 특정 면(520)이 윗면에 위치하도록 하고, 특정 면(520)에 주사위의 눈이 2를 표시하도록 설정할 수 있다. 오브젝트 표현 서버는 주사위의 특정 면(520)에 2를 결과값으로 설정한 경우, 추후에 애니메이션(500)에서 주사위가 굴러간 후 특정 면(520)에 주사위의 눈이 2가 표시될 수 있다. 특히, 주사위의 경우, 주사위의 룰에 따른 각각의 면의 눈(숫자)이 결정되어 있기 때문에 2뿐만 아니라 2의 주변에 존재하는 각각의 주사위의 눈도 자동적으로 결정될 수 있다. 이때, 주사위의 룰은 육각형의 주사위에서 마주보는 합이 7이 되어야 한다.
도 6은 일 실시예에 따른 오브젝트 표현 서버에서 오브젝트에 텍스처 렌더링을 수행하는 것을 설명하기 위한 도면이다.
오브젝트 표현 서버는 오브젝트(510)에 대한 텍스처 렌더링을 수행할 수 있다. 이때, 텍스처(Texture)란 3차원 그래픽에서 폴리곤으로 제작된 오브젝트에 덧씌워 다양한 색상이나 질감 등을 표현하는데 쓰이는 2차원 이미지를 의미한다. 렌더링(Rendering)은 2차원의 이미지에 광원, 위치, 색상 등 외부의 정보를 고려하여 사실감을 불어넣어 3차원 영상을 만드는 과정을 의미한다. 렌더링은 평면인 이미지에 형태, 위치, 조명 등 외부의 정보에 따라 다르게 나타나는 그림자, 색상, 농도 등을 고려하면서 실감나는 3차원 영상을 만들어 내는 과정 및 기법을 의미하며, 평면적으로 보이는 오브젝트에 그림자나 농도의 변화 등을 주어 입체감이 들게 함으로써 사실감을 추가하는 컴퓨터 그래픽상의 과정이다.
오브젝트 표현 서버는 오브젝트(510)에 텍스처 렌더링을 수행함으로써 3차원의 오브젝트(600)를 생성할 수 있다. 오브젝트 표현 서버는 오브젝트(510)에 설정된 위치 정보에 랜덤으로 추출된 결과값을 부여하고, 결과값이 부여된 오브젝트에 텍스처 렌더링을 수행할 수 있다. 일례로, 오브젝트가 주사위라고 가정한다. 오브젝트 표현 서버는 주사위에 텍스처 렌더링을 수행함에 따라 렌더링이 수행된 오브젝트를 생성할 수 있다. 오브젝트 표현 서버는 주사위에 존재하는 여섯면 중 어느 하나에 결과값을 적용함에 따라 결과값이 부여된 면 이외의 다른 면들에 주사위의 룰에 따른 각각의 값이 자동으로 부여되고, 결과값이 부여된 주사위의 하나의 면에 텍스처 렌더링을 수행할 수 있다. 또는 오브젝트 표현 서버는 주사위의 룰에 기초하여 텍스처 렌더링을 수행함으로써 육각형의 주사위가 생성될 수 있다.
도 7은 일 실시예에 따른 오브젝트 표현 서버에서 애니메이션에 포함된 오브젝트에 렌더링된 오브젝트를 매핑하여 3차원 애니메이션을 생성한 것을 설명하기 위한 도면이다.
오브젝트 표현 서버는 애니메이션에 포함된 오브젝트에 렌더링이 수행된 오브젝트(600)를 매핑함에 따라 획득된 3차원 애니메이션(700)을 플레이할 수 있다. 오브젝트 표현 서버는 애니메이션에 포함된 오브젝트를 인식하고, 인식된 오브젝트의 위치 정보에 기초하여 렌더링이 수행된 오브젝트(600)를 매핑시킬 수 있다. 예를 들면, 오브젝트 표현 서버는 애니메이션의 각각의 프레임에 존재하는 오브젝트의 위치 정보에 기초하여 렌더링이 수행된 오브젝트를 매핑시킴으로써 생성된 3차원 애니메이션을 플레이시킬 수 있다.
주사위 게임을 예를 들어 설명하기로 한다. 주사위 게임의 경우, 애니메이션에 포함된 주사위에 렌더링이 수행된 주사위가 매핑될 수 있다. 예를 들면, 오브젝트 표현 서버는 애니메이션의 첫번째 프레임부터 마지막 프레임까지 차례로 각각의 프레임 존재하는 주사위의 위치 정보에 기초하여 렌더링이 수행된 주사위를 매핑시킴으로써 생성된 3차원 애니메이션을 플레이시킬 수 있다. 또는, 오브젝트 표현 서버는 애니메이션의 마지막 프레임을 기준으로 마지막 프레임부터 첫번째 프레임까지 차례로 각각의 프레임에 존재하는 주사위의 위치 정보에 기초하여 렌더링이 수행된 주사위를 매핑시킴으로써 생성된 3차원 애니메이션을 플레이시킬 수 있다. 이때, 애니메이션이 시작하는 위치에 존재하는 주사위에 매핑된 주사위의 눈은 주사위의 룰에 기초하여 랜덤으로 매핑될 수 있으나, 주사위가 동작함에 따라 정지된 상태에서의 주사위의 눈은 사전에 설정된 결과값이 표시될 수 있다. 이와 같이, 오브젝트 표현 서버는 주사위가 플레이된 후 정지된 상태에서 주사위에 설정된 결과값을 도출하기 위하여 주사위를 동작시키기 위한 입력값이 자동으로 계산될 수 있다.
오브젝트 표현 서버는 애니메이션에 포함된 오브젝트에 렌더링이 수행된 오브젝트를 매핑함에 따라 생성된 3차원 애니메이션(700)을 플레이시킬 수 있다. 오브젝트 표현 서버는 3차원 애니메이션(700)을 오브젝트의 동작 과정에 따라 플레이할 수 있다. 오브젝트 표현 서버는 주사위가 굴러감에 있어서, 주사위의 눈 각각이 갑작스럽게 변경되지 않고 자연스럽게 결과값을 도출할 수 있도록 한다. 오브젝트 표현 서버는 주사위가 정지될 위치, 주사위에 설정된 특정 면에 출력될 결과값이 정해져 있고, 애니메이션에 포함된 오브젝트에 렌더링이 수행된 오브젝트를 매핑시켜 재생시키는 것이다. 다시 말해서, 오브젝트 표현 서버는 주사위에 설정된 특정 면이 윗면에 위치하고, 특정 면에 주사위의 눈을 2로 설정하였을 경우, 3차원 애니메이션(700)에서 주사위가 굴러간 후 특정 면에 주사위의 눈이 2가 표시될 수 있다.
도 8 및 도 9를 참고하면, 오브젝트 표현 서버에서 생성된 게임을 플레이하는 것을 나타낸 예이다. 도 8을 참고하면, 단말을 통하여 게임이 실행됨에 따라 단말에 게임 화면(800)이 출력될 수 있다. 게임 화면(800)은 물리엔진 없이 실시예에서 설명된 리얼타임 렌더링 오브젝트 표현 기술에 의하여 제공되는 게임들을 출력할 수 있다. 예를 들면, 게임 화면(800)에 블랙잭, 룰렛 게임, 주사위 게임, 복권 긁기, 잭팟 슬롯 등이 제공될 수 있다. 사용자는 게임 화면(800)에 제시된 게임 중 하나를 선택할 수 있다. 이에 따라 게임이 실행될 수 있다.
도 9를 참고하면, 주사위 게임이 선택됨에 따라 주사위 게임에 대한 실행 화면(900)이 출력될 수 있다. 실행 화면(900)에 3개의 주사위가 출력될 수 있다. 3개의 주사위는 사용자의 액션(예를 들면, 클릭, 클릭&드래그, 드래그 등)을 통하여 주사위를 굴릴 수 있다. 이때, 사용자의 액션에 따라 주사위 각각이 동작될 수 잇고, 3개의 주사위가 동시에 동작될 수 있다. 오브젝트 표현 서버는 3개의 주사위를 굴리기 위하여 물리엔진을 사용하지 않고, 랜덤으로 추출된 결과값을 주사위 각각에 부여할 수 있다. 이때, 오브젝트 표현 서버는 주사위를 포함하는 애니메이션을 생성하고, 주사위에 대한 텍스처 렌더링을 수행할 수 있다. 오브젝트 표현 서버는 애니메이션에 포함된 주사위에 렌더링이 수행된 주사위를 매핑하여 획득된 3차원 애니메이션을 플레이할 수 있다. 3차원 애니메이션이 애니메이션에 포함된 주사위의 동작 과정에 기초하여 플레이될 수 있으며, 플레이됨에 따라 주사위의 동작이 종료된 위치에서 주사위의 특정 면에 결과값이 출력될 수 있다.
이와 같이, 오브젝트 표현 서버는 적어도 하나 이상의 애니메이션을 생성하고, 애니메이션에 포함된 오브젝트와 렌더링이 수행된 오브젝트를 매핑하여 생성된 3차원 애니메이션을 재생시킴에 따라 오브젝트(주사위)에서 최종적으로 도출되는 결과값(주사위의 눈)을 알 수 없기 때문에 사용자의 흥미를 유발시킬 수 있다. 반면에, 종래에는 각각의 주사위의 눈에 따라 주사위가 굴러가는 동작 과정이 정해져 있어 최종적으로 도출되는 결과값을 예측할 수 있었던 것과는 달리, 일 실시예에 따르면 주사위가 굴러가는 애니메이션에서 주사위의 특정 면에 결과값을 매핑시키기 때문에 최종적으로 도출되는 결과값이 예측할 수 없다. 또한, 오브젝트 표현 서버는 오브젝트에 입력값을 고정시킴으로써 위화감 없이 자연스럽게 결과값을 도출시킬 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (20)
- 컴퓨터로 구현되는 오브젝트 표현 서버에 의하여 수행되는 오브젝트 표현 방법에 있어서,
게임 환경에서 오브젝트(Object)를 동작시키는 애니메이션을 생성하는 단계;
상기 오브젝트에 대한 텍스처 렌더링을 수행하는 단계; 및
상기 애니메이션에 포함된 오브젝트에 상기 렌더링이 수행된 오브젝트를 매핑함에 따라 획득된 3차원 애니메이션을 플레이하는 단계
를 포함하고,
상기 게임 환경에서 오브젝트를 동작시키는 애니메이션을 생성하는 단계는,
상기 애니메이션에 포함된 오브젝트를 동작시키기 위한 입력값에 기초하여 생성된 상기 애니메이션에 포함된 오브젝트의 동작 과정을 저장하는 단계
를 포함하고,
상기 오브젝트에 대한 텍스처 렌더링을 수행하는 단계는,
상기 오브젝트에 설정된 위치 정보에 랜덤으로 추출된 결과값을 부여하고, 상기 결과값이 부여된 오브젝트에 텍스처 렌더링을 수행하는 단계
를 포함하고,
상기 3차원 애니메이션을 플레이하는 단계는,
상기 애니메이션 또는 상기 렌더링이 수행된 오브젝트 중 어느 하나를 고정시키고, 상기 애니메이션에 포함된 오브젝트에 상기 렌더링이 수행된 오브젝트를 매핑함에 따라 상기 애니메이션을 고정시키되 상기 애니메이션에 설정된 오브젝트의 동작 과정에 따라 상기 매핑된 오브젝트를 플레이하고, 상기 플레이가 종료된 오브젝트에 기 설정된 결과값을 출력하는 단계
를 포함하고,
상기 오브젝트 표현 서버에서, 상기 애니메이션의 마지막 프레임을 기준으로 마지막 프레임부터 첫번째 프레임까지 차례로 각각의 프레임에 존재하는 오브젝트의 위치 정보에 기초하여 렌더링이 수행된 오브젝트를 매핑시킴으로써 생성된 3차원 애니메이션을 플레이시키는
오브젝트 표현 방법. - 제1항에 있어서,
상기 3차원 애니메이션을 플레이하는 단계는,
상기 애니메이션에 포함된 오브젝트에 매핑된 상기 렌더링이 수행된 오브젝트가 상기 애니메이션에 설정된 오브젝트의 동작 과정에 따라 플레이되는 단계
를 포함하는 오브젝트 표현 방법. - 제1항에 있어서,
상기 3차원 애니메이션을 플레이하는 단계는,
상기 애니메이션에 포함된 오브젝트를 인식하고, 상기 인식된 오브젝트의 위치 정보에 기초하여 상기 렌더링이 수행된 오브젝트를 매핑시키는 단계
를 포함하는 오브젝트 표현 방법. - 삭제
- 삭제
- 삭제
- 삭제
- 제1항에 있어서,
상기 오브젝트에 대한 텍스처 렌더링을 수행하는 단계는,
상기 오브젝트가 주사위일 경우, 상기 주사위에 존재하는 여섯면 중 어느 하나에 결과값을 적용함에 따라 상기 결과값이 부여된 어느 한 면 이외의 다른 면들에 상기 주사위의 룰에 따른 각각의 값이 자동으로 부여되고, 상기 결과값이 부여된 주사위의 어느 한 면에 텍스처 렌더링을 수행하는 단계
를 포함하는 오브젝트 표현 방법. - 제1항에 있어서,
상기 게임 환경에서 오브젝트를 동작시키는 애니메이션을 생성하는 단계는,
상기 게임 환경에 존재하는 적어도 하나 이상의 오브젝트를 애니메이션에 포함시키고, 상기 애니메이션에 포함된 오브젝트를 동작시키기 위하여 기 설정된 개수의 서로 다른 애니메이션을 생성하는 단계
를 포함하는 오브젝트 표현 방법. - 삭제
- 컴퓨터로 구현되는 오브젝트 표현 서버에 의하여 수행되는 오브젝트 표현 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램에 있어서,
게임 환경에서 오브젝트(Object)를 동작시키는 애니메이션을 생성하는 단계;
상기 오브젝트에 대한 텍스처 렌더링을 수행하는 단계; 및
상기 애니메이션에 포함된 오브젝트에 상기 렌더링이 수행된 오브젝트를 매핑함에 따라 획득된 3차원 애니메이션을 플레이하는 단계
를 포함하고,
상기 게임 환경에서 오브젝트를 동작시키는 애니메이션을 생성하는 단계는,
상기 애니메이션에 포함된 오브젝트를 동작시키기 위한 입력값에 기초하여 생성된 상기 애니메이션에 포함된 오브젝트의 동작 과정을 저장하는 단계
를 포함하고,
상기 오브젝트에 대한 텍스처 렌더링을 수행하는 단계는,
상기 오브젝트에 설정된 위치 정보에 랜덤으로 추출된 결과값을 부여하고, 상기 결과값이 부여된 오브젝트에 텍스처 렌더링을 수행하는 단계
를 포함하고,
상기 3차원 애니메이션을 플레이하는 단계는,
상기 애니메이션 또는 상기 렌더링이 수행된 오브젝트 중 어느 하나를 고정시키고, 상기 애니메이션에 포함된 오브젝트에 상기 렌더링이 수행된 오브젝트를 매핑함에 따라 상기 애니메이션을 고정시키되 상기 애니메이션에 설정된 오브젝트의 동작 과정에 따라 상기 매핑된 오브젝트를 플레이하고, 상기 플레이가 종료된 오브젝트에 기 설정된 결과값을 출력하는 단계
를 포함하고,
상기 오브젝트 표현 서버에서, 상기 애니메이션의 마지막 프레임을 기준으로 마지막 프레임부터 첫번째 프레임까지 차례로 각각의 프레임에 존재하는 오브젝트의 위치 정보에 기초하여 렌더링이 수행된 오브젝트를 매핑시킴으로써 생성된 3차원 애니메이션을 플레이시키는
컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램. - 컴퓨터로 구현되는 오브젝트 표현 서버에 있어서,
게임 환경에서 오브젝트(Object)를 동작시키는 애니메이션을 생성하는 애니메이션 생성부;
상기 오브젝트에 대한 텍스처 렌더링을 수행하는 렌더링 수행부; 및
상기 애니메이션에 포함된 오브젝트에 상기 렌더링이 수행된 오브젝트를 매핑함에 따라 획득된 3차원 애니메이션을 플레이하는 애니메이션 재생부
를 포함하고,
상기 애니메이션 생성부는,
상기 애니메이션에 포함된 오브젝트를 동작시키기 위한 입력값에 기초하여 생성된 상기 애니메이션에 포함된 오브젝트의 동작 과정을 저장하는 것을 포함하고,
상기 렌더링 수행부는,
상기 오브젝트에 설정된 위치 정보에 랜덤으로 추출된 결과값을 부여하고, 상기 결과값이 부여된 오브젝트에 텍스처 렌더링을 수행하는 것을 포함하고,
상기 애니메이션 재생부는,
상기 애니메이션 또는 상기 렌더링이 수행된 오브젝트 중 어느 하나를 고정시키고, 상기 애니메이션에 포함된 오브젝트에 상기 렌더링이 수행된 오브젝트를 매핑함에 따라 상기 애니메이션을 고정시키되 상기 애니메이션에 설정된 오브젝트의 동작 과정에 따라 상기 매핑된 오브젝트를 플레이하고, 상기 플레이가 종료된 오브젝트에 기 설정된 결과값을 출력하는 것을 포함하고,
상기 오브젝트 표현 서버에서, 상기 애니메이션의 마지막 프레임을 기준으로 마지막 프레임부터 첫번째 프레임까지 차례로 각각의 프레임에 존재하는 오브젝트의 위치 정보에 기초하여 렌더링이 수행된 오브젝트를 매핑시킴으로써 생성된 3차원 애니메이션을 플레이시키는
오브젝트 표현 서버. - 제12항에 있어서,
상기 애니메이션 재생부는,
상기 애니메이션에 포함된 오브젝트에 매핑된 상기 렌더링이 수행된 오브젝트가 상기 애니메이션에 설정된 오브젝트의 동작 과정에 따라 플레이되는
것을 특징으로 하는 오브젝트 표현 서버. - 제12항에 있어서,
상기 애니메이션 재생부는,
상기 애니메이션에 포함된 오브젝트를 인식하고, 상기 인식된 오브젝트의 위치 정보에 기초하여 상기 렌더링이 수행된 오브젝트를 매핑시키는
것을 특징으로 하는 오브젝트 표현 서버. - 삭제
- 삭제
- 삭제
- 삭제
- 제12항에 있어서,
상기 애니메이션 생성부는,
상기 게임 환경에 존재하는 적어도 하나 이상의 오브젝트를 애니메이션에 포함시키고, 상기 애니메이션에 포함된 오브젝트를 동작시키기 위하여 기 설정된 개수의 서로 다른 형태의 애니메이션을 생성하는
것을 특징으로 하는 오브젝트 표현 서버. - 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170124384A KR101951225B1 (ko) | 2017-09-26 | 2017-09-26 | 물리엔진을 사용하지 않는 리얼타임 렌더링 오브젝트 표현 방법 및 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170124384A KR101951225B1 (ko) | 2017-09-26 | 2017-09-26 | 물리엔진을 사용하지 않는 리얼타임 렌더링 오브젝트 표현 방법 및 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101951225B1 true KR101951225B1 (ko) | 2019-05-08 |
Family
ID=66580238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170124384A KR101951225B1 (ko) | 2017-09-26 | 2017-09-26 | 물리엔진을 사용하지 않는 리얼타임 렌더링 오브젝트 표현 방법 및 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101951225B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282290A (zh) * | 2021-05-31 | 2021-08-20 | 上海米哈游璃月科技有限公司 | 一种对象渲染方法、装置、设备及存储介质 |
WO2023063512A1 (ko) * | 2021-10-13 | 2023-04-20 | 111퍼센트 주식회사 | 게임 제공 장치, 게임 공간에 작용한 힘을 아이템들에 전달하여 제공하는 방법 및 컴퓨터 프로그램 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020059078A (ko) * | 2000-12-30 | 2002-07-12 | 윤세영 | 다층구조의 3차원 캐릭터 구현방법 및 그에 관한프로그램을 포함하는 컴퓨터 기록매체 |
KR20080022583A (ko) * | 2005-10-07 | 2008-03-11 | 가부시키가이샤 코나미 데지타루 엔타테인멘토 | 화상 처리 장치, 화상 처리 방법 및 정보 기억 매체 |
-
2017
- 2017-09-26 KR KR1020170124384A patent/KR101951225B1/ko active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020059078A (ko) * | 2000-12-30 | 2002-07-12 | 윤세영 | 다층구조의 3차원 캐릭터 구현방법 및 그에 관한프로그램을 포함하는 컴퓨터 기록매체 |
KR20080022583A (ko) * | 2005-10-07 | 2008-03-11 | 가부시키가이샤 코나미 데지타루 엔타테인멘토 | 화상 처리 장치, 화상 처리 방법 및 정보 기억 매체 |
Non-Patent Citations (1)
Title |
---|
"9>주사위 굴리기1 / Render Texture", 인터넷 네이버 블로그 게시글(2016.08.18.)* * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282290A (zh) * | 2021-05-31 | 2021-08-20 | 上海米哈游璃月科技有限公司 | 一种对象渲染方法、装置、设备及存储介质 |
CN113282290B (zh) * | 2021-05-31 | 2024-06-11 | 上海米哈游璃月科技有限公司 | 一种对象渲染方法、装置、设备及存储介质 |
WO2023063512A1 (ko) * | 2021-10-13 | 2023-04-20 | 111퍼센트 주식회사 | 게임 제공 장치, 게임 공간에 작용한 힘을 아이템들에 전달하여 제공하는 방법 및 컴퓨터 프로그램 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11620800B2 (en) | Three dimensional reconstruction of objects based on geolocation and image data | |
US8411092B2 (en) | 2D imposters for simplifying processing of plural animation objects in computer graphics generation | |
JP7008730B2 (ja) | 画像に挿入される画像コンテンツについての影生成 | |
CN102663799B (zh) | 用于利用创作***创建可播放场景的方法和装置 | |
US7019742B2 (en) | Dynamic 2D imposters of 3D graphic objects | |
Montero et al. | Designing and implementing interactive and realistic augmented reality experiences | |
KR20140081840A (ko) | 모션으로 제어되는 리스트 스크롤 방법 | |
CN112717404A (zh) | 虚拟对象的移动处理方法、装置、电子设备及存储介质 | |
CN116051713B (zh) | 渲染方法、电子设备和计算机可读存储介质 | |
KR101951225B1 (ko) | 물리엔진을 사용하지 않는 리얼타임 렌더링 오브젝트 표현 방법 및 시스템 | |
CN111142967A (zh) | 一种增强现实显示的方法、装置、电子设备和存储介质 | |
Miller et al. | XNA game studio 4.0 programming: developing for windows phone 7 and xbox 360 | |
KR102551914B1 (ko) | 인터랙티브 객체 뷰어 생성 방법 및 시스템 | |
US11684852B2 (en) | Create and remaster computer simulation skyboxes | |
KR20230033871A (ko) | 현실 맵 기반의 메타버스 공간 구현 방법 및 그 시스템 | |
KR20140078083A (ko) | 증강 현실이 구현된 만화책 | |
KR102317103B1 (ko) | Iot 기기를 이용해서 증강 현실을 구현한 전장 온라인 게임 | |
Unal et al. | Augmented reality and new opportunities for cultural heritage | |
Gobira et al. | Expansion of uses and applications of virtual reality | |
US20180290055A1 (en) | Rhythm game displaying method and terminal for performing the method | |
US11875445B2 (en) | Seamless image processing of a tiled image region | |
JP2012155731A (ja) | 検索システム | |
KR100546865B1 (ko) | 경사 벡터를 이용하여 표면의 경사를 나타내는 이미지프로세싱 방법 및 그 시스템 | |
Li | VR interactive game design based on unity3d engine | |
US20220347574A1 (en) | Merge computer simulation sky box with game world |