KR20080018407A - 3차원 캐릭터의 변형을 제공하는 캐릭터 변형 프로그램을기록한 컴퓨터 판독가능 기록매체 - Google Patents

3차원 캐릭터의 변형을 제공하는 캐릭터 변형 프로그램을기록한 컴퓨터 판독가능 기록매체 Download PDF

Info

Publication number
KR20080018407A
KR20080018407A KR1020060080462A KR20060080462A KR20080018407A KR 20080018407 A KR20080018407 A KR 20080018407A KR 1020060080462 A KR1020060080462 A KR 1020060080462A KR 20060080462 A KR20060080462 A KR 20060080462A KR 20080018407 A KR20080018407 A KR 20080018407A
Authority
KR
South Korea
Prior art keywords
character
data
script
function
motion
Prior art date
Application number
KR1020060080462A
Other languages
English (en)
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 한국문화콘텐츠진흥원
Priority to KR1020060080462A priority Critical patent/KR20080018407A/ko
Publication of KR20080018407A publication Critical patent/KR20080018407A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/44Morphing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computing Systems (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 3차원 캐릭터의 변형을 제공하는 캐릭터 변형 프로그램을 기록한 컴퓨터 판독가능 기록매체에 관한 것이다.
본 발명은 3차원 캐릭터를 변형하는 프로그램을 기록한 기록매체에 있어서 상기 프로그램은, 3차원 캐릭터의 외형 정보를 저장하고 있는 버텍스 데이터(Vertex Data)를 이용하고, 3차원 캐릭터의 노말 데이터, 텍스처 데이터, 뼈대 데이터를 참조하여 3차원 캐릭터의 체형을 변형하기 위한 체형 변형 스크립트와 루아 스크립트를 제공하는 체형 변형 모듈; 3차원 캐릭터의 얼굴 형태를 변형하기 위한 이미지 모핑 기능을 제공하고, 3차원 캐릭터의 색상과 색상의 시간과 공간에 따른 변화를 조절하는 재질 스크립트를 제공하며, 3차원 캐릭터의 텍스처 이미지 간의 섞임을 제어하는 블랜드 스크립트를 제공하는 재질 변형 모듈; 및 3차원 캐릭터의 각 뼈대에 대한 회전 변화 값과 중심의 이동 값을 포함한 동작 데이터를 바탕으로 3차원 캐릭터의 동작을 변형을 제공하는 동작 변형 모듈을 포함하는 것을 특징으로 하는 3차원 캐릭터를 변형하는 프로그램을 기록한 컴퓨터 판독가능한 기록매체를 제공한다.
본 발명에 의하면, 캐릭터 변형 프로그램을 이용하여 기존에 제작한 3차원 캐릭터의 변형을 제공함으로써, 사용자로부터 소외되는 캐릭터를 변형하여 캐릭터를 사용하는 사용자에게 만족감을 주고, 제작된 캐릭터를 변형시키는 데 소비하는 시간과 노력을 획기적으로 단축시키는 효과가 있다.
3차원, 캐릭터, 3D, 변형, 스크립트

Description

3차원 캐릭터의 변형을 제공하는 캐릭터 변형 프로그램을 기록한 컴퓨터 판독가능 기록매체{Computer-Readable Recording Medium for Recording of 3D Character Deformation Program}
도 1은 본 발명의 바람직한 실시예에 따른 캐릭터 변형 프로그램의 내부 구조를 간단하게 나타낸 도면,
도 2는 본 발명의 바람직한 실시예에 따른 체형 변형 모듈에 의하여 체형이 변형된 3차원 캐릭터를 나타낸 도면,
도 3은 본 발명의 바람직한 실시예에 따라 얼굴 이미지에 특징점을 표시한 도면,
도 4는 본 발명의 바람직한 실시예에 따른 재질 변형 모듈의 이미지 모핑 기능에 의하여 생성되는 얼굴 이미지를 나타낸 도면,
도 5는 본 발명의 바람직한 실시예에 따른 캐릭터 변형 프로그램을 구동하면 디스플레이되는 화면을 나타낸 도면,
도 6a는 본 발명의 바람직한 실시예에 따른 캐릭터 변형 프로그램에서 캐릭터의 뼈대를 설정하는 화면을 나타낸 도면,
도 6b는 본 발명의 바람직한 실시예에 따른 캐릭터 변형 프로그램에서 설정한 뼈대에 회전을 설정하는 화면을 나타낸 도면이다.
< 도면의 주요 부분에 대한 부호의 설명 >
100: 캐릭터 변형 프로그램 110: 체형 변형 모듈
120: 재질 변형 모듈 130: 동작 변형 모듈
본 발명은 3차원 캐릭터의 변형을 제공하는 캐릭터 변형 프로그램을 기록한 컴퓨터 판독가능 기록매체에 관한 것이다. 더욱 상세하게는, 3차원 캐릭터의 공간적인 위치정보를 저장하고 있는 버텍스 데이터를 이용하여 3차원 캐릭터의 체형을 변형하고, 3차원 캐릭터의 변형 대상 이미지와 해당 텍스처 좌표를 제어하는 이미지 모핑 기능을 이용하여 3차원 캐릭터의 재질을 변형하며, 3차원 캐릭터의 동작 데이터와 19개의 뼈대의 회전 및 이동 데이터를 이용하여 3차원 캐릭터의 동작을 변형하는 프로그램을 기록한 컴퓨터 판독가능 기록매체에 관한 것이다.
국내 게임 산업은 2005년에는 4조 9천억 원의 시장규모이고, 2006년에는 5조 6천억 원으로 시장 규모가 커질 것으로 예상되고 있다. 2002년 이후 연 27% 대의 고성장을 하고 있고 해외에서도 한국의 온라인 게임은 많은 인기를 얻고 있다. 게임 시장의 확대와 기술의 발달로 사용자들은 기존의 2차원 게임 보다는 3차원 게임을 선호하게 되었고, 오프라인 게임보다는 온라인 게임이 게임산업에서 중요한 부분으로 자리 잡고 있다.
3차원 게임은 여러 가지 구성물로 만들어지고 있지만 그 중에서 사용자에게 관심의 대상이 되고, 가장 많은 자원이 투입되는 것이 캐릭터이다. 2001년에 국내 온라인 게임업체 중 한 곳에서 3차원 아바타를 이용한 온라인 게임을 선보였다. 그 이전에는 아바타라고 하면 2차원으로 표현되는 캐릭터라고 생각되었지만, 이제는 온라인에서 3차원 캐릭터로 표현되는 아바타를 보게 되는 것이 너무나도 당연하다. 과거의 2차원 그래픽 기반의 게임으로부터 완벽한 3차원 중심의 게임으로 사업의 방향이 바뀌었고, 온라인 게임 말고도 3차원 캐릭터를 이용한 온라인 커뮤니티 서비스가 점차로 확대되고 있으며, 캐릭터를 멋지게 잘 만들고 다양한 캐릭터를 얼마나 많이 제공하느냐에 따라서 온라인 게임의 성공 여부를 좌우하는 요소가 되고 있다.
특히 아바타를 이용한 커뮤니티에서는 다양한 아바타의 아이템들을 제공해야 하고 이를 위해 캐릭터 및 아이템 제작에 많은 인력이 투여되고 있으나, 제작된 캐릭터들 중에는 소비자의 눈높이에 따라서 점차 관심에서 멀어져 최종에는 아무런 쓸모가 없어지는 경우가 생기고 있고, 한 번 제작된 캐릭터는 초기에 인기를 얻어 수익성이 좋더라도 계속해서 변화를 주지 않으면 자연스럽게 소비자로부터 외면을 당하기도 하기 때문에 3차원 캐릭터는 온라인 게임에서 중요한 요소이다.
3차원 캐릭터는 2차원 캐릭터와 달라서 하나를 제작하는데 비용과 시간이 월등하게 소비된다. 게임에서 캐릭터를 제작하는데 중요하게 고려하는 특징은 다음과 같다. 첫째는 3차원 캐릭터를 사실적으로 표현하기보다는 효율적으로 가능한 한 저 사양의 시스템에서 돌아가게 하는 것이고, 둘째는 최소한의 비용으로 소비자가 만족할 만한 캐릭터를 제공해야 하는 것이다.
따라서, 다양한 캐릭터가 나오기 위해서는 많은 인력이 투여되어야 하지만, 이미 제작된 캐릭터를 변형시키는 데에도 하나의 캐릭터를 제작하는 데 소비되는 시간과 노력만큼이 소비되기 때문에 종래에는 사용자로부터 소외되는 캐릭터를 변형시키지 않는다는 문제점이 있었다.
또한, 캐릭터의 외형의 변화나 다채로운 동작은 그래픽 디자이너의 수작업에 의존해서 만들어지기 때문에 캐릭터가 성장함에 따라 키가 자란다거나, 지나친 과식으로 배가 나온다거나 하는 표현을 위해서는 추가 모델링 작업이 필요하기 때문에 많은 인력과 시간의 추가 투입이라는 문제점이 있었다.
이러한 문제점을 해결하기 위해 본 발명은, 3차원 캐릭터의 공간적인 위치정보를 저장하고 있는 버텍스 데이터를 이용하여 3차원 캐릭터의 체형을 변형하고, 3차원 캐릭터의 변형 대상 이미지와 해당 텍스처 좌표를 제어하는 이미지 모핑 기능을 이용하여 3차원 캐릭터의 재질을 변형하며, 3차원 캐릭터의 동작 데이터와 19개의 뼈대의 회전 및 이동 데이터를 이용하여 3차원 캐릭터의 동작을 변형하는 프로그램을 기록한 컴퓨터 판독가능 기록매체를 제공하는 것을 그 목적으로 한다.
이러한 목적을 달성하기 위하여, 본 발명의 제 1 목적에 의하면, 3차원 캐릭터를 변형하는 프로그램을 기록한 기록매체에 있어서 상기 프로그램은, 3차원 캐릭터의 외형 정보를 저장하고 있는 버텍스 데이터(Vertex Data)를 이용하고, 3차원 캐릭터의 노말 데이터, 텍스처 데이터, 뼈대 데이터를 참조하여 3차원 캐릭터의 체 형을 변형하기 위한 체형 변형 스크립트와 루아 스크립트를 제공하는 체형 변형 모듈; 3차원 캐릭터의 얼굴 형태를 변형하기 위한 이미지 모핑 기능을 제공하고, 3차원 캐릭터의 색상과 색상의 시간과 공간에 따른 변화를 조절하는 재질 스크립트를 제공하며, 3차원 캐릭터의 텍스처 이미지 간의 섞임을 제어하는 블랜드 스크립트를 제공하는 재질 변형 모듈; 및 3차원 캐릭터의 각 뼈대에 대한 회전 변화 값과 중심의 이동 값을 포함한 동작 데이터를 바탕으로 3차원 캐릭터의 동작을 변형을 제공하는 동작 변형 모듈을 포함하는 것을 특징으로 하는 3차원 캐릭터를 변형하는 프로그램을 기록한 컴퓨터 판독가능한 기록매체를 제공한다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 발명의 바람직한 실시예에 따른 캐릭터 변형 프로그램의 내부 구조를 간단하게 나타낸 도면이다.
본 발명의 바람직한 실시예에 따른 캐릭터 변형 프로그램(100)은 체형 변형 모듈(110), 재질 변형 모듈(120) 및 동작 변형 모듈(130)을 포함하여 구성된다.
또한, 캐릭터 변형 프로그램(100)의 스크립트 기본 구조는 XML(eXtensible Markup Language)로 작성하였으며, 자료 구조를 직접적인 수학적 함수로 기술하기 위하여 루아(LUA)를 이용하여 작성하도록 한다.
본 발명에서 루아는 일반적인 프로시저 방식의 프로그래밍을 지원하도록 설계된 확장 프로그래밍 언어로서, 객체지향 프로그래밍, 함수적 프로그래밍, 데이터 중심 프로그래밍을 지원하고, C 또는 C++와 같은 프로그래밍 언어와 결합하여 가볍고 강력한 스크립트 언어로 사용할 수 있다.
또한, 루아는 라이브러리 형태로 구현되어 ANSI C 또는 C++와 유사한 서브셋(SubSet) 형태의 언어인 클린 C(Clean C)로 되어 있고, 확장 언어로서 역할을 하기 위해 메인 프로그램의 개념을 가지지 않으며, 임베드 프로그램 또는 호스트 프로그램에 임베디드(포함)되어 동하기 때문에 본 발명에서는 자료 구조를 직접적인 수학적 함수로 기술하기 위하여 XML로 작성한 스크립트에서 루아의 코드를 실행할 수 있는 함수를 호출하도록 한다.
본 발명의 바람직한 실시예에 따른 체형 변형 모듈(110)은 3차원 캐릭터의 외형 정보를 저장하고 있는 버텍스 데이터(Vertex Data)를 이용하여 3차원 캐릭터의 체형을 변형시키는 데, 버텍스 데이터에는 3차원 캐릭터의 버텍스 좌표값이 저장되어 있다.
또한, 3차원 캐릭터의 체형을 변형함에 따라 피부의 변화가 버텍스의 노말값의 방향과 연동하기 때문에 노말 데이터(Normal Data)를 참조하고, 체형의 변형 중에 텍스처 이미지와 연동하여 버텍스 데이터를 변화시키는 경우에는 텍스처 데이터(Texture Data)를 참조하며, 3차원 캐릭터의 크기를 변형하는 경우에 뼈대 데이터(Bone Data)를 참조하는 데, 버텍스 데이터의 버텍스 좌표값은 (vx, vy, vz), 노 말 데이터의 노말 좌표값은 (nx, ny, nz), 텍스처 데이터의 텍스처 좌표값은 (tx, ty, tz), 뼈대 데이터의 뼈대 좌표값은 (bx, by, bz)로 표현하도록 한다.
체형 변형 모듈(110)에서 사용하는 스크립트는 <deform> 요소 안의 자식 요소로 포함되며, 체형 변형 스크립트와 관련된 함수는 <deformVertex>...</deformVertex>에 기술한다.
또한, 체형 변형 모듈(110)에서 사용하는 스크립트는 일반적인 모델의 버텍스 데이터를 변형할 수 있는 함수와 캐릭터의 특성에만 적용되는 함수로 구성하였으며, 추후 확장이 용이하도록 버텍스 키워드를 제한하지 않았다.
체형 변형 모듈(110)은 XML의 구조적 형식을 이용하여 미리 정해진 기능의 함수에 인자 값을 수정하여 변형하는 함수 체형 스크립트와 다양한 수학적 함수와 알고리즘을 적용하여 체형을 변형할 수 있는 루아 스크립트로 구성된다.
함수 체형 스크립트는 범용적인 메쉬(Mesh) 구조의 버텍스 데이터에 시간에 따른 변화를 기술하는 스크립트 함수로 구성된다. 주로 배경 모델에서 버텍스 데이터를 움직이게 할 때 사용되며, 캐릭터 외에도 임의의 모델에 적용할 수 있다.
파동 함수의 형태로 버텍스 데이터 값을 변화시키는 wave 함수는 캐릭터의 호흡에 의한 운동이나, 진동 등과 같이 주기적인 움직임을 표현할 때 사용하고, 파동이 적용되는 크기를 조절하는 div, 파동의 형태를 정의하는 func, 버텍스의 값이 원래보다 얼마나 떨어지는 지를 표시하는 base, 변형에 의한 최대값을 정의하는 amp, 파동의 기본 모양에서 볼 때의 시작 위치를 정해주는 phase 및 1초 동안의 파동 반복 회수를 정해주는 freq 등의 속성으로 구성되어 있으며, "<wave div=“” func=“” base=“” amp=“” phase=“” freq=“” />"와 같은 형태로 표현한다.
div는 뼈대의 길이 하나의 단위에 해당하고, 함수 단위를 사용한다. func는 사인 파동을 나타내는 Sin, 산 모양으로 점차 커지다가 꼭대기에서 작아지는 모양의 파동을 나타내는 Triangl, 일정한 주기로 최대값과 최소값으로 갑자기 변하는 Square, 톱니 모양의 파동을 나타내는 Sawtooth 및 톱니 모양과 반대의 파동을 나타내는 InverseSawtooth 등의 스트링으로 표현된 스트링 값으로 표현한다. base는 일반적으로 파동의 중심의 위치를 표시하는 데, 양수의 경우는 원래 표면 보다 위로 올라간 위치이고, 음수인 경우 아래에 위치이다. amp는 파동의 최대 변화량으로 설정한 양수 또는 음수의 절대값을 산출하여 amp에 설정한 크기 값 이상으로 변하지 않도록 한다. phase는 원래 모양에서 시작하도록 보통 0으로 설정한다.
wave 함수와 달리 정해진 방향으로 캐릭터의 버텍스 전부를 움직이는 move 함수는 움직이는 방향이 (x,y,z)의해 결정되고, 실제 이동되는 버텍스의 크기는 x, y, z의 이동값에 amp 값을 곱한 크기가 적용되며, "<move x=“” y=“” z=“” func=“” base=“” amp=“” phase=“” freq=“”/>"와 같은 형태로 표현한다.
예를 들어, move = "10 0 0 sin 0 100 0 5"의 경우, 실제 이동의 최대값은 x축 방향으로 10*100 만큼 이동하게 되는 것이다.
버텍스의 이동 없이 버텍스 노말 값만을 변경하는 normal 함수는 노말 값의 변형 후에 사용될 스크립트의 여러 가지 요소, 빛의 음영효과, 반사, 환경 맵핑 등에 영향을 주어 다양한 효과를 만드는데 사용하기 때문에 버텍스 좌표 자체에는 직접적인 영향을 주지 않고, "<normal div=“” func=“” base=“” amp=“” freq= “”/>"와 같은 형태로 표현한다.
불룩한 모양을 기둥의 축 방향으로 이동하게 하는 기능의 bulge 함수는 굽은 기둥과 같은 형태를 디자인하는데 사용하며, "<bulge width=“” height=“” speed=“”/>"와 같은 형태로 표현한다.
메쉬의 변형 부분을 테이블로 기술하고 해당되는 버텍스에 적용하는 기능의 table 함수는 변형되는 버텍스 값을 테이블에 1대 1로 적용하여 다양한 버텍스 군을 한꺼번에 변형하는 데, 테이블의 이름을 정의하는 name, 앞에 정의된 테이블의 버텍스 테이블 값을 참조하는 use, 테이블을 적용할 때 해당 버텍스에 따라 적절한 비율을 직접 쓰거나 시간에 따라 변하는 주기함수를 지정하는 ratio 및 테이블에서 사용하는 좌표를 표시하는 vertex를 속성으로 포함하고, "<table name=“” use=“” ratio=“값 | func base amp phase freq”/>"와 같은 형태로 표현한다.
예를 들면, 얼굴이 살찌는 것을 표현할 경우에 얼굴 데이터가 살찌기 전의 상태와 살찐 후의 상태에 해당하는 버텍스 좌표를 테이블로 기술하여 놓고, 임의의 캐릭터에 얼굴 부위의 살찌는 변형을 버텍스에 근거하여 적절한 값을 테이블에서 가져와 적용하도록 하는 것이다.
ratio의 지정된 값은 테이블 내의 첫 번째 버텍스 좌표 값에서 두 번째 버텍스 좌표값으로의 비율을 의미하는 데, ratio의 값이 0인 경우에는 첫 번째 버텍스 좌표값이 되고, 1인 경우는 두 번째 버텍스 좌표값이 되며, 첫 번째와 두 번째 버텍스 좌표값의 중간값을 적용하기 위해서는 ratio를 0.5로 설정한다.
또한, ratio는 캐릭터가 호흡하는 것과 같은 효과를 만들기 위하여 0에서 1 사이의 지정된 값이 아닌 주기 속성으로 기술하여 시간에 따라 값이 달라지도록 할 수 있는 데, 주기 속성으로 기술할 때에도 최대값과 최소값은 0에서 1 사이가 되도록 해주어야 한다. 예를 들어 ratio="sin 0.5 0.5 0 0.5"로 기술된 경우 호흡하는 동작이 2초에 1회 배를 크게 올렸다 내리는 동작으로 표현된다.
vertex는 -1로 분리되는 좌표값을 가지고, 일대일 대응관계를 이루어야 하는데, 테이블 값의 원본에 해당하는 source와 테이블 값의 대상에 해당하는 target 중 어느 하나로 표현되며, "type =“source|target”"와 같은 형태로 표현한다.
캐릭터의 버텍스를 다양한 알고리즘과 수학적 함수로 변형하는 루아 스크립트는 함수 체형 스크립트만으로 변형하기 힘든 체형의 변형을 <deformVertex> ... </deformVertex>의 사이에 루아 스크립트로 변형시킬 버텍스 좌표, 노말 좌표, 뼈대 좌표를 이용한 알고리즘을 설계한다.
본 발명에서는 <deformVertex>....</deformVertex> 내에서 <deformScript>가 존재하는 경우 <deformScript>....</deformScript> 내에 기술된 모든 함수는 루아 스크립트로 인식하도록 정의한다.
<deformVertex> <deformScript name="doublesize" vptr="vertex"> <!-- 루아스크립트가 이곳부터 위치한다 --> local temp = {} local nsize= vertex["size"] for i=0,nsize-1,4 do temp[i] = vertex[i]*2 temp[i+1] = vertex[i+1]*2 temp[i+2] = vertex[i+2]*2 temp[i+3] = vertex[i+3] end return temp,nsize,0 <!-- 루아스크립트가 여기까지 위치한다 --> </deformScript>
표 1은 루아 스크립트를 이용하여 작성한 함수에서 버텍스 좌표를 입력 받아서 2배로 확대하는 알고리즘이다.
예를 들어, 캐릭터의 체형 중 배에 해당하는 뼈대에 속한 버텍스 데이터를 지정하고, 지정한 버텍스 데이터를 뼈의 위치를 중심으로 바깥쪽 방향으로 2배로 뚱뚱하게 불룩한 모습을 표현하는데 표 1의 루아 스크립트로 작성된 알고리즘을 적용할 수 있다.
도 2는 표 1의 루아 스크립트를 적용하여 배를 불룩하게 만든 캐릭터를 나타낸 도면이다.
그림 2A와 같은 3차원 캐릭터의 배 부분에 표 1의 루아 스크립트를 적용하면 그림 2B와 같이 배 부분이 불룩해진 3차원 캐릭터로 캐릭터의 체형이 변형된다.
체형 변형 모듈(110)에서 사용하는 요소(deformVertex, deformScript)와 속성(name, wave, move, normal, bulge)의 파싱하는 부분을 구현한다. 체형 변형과 관련된 클래스는 ADSDformAction을 기본 클래스로 하여, 기본적인 변형은 deform 함수로 수행하도록 하고, 이 클래스를 상속받아 ADSDeformWave, ADSDeformNormal, ADSDeformBulge, ADSDeformMove, ADSDeformTable 클래스가 해당 스크립트의 함수적 기능을 담당한다. 체형 변형 스크립트를 불러와 해석하는 기본 클래스 이름은 ADSDeform으로서 스크립트를 해석하는 함수는 loadXML에서 구현된다.
본 발명의 바람직한 실시예에 따른 재질 변형 모듈(120)은 2차원 이미지 모핑(Morphing) 기능을 지원하도록 하여 캐릭터의 얼굴 모습을 제어하고, 캐릭터의 질감과 관련된 요소를 XML 스크립트의 함수에서 직접 제어하도록 한다.
도 3은 본 발명의 바람직한 실시예에 따라 얼굴 텍스처 이미지에 설정한 특징점을 나타낸 도면이다.
도 3에서와 같이 본 발명에서는 캐릭터 얼굴 이미지를 제어하는 과정에서 기본적으로 얼굴 텍스처가 1장의 이미지로 표현되는 경우로 가정하였고, 얼굴의 중요한 요소인 눈, 눈썹, 코, 입을 47개의 특징점으로 제어할 수 있도록 하였다. 또한, 캐릭터의 얼굴 모습이 자연스럽게 다른 모습으로 바뀌도록 하기 위해 스크립트에서는 모든 얼굴 텍스처에 특징점을 지정하여 특징점의 위치에 따라 캐릭터의 변형의 중간 이미지를 생성하도록 한다.
또한, 본 발명에서는 재질 변형 모듈(120)에서 지원하는 이미지 모핑 기능이 특징점을 이용한 2차원 이미지 모핑 기법을 적용하여 젊은 얼굴의 이미지에서 나이든 얼굴로 변화할 때 중간 얼굴을 생성하도록 하여 20대의 여성 얼굴에서 60대의 여성 얼굴로의 텍스처 이미지의 변형에 따라서 중간의 연령대의 이미지를 자동으로 생성하도록 하였다.
본 발명에서 재질 변형 스크립트는 표면의 질감을 나타내는 질감 스크립트와 이미지의 변형을 제어하는 이미지 스크립트를 포함한다.
캐릭터의 재질에는 반짝이는 금속 느낌, 부드러운 피부 느낌, 돌의 거친 느낌 등을 표현하는 빛의 반사와 관계된 요소가 있는 데, 난반사로 자연스러운 밝기를 묘사하는 주변 색상, 물질의 기본 색상을 묘사하는 분산 색상, 강렬한 빛의 반사를 묘사하는 반사 색상 및 형광등이나 전구를 묘사하는 발산 색상으로 나뉜다.
따라서, 본 발명에서는 물질의 기본 색상의 시간과 공간의 따른 변화를 조절하는 기능을 재질 스크립트에 넣었으며, 기본적인 텍스처 이미지들 간의 섞임을 제어할 수 있는 블랜드(Blend) 기능을 스크립트로 제어하도록 하였다.
캐릭터의 재질 속성에 해당하는 요소를 제어하는 material 함수는 빛이 없는 경우에도 주변 광의 강도에 반응하는 감도를 나타내는 ambient, 재질의 기본 색상을 표시하는 diffuse, 캐릭터에 비추어지는 빛에 대한 반사율을 결정하는 specular 및 전구와 같이 발광하는 물체의 질감을 묘사하는 emission의 속성을 포함하는 데, 적색 빛에 반응하는 비율인 경우에는 r로, 녹색 빛에 반응하는 비율인 경우에는 g로, 청색 빛에 반응하는 비율인 경우에는 b로 정의하여 각각의 속성에 입력하는 스트링값을 Ag, Ab, Dr, Dg, Db, Sr, Sg, Sb, Er, Eg 및 Eb로 표시하고, 각각의 스트링 값은 0에서 1 사이 값으로 표시하며, "<material ambient="Ar Ag Ab" diffuse="Dr Dg Db" specular="Sr Sg Sb" emission="Er Eg Eb"/>"와 같은 형태로 표현한다.
캐릭터의 재질의 기본 색상을 바꾸거나 주기적인 변화를 표현하는 rgbgen 함수는 버텍스에서 지정한 색상을 사용하거나 wave 함수와 연동하여 밝게 빛나며 주기적인 변화를 표현한다.
재질 스크립트에서 사용할 색상의 종류를 지정하는 type 속성은 주기적인 함수 형태로 색상의 변화를 주는 경우에는 wave, 재질의 색상을 기본값으로 설정하는 경우에는 identity, 재질의 모델링 데이터에서 설정한 색상 값을 사용하는 경우에는 vertex의 스트링 값을 입력하고, 색상의 주기적인 변화를 표현하는 wave 속성은 sin, triangle, square, sawtooth, inversesawtooth 등의 스트링 값을 입력한다.
재질의 이미지 간의 합성 방법을 결정하는 기능을 하는 blendfunc 함수는 이미지의 색상을 섞는 blend 속성을 입력하는 데, type 속성을 지정하는 경우에는 type 속성에 따른 blend가 사용되므로 blend 속성은 생략하며, "<blendfunc blend="srcparam destparam" type="add|filter|blend"/>"와 같은 형태로 표현한다.
blend 속성은 srcparam과 destparam의 연산으로 이미지의 색상을 혼합하는 데, srcparam은 원본 색상의 비율 또는 종류를 결정하는 값으로서 원본 색상과 곱하고, destparam은 대상 색상의 비율 또는 종류를 결정하는 값으로서 대상 색상과 곱한다.
type 속성은 blend 속성에서 srcparam과 destparam값이 모두 1인 경우에는 add를, blend 속성의 srcparam을 대상 색상으로 치환하고 destparam을 0으로 설정하는 경우에는 filter를, blend 속성의 srcparam은 0으로 destparam은 원본 색상으로 설정하는 경우에는 blend를 입력한다.
이미지 스크립트는 재질의 이미지와 텍스처의 좌표를 변경하는 스크립트 요소로서, 이미지의 변형의 대부분이 표현되고, 얼굴 이미지의 특징점을 지정한다.
텍스처 이미지의 경로 및 파일 이름을 정의하는 map 함수는 텍스처 이미지 파일의 경로를 포함한 파일 이름을 기술하는 name, 사용하는 이미지의 종류를 표시하는 type 속성을 포함하는 데, 텍스처 이미지가 얼굴 이미지인 경우에는 controlpoint 함수를 표시하여 47 개의 특징점의 위치를 표시하여 주며, "<map name="mapname" type="base|light|env|face"/>"와 "<controlpoint> x1 y1, x2 y2, x3 y3, ... , x47 y47 </controlpoint>"와 같은 형태로 표현한다.
map 함수에서 사용하는 type 속성에는 보통의 이미지일 경우 base를, 라이트맵으로 사용되는 이미지인 경우에는 light를, 환경맵인 경우에는 env를, 얼굴 이미지인 경우에는 face를 입력하고, face를 입력하는 경우에는 47 개의 2차원 좌표를 controlpoint 함수에 반드시 입력하여 이미지 모핑의 기준을 정하도록 한다.
텍스처의 좌표를 변환하는 tcmod 함수는 텍스처 좌표를 sx, sy 값만큼 확대 또는 축소하는 scale, 텍스처 좌표를 dx, dy만큼 이동하는 scroll, 텍스처 좌표를 theta 만큼 회전하는 rotate, 주어진 함수로 텍스처 좌표를 변경하는 strech 등의 속성을 포함하여 1차원 선형 변환에 사용하며, "<tcmod scale="sx sy" scroll="dx dy" rotate="theta" stretch="func base amp phase freq" transform="m1...m5"/>"와 같은 형태로 표현한다.
<deformShader> <map name="face20.jpg" type="face"> <controlpoint> 0.1725 0.675, 0.235 0.7075, 0.3075 0.7175, 0.3725 0.7, 0.43 0.67, 0.235 0.7, 0.3075 0.71, 0.3725 0.695, 0.325 0.585, 0.2025 0.5875, 0.275 0.6375, 0.3625 0.6375, 0.4175 0.5775, 0.3625 0.5375, 0.28 0.5375, 0.5775 0.6675, 0.6425 0.7025, 0.7075 0.7175, 0.7725 0.7075, 0.8275 0.6775, 0.6425 0.6975, 0.7075 0.71, 0.7725 0.6975, 0.6925 0.585, 0.595 0.5775, 0.6475 0.6375, 0.735 0.6325, 0.7975 0.585, 0.7275 0.5375, 0.655 0.535, 0.505 0.5825, 0.4375 0.3925, 0.5025 0.4, 0.555 0.3875, 0.38 0.285, 0.47 0.305, 0.525 0.305, 0.6175 0.285, 0.4675 0.2775, 0.5 0.265, 0.53 0.2775, 0.44 0.27, 0.5 0.265, 0.56 0.2725, 0.435 0.24, 0.5 0.2275, 0.5725 0.24 </controlpoint> </map> <map name="face60.jpg" type="face"> <controlpoint> 0.1825 0.68, 0.235 0.7125, 0.3075 0.72, 0.3675 0.715, 0.4225 0.6975, 0.24 0.695, 0.305 0.705, 0.37 0.7, 0.3075 0.5925, 0.205 0.5825, 0.2625 0.6175, 0.3575 0.64, 0.4 0.5775, 0.35 0.5425, 0.2775 0.5425, 0.5775 0.6925, 0.6375 0.7175, 0.7075 0.72, 0.7725 0.71, 0.8175 0.68, 0.64 0.7, 0.7075 0.7025, 0.7675 0.6925, 0.6925 0.59, 0.6025 0.5775, 0.65 0.6375, 0.7375 0.6175, 0.795 0.58, 0.7275 0.55, 0.6575 0.54, 0.505 0.5825, 0.4375 0.3925, 0.5025 0.4, 0.555 0.3875, 0.3825 0.2725, 0.465 0.3075, 0.53 0.31, 0.615 0.2725, 0.4675 0.2775, 0.5 0.2675, 0.53 0.2775, 0.44 0.27, 0.5 0.2675, 0.56 0.2725, 0.435 0.2375 0.5 0.225, 0.5725 0.24 </controlpoint> </map> </deformShader>
표 2는 캐릭터의 얼굴 이미지를 변하게 하는 스크립트로서, 20대의 얼굴 이미지인 face20.jpg 파일과 60대의 얼굴 이미지인 face60.jpg 파일을 이용하여 20대 얼굴 이미지와 60대 얼굴 이미지의 중간에 해당하는 얼굴 이미지를 자동으로 생성한다. 도 4와 같이 표 2의 스크립트에 의한 텍스처 모핑 기능으로 생성된 이미지는 그림 4B이고, 그림 4A는 원본 이미지인 face20.jpg이며, 그림 4C는 대상 이미지인 face60.jpg이다.
본 발명에서 재질 변형 모듈(120)을 구동하기 위한 모든 함수는 <deformShader>와 </deformShader> 사이에 존재하도록 한다.
체형 변형 스크립트와 마찬가지로 기본적인 형태는 TinyXML 클래스의 Document 자료구조를 이용하고, 재질 스크립트에서 표현되는 요소와 속성을 해당 캐릭터의 텍스처 및 재질 변수에 연결하여 렌더링 시에 표현될 수 있도록 한다.
본 발명의 바람직한 실시예에 따른 동작 변형 모듈(130)은 3차원 캐릭터의 각 뼈대의 회전 변화값과 중심의 이동값을 포함한 동작 데이터를 바탕으로 3차원 캐릭터의 동작을 변형시킨다.
캐릭터에 적용되는 동작데이터는 뼈대의 구성을 알 수 있는 기본 뼈대 정보와 기본 뼈대의 움직임 정보로 이루어져 있는 데, BVH 파일의 모션캡쳐 데이터가 대표적인 예이다.
// 뼈대의 골격 정보 HIERARCHY ROOT Hips { OFFSET 0 -2 0 CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation JOINT LeftHip { OFFSET 9.24534 0 0.0065797 CHANNELS 3 Zrotation Xrotation Yrotation JOINT LeftKnee { OFFSET 0 -39.9265 0 CHANNELS 3 Zrotation Xrotation Yrotation JOINT LeftAnkle { OFFSET 0 -38.6177 0 CHANNELS 3 Zrotation Xrotation Yrotation End Site ...................... .... 중간 생략 JOINT Head { OFFSET -0.0493344 11.713 -0.444875 CHANNELS 3 Zrotation Xrotation Yrotation End Site { OFFSET 0.298768 11.7265 0.856213 } } } } // 동작 데이터 MOTION Frames: 165 Frame Time: 0.033333333 0.4223 85.8318 -0.4882 2.4007 2.7725 1.9305 ......(생략) 0.3766 85.8723 -0.4500 2.2092 2.6025 1.9741 ......(생략) 0.3594 85.8987 -0.4216 2.0903 2.4808 2.0241 ......(생략) 0.4223 85.8318 -0.4882 2.0403 2.4762 2.0402 ......(생략) .... 중간 생략 .... 2.3061 85.9629 0.5953 2.0180 1.6200 -0.6675 ......(생략) 2.2931 85.9644 0.6052 1.9909 1.6288 -0.6267 ......(생략)
표 3을 살펴보면 앞 부분에서는 모션캡쳐를 한 캐릭터의 뼈대 정보가 담겨있고, 뒷부분에 해당 동작의 캡쳐한 프레임수와 데이터의 초당 프레임수, 모션데이터의 이동 값과 회전 값이 있다.
BVH 파일의 헤더 부분에 뼈대 정보는 뼈대의 연결구조와 길이, 연결된 동작 데이터의 타입이 있고, 이 헤더 정보로부터 아래에 나타나는 데이터의 개수가 결정된다. 일반적으로 모든 뼈대는 6개의 자유도로 이동 값과 회전 값을 가질 수 있으나, 최초의 루트에 해당하는 뼈대를 제외하고는 대부분 회전 값만 가지게 된다. 그러한 정보를 바탕으로 실제 동작데이터가 뒤에 위치하게 된다.
동작 데이터는 전체 프레임의 개수와 1초에 진행할 프레임의 수 정보를 표시한 후 1줄에 모든 뼈대의 움직임 정보를 표현한다. 표 3의 경우는 전체 프레임이 165이므로 동작 데이터는 165행으로 표현되며, 각 줄에서 첫 번째 항은 헤더에서 정의한 자유도 중 첫 번째 것에 해당하는 방식으로 1대1 대응으로 해석한다.
본 발명의 바람직한 실시예에 따른 동작 변형 모듈(130)에서 스크립트로 제어하는 캐릭터 동작 요소는 캐릭터 각 뼈대의 회전 변화값과 캐릭터 중심의 이동값이다. 모션캡쳐에 의한 3차원 캐릭터의 동작 데이터는 19개의 회전값과 1개의 이동값이다.
이는 일반적으로 특정한 사람이나 캐릭터의 동작에 대한 데이터로서, 동작 데이터를 특정 캐릭터에 적용하기 위해서는 동작 데이터를 보정 또는 변형하여야 하므로 동작 변형 모듈(130)은 뼈대를 변경하고, 변경된 뼈대에 맞도록 동작 데이터를 변경하는 <bonemodifier>와 뼈대와 상관없이 동작을 변경하는 <motionmodifier>를 포함하며, <deformMotion> 과 </deformMotion> 사이에 존재하도록 한다.
서로 다른 뼈대를 갖는 동작 간의 데이터 변형에 사용되는 <bonemodifier>와 </bonemodifier> 사이에 사용되는 함수는 뼈대를 회전시키면서 동작을 유지하는 rotate 함수 및 뼈대의 길이를 변경하는 Stretch 함수이다.
rotate 함수는 각도를 변경하고자 하는 관절의 이름을 설정하는 jointname 및 관절의 변형 각도를 도(Degree) 단위로 x축, y축, z축의 순서로 기술하여 x, y, z 순서로 회전을 적용하는 rotatedelta의 속성을 포함한다.
stretch 함수는 두 개 이상의 이어진 뼈대를 같이 변형하는 경우 이어진 뼈대 중 최하위의 관절의 위치를 보존하기 위해 동작을 변형하는 데, stretch 함수에서의 jointname 속성에는 길이를 변경할 대상이 되는 관절 중 최상위 관절의 이름을 입력하고, 변경 깊이를 입력한다. 변경 깊이는 길이 변경의 대상이 되는 관절의 깊이를 나타내는 데, 변경 깊이의 기본값은 1이고, 변경 깊이를 0으로 설정하면 변경 대상이 되는 관절의 자손 중 최하위 자손까지의 거리가 변경 깊이로 설정되며, 2 개 이상의 이어진 관절을 같이 변형하면 변형 깊이를 2 이상으로 입력하도록 한다.
또한, stretch 함수는 각 관절의 길이변경비율을 설정하는 stretchratio 속성을 포함하는 데, 해당 관절의 길이를 길이 비율만큼 늘리거나 줄이는 기능의 stretchratio 속성은 jointname 속성의 변경 깊이와 stretchratio 속성의 길이 비율의 개수가 반드시 일치하여야 하고, 길이 비율은 1인 경우에는 원래의 길이를 보존하고, 2인 경우에는 원래 길이의 두 배가 된다.
<bonemodifier> <rotate jointname="root" rotatedelta="0 90 0"/> </bonemodifier>
표 4는 bonemodifier 내에서 캐릭터를 회전시키는 스크립트이다. 뼈대에 동작이 적용되어 사용자에게 보이는 최종 동작은 유지하면서, 전체 뼈대를 y축으로 90도 만큼 더 회전시키도록 한다.
캐릭터의 특성, 상황적인 요인, 특정한 제약 등으로 인하여 뼈대의 변형이 없이 일정한 구간의 동작을 변형하는 <motionmodifier>와 </motionmodifier> 사이에 사용되는 함수는 특정 프레임에서의 동작을 회전 변형하고, 그 프레임 전후의 동작을 보간하는 rotate 함수 및 특정 관절의 위치에 맞추어 특정 프레임의 루트를 이동하고, 그 프레임의 전후에서 위치 값을 보간하는 translate 함수이다.
rotate 함수는 동작을 변경하고자 하는 관절의 이름을 설정하는 jointname, 동작을 변경하고자 하는 대상 프레임의 위치를 -1, 0∼총 프레임수로 표시하는 targetframe, x축, y축, z축의 순서로 회전이 적용되도록 동작의 변경 각도를 표시하는 rotatedelta, 보간 시작 프레임부터 보간 종료 프레임까지를 보간하는 interpolation 및 관절의 최종 각도를 표시하는 rotateabs 등의 속성을 포함한다.
targetframe 속성의 기본값은 -1이며, -1인 경우에는 모든 프레임에 대하여 변경하는 것을 의미한다.
interpolation 속성에서 demper의 경우는 해당 관절에 대해서만 보간을 수행하지만, endeffector의 경우는 대상 관절의 하위관절의 동작에도 영향을 준다.
rotateabs 속성은 rotatedelta 속성 대신 사용이 가능한 데, 예를 들어, x축에 대해서는 목표각도를 설정하고 싶지 않다면 ‘x축의 목표각도’위치에 x를 대입하는 형태로 표현한다.
translate 함수는 루트의 위치 이동을 계산하는데 있어서 기준이 되는 관절의 이름을 설정하는 jointname, 동작을 변경하고자 하는 대상 프레임의 위치를 -1, 0∼총 프레임수로 표시하는 targetframe, 기준 관절의 위치 변화를 기술하는 translatedelta, 완충의 시작 프레임부터 대상 프레임을 거쳐 프레임 끝까지 위치 이동을 보간하는 demper 및 관절의 위치를 표시하는 translateabs 등의 속성을 포함한다.
translatedelta 속성은 기준관절의 위치변화를 deltaX deltaY deltaZ의 형태로 기술하고, translateabs 속성은 translatedelta 속성 대신 사용이 가능한데, 예를 들어, x 위치에 대해서 목표 위치를 설정하고 싶지 않다면 x를 대입한다.
<motionmodifier> <rotate jointname="left_upper_leg" targetframe="1000" rotatedelta="-90 0 0" interpolation="demper 0 2000"/> </motionmodifier>
표 5는 캐릭터의 1000 프레임의 왼쪽 무릎을 x축으로 90도 만큼 더 회전시키는 스크립트이다. 0∼2000 프레임 사이를 코사인 곡선을 이용해 부드럽게 보간하도록 한다.
본 발명은 XML 형식의 구조적인 스크립트를 해석하기 위하여 범용적인 XML 문법 해석 모듈을 이용하고, TinyXML 클래스를 사용하여 기본적인 문법 파서의 안전성을 보장한다.
동작 변형 스크립트는 BVH 형식의 모션캡쳐 데이터를 입력 데이터로 하여 XML로 기술된 동작의 이동과 회전 정보의 변형과 루아 스크립트로 제어하는 데이터의 변형을 해석하는 데, 이를 해석하는 중요 클래스는 ADSDeformMotion class이고, ADSBoneMotion에서 실제적으로 스크립트를 해석하여 실행해주는 역할은 modify 함수의 역할이다.
본 발명의 바람직한 실시예에 따른 캐릭터 변형 프로그램(100)을 구동하면 도 5와 같은 기본적인 화면을 디스플레이한다.
본 발명에서 캐릭터 변형 프로그램(100)은 VRML 형식의 데이터를 입력받고, 텍스처 이미지는 JPG, TGA 포맷을 불러와 저장할 수 있도록 하였으며, BVH 포맷의 모션 캡쳐 데이터를 캐릭터에 적용하여 동작을 변형하도록 한다.
도 6a는 본 발명의 바람직한 실시예에 따른 캐릭터 변형 프로그램에서 캐릭터의 뼈대를 설정하는 화면을 나타낸 도면이다.
본 발명의 바람직한 실시예에 따른 캐릭터 변형 프로그램(100)은 3차원 캐릭터의 기본적인 형태 정보와 이미지 정보를 로딩(Loading)하여 모델 데이터를 생성하는 데, 이 모델 데이터에 애니메이션이 가능하도록 하려면, 즉, 3차원 캐릭터의 동작을 변형하려면 뼈대 정보를 설정해주어야 한다.
따라서, 본 발명에서 캐릭터 변형 프로그램(100)은 3차원 캐릭터에 19개의 뼈대 정보를 설정하는 기능을 제공하고, 16개의 손가락 관절을 설정하는 기능을 제공한다.
도 6b는 본 발명의 바람직한 실시예에 따른 캐릭터 변형 프로그램에서 설정한 뼈대에 회전을 설정하는 화면을 나타낸 도면이다.
도 6a에서 3차원 캐릭터에 설정한 뼈대 정보를 바탕으로 각각의 버텍스마다 관절에 대하여 얼마나 회전 값을 적용할지를 결정하여야 하는 데, 이는 스킨 비중 값으로 나타낸다. 스킨 비중 값에 따라 애니메이션의 자연스러움이 결정되기 때문이다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명에 의하면, 캐릭터 변형 프로그램을 이용하여 기존에 제작한 3차원 캐릭터의 변형을 제공함으로써, 사용자로부터 소외되는 캐릭터를 변형하여 캐릭터를 사용하는 사용자에게 만족감을 주고, 제작된 캐릭터를 변형시키는 데 소비하는 시간과 노력을 획기적으로 단축시키는 효과가 있다.

Claims (4)

  1. 3차원 캐릭터를 변형하는 프로그램을 기록한 기록매체에 있어서 상기 프로그램은,
    상기 3차원 캐릭터의 외형 정보를 저장하고 있는 버텍스 데이터(Vertex Data)를 이용하고, 상기 3차원 캐릭터의 노말 데이터, 텍스처 데이터, 뼈대 데이터를 참조하여 상기 3차원 캐릭터의 체형을 변형하기 위한 체형 변형 스크립트와 루아 스크립트를 제공하는 체형 변형 모듈;
    상기 3차원 캐릭터의 얼굴 형태를 변형하기 위한 이미지 모핑 기능을 제공하고, 상기 3차원 캐릭터의 색상과 상기 색상의 시간과 공간에 따른 변화를 조절하는 재질 스크립트를 제공하며, 상기 3차원 캐릭터의 텍스처 이미지 간의 섞임을 제어하는 블랜드 스크립트를 제공하는 재질 변형 모듈; 및
    상기 3차원 캐릭터의 각 뼈대에 대한 회전 변화 값과 중심의 이동 값을 포함한 동작 데이터를 바탕으로 상기 3차원 캐릭터의 동작을 변형을 제공하는 동작 변형 모듈
    을 포함하는 것을 특징으로 하는 3차원 캐릭터를 변형하는 프로그램을 기록한 컴퓨터 판독가능한 기록매체.
  2. 제 1 항에 있어서, 상기 루아 스크립트는,
    상기 3차원 캐릭터의 체형을 변형하기 위한 수학적 함수를 제공하며, 상기 수학적 함수에 상기 버텍스 데이터, 상기 노말 데이터, 상기 텍스처 데이터 및 상기 뼈대 데이터를 입력하는 것을 특징으로 하는 3차원 캐릭터를 변형하는 프로그램을 기록한 컴퓨터 판독가능한 기록매체.
  3. 제 2 항에 있어서, 상기 재질 변형 모듈은,
    상기 3차원 캐릭터의 얼굴 이미지에 47개의 특징점을 설정하고, 상기 특징점을 바탕으로 상기 3차원 캐릭터의 얼굴을 변형하는 중에 상기 특징점의 위치에 따라 상기 3차원 캐릭터를 변형하는 중간 이미지를 생성하도록 하는 것을 특징으로 하는 3차원 캐릭터를 변형하는 프로그램을 기록한 컴퓨터 판독가능한 기록매체.
  4. 제 1 항에 있어서, 상기 동작 변형 모듈은,
    상기 3차원 캐릭터의 뼈대 정보를 설정하는 기능을 제공하고, 상기 3차원 캐릭터에 설정한 상기 뼈대 정보에 대한 회전 값을 설정하는 기능을 제공하는 것을 특징으로 하는 3차원 캐릭터를 변형하는 프로그램을 기록한 컴퓨터 판독가능한 기록매체.
KR1020060080462A 2006-08-24 2006-08-24 3차원 캐릭터의 변형을 제공하는 캐릭터 변형 프로그램을기록한 컴퓨터 판독가능 기록매체 KR20080018407A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060080462A KR20080018407A (ko) 2006-08-24 2006-08-24 3차원 캐릭터의 변형을 제공하는 캐릭터 변형 프로그램을기록한 컴퓨터 판독가능 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060080462A KR20080018407A (ko) 2006-08-24 2006-08-24 3차원 캐릭터의 변형을 제공하는 캐릭터 변형 프로그램을기록한 컴퓨터 판독가능 기록매체

Publications (1)

Publication Number Publication Date
KR20080018407A true KR20080018407A (ko) 2008-02-28

Family

ID=39385439

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060080462A KR20080018407A (ko) 2006-08-24 2006-08-24 3차원 캐릭터의 변형을 제공하는 캐릭터 변형 프로그램을기록한 컴퓨터 판독가능 기록매체

Country Status (1)

Country Link
KR (1) KR20080018407A (ko)

Cited By (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100919826B1 (ko) * 2008-03-13 2009-10-01 한국전자통신연구원 스윕을 이용한 국소 부위 형상 변형 장치 및 방법
KR100947439B1 (ko) * 2008-06-12 2010-03-12 주식회사 넥슨 체형 변화에 따라 아이템을 실시간으로 모핑하는 시스템 및방법
WO2012149772A1 (zh) * 2011-09-27 2012-11-08 华为技术有限公司 一种渐变动画的生成方法和装置
US9058653B1 (en) 2011-06-10 2015-06-16 Flir Systems, Inc. Alignment of visible light sources based on thermal images
US9143703B2 (en) 2011-06-10 2015-09-22 Flir Systems, Inc. Infrared camera calibration techniques
US9207708B2 (en) 2010-04-23 2015-12-08 Flir Systems, Inc. Abnormal clock rate detection in imaging sensor arrays
US9208542B2 (en) 2009-03-02 2015-12-08 Flir Systems, Inc. Pixel-wise noise reduction in thermal images
US9235876B2 (en) 2009-03-02 2016-01-12 Flir Systems, Inc. Row and column noise reduction in thermal images
US9235023B2 (en) 2011-06-10 2016-01-12 Flir Systems, Inc. Variable lens sleeve spacer
US9292909B2 (en) 2009-06-03 2016-03-22 Flir Systems, Inc. Selective image correction for infrared imaging devices
KR20160060472A (ko) 2014-11-20 2016-05-30 주식회사 씨지픽셀스튜디오 컴퓨터 그래픽의 골격 요소 추가 생성에 의한 이차적 움직임 구현방법
USD765081S1 (en) 2012-05-25 2016-08-30 Flir Systems, Inc. Mobile communications device attachment with camera
US9451183B2 (en) 2009-03-02 2016-09-20 Flir Systems, Inc. Time spaced infrared image enhancement
US9473681B2 (en) 2011-06-10 2016-10-18 Flir Systems, Inc. Infrared camera system housing with metalized surface
US9509924B2 (en) 2011-06-10 2016-11-29 Flir Systems, Inc. Wearable apparatus with integrated infrared imaging module
US9517679B2 (en) 2009-03-02 2016-12-13 Flir Systems, Inc. Systems and methods for monitoring vehicle occupants
US9521289B2 (en) 2011-06-10 2016-12-13 Flir Systems, Inc. Line based image processing and flexible memory system
KR101707203B1 (ko) 2015-09-04 2017-02-15 주식회사 씨지픽셀스튜디오 관절 회전값 적용기반 컴퓨터 그래픽 캐릭터 애니메이션 파일의 변환방법
US9635285B2 (en) 2009-03-02 2017-04-25 Flir Systems, Inc. Infrared imaging enhancement with fusion
US9674458B2 (en) 2009-06-03 2017-06-06 Flir Systems, Inc. Smart surveillance camera systems and methods
US9706137B2 (en) 2011-06-10 2017-07-11 Flir Systems, Inc. Electrical cabinet infrared monitor
US9706139B2 (en) 2011-06-10 2017-07-11 Flir Systems, Inc. Low power and small form factor infrared imaging
US9706138B2 (en) 2010-04-23 2017-07-11 Flir Systems, Inc. Hybrid infrared sensor array having heterogeneous infrared sensors
US9716843B2 (en) 2009-06-03 2017-07-25 Flir Systems, Inc. Measurement device for electrical installations and related methods
US9723227B2 (en) 2011-06-10 2017-08-01 Flir Systems, Inc. Non-uniformity correction techniques for infrared imaging devices
US9756264B2 (en) 2009-03-02 2017-09-05 Flir Systems, Inc. Anomalous pixel detection
US9756262B2 (en) 2009-06-03 2017-09-05 Flir Systems, Inc. Systems and methods for monitoring power systems
US9807319B2 (en) 2009-06-03 2017-10-31 Flir Systems, Inc. Wearable imaging devices, systems, and methods
US9811884B2 (en) 2012-07-16 2017-11-07 Flir Systems, Inc. Methods and systems for suppressing atmospheric turbulence in images
US9819880B2 (en) 2009-06-03 2017-11-14 Flir Systems, Inc. Systems and methods of suppressing sky regions in images
US9843742B2 (en) 2009-03-02 2017-12-12 Flir Systems, Inc. Thermal image frame capture using de-aligned sensor array
US9848134B2 (en) 2010-04-23 2017-12-19 Flir Systems, Inc. Infrared imager with integrated metal layers
US9900526B2 (en) 2011-06-10 2018-02-20 Flir Systems, Inc. Techniques to compensate for calibration drifts in infrared imaging devices
US9948872B2 (en) 2009-03-02 2018-04-17 Flir Systems, Inc. Monitor and control systems and methods for occupant safety and energy efficiency of structures
CN107945267A (zh) * 2017-12-13 2018-04-20 四川川大智胜软件股份有限公司 一种用于人脸三维模型纹理融合的方法和设备
US9961277B2 (en) 2011-06-10 2018-05-01 Flir Systems, Inc. Infrared focal plane array heat spreaders
US9973692B2 (en) 2013-10-03 2018-05-15 Flir Systems, Inc. Situational awareness by compressed display of panoramic views
US9986175B2 (en) 2009-03-02 2018-05-29 Flir Systems, Inc. Device attachment with infrared imaging sensor
US9998697B2 (en) 2009-03-02 2018-06-12 Flir Systems, Inc. Systems and methods for monitoring vehicle occupants
US10051210B2 (en) 2011-06-10 2018-08-14 Flir Systems, Inc. Infrared detector array with selectable pixel binning systems and methods
US10079982B2 (en) 2011-06-10 2018-09-18 Flir Systems, Inc. Determination of an absolute radiometric value using blocked infrared sensors
US10091439B2 (en) 2009-06-03 2018-10-02 Flir Systems, Inc. Imager with array of multiple infrared imaging modules
CN108933969A (zh) * 2018-07-25 2018-12-04 深圳市茁壮网络股份有限公司 一种实现数字电视视频动画的方法及***
US10169666B2 (en) 2011-06-10 2019-01-01 Flir Systems, Inc. Image-assisted remote control vehicle systems and methods
US10244190B2 (en) 2009-03-02 2019-03-26 Flir Systems, Inc. Compact multi-spectrum imaging with fusion
US10389953B2 (en) 2011-06-10 2019-08-20 Flir Systems, Inc. Infrared imaging device having a shutter
KR20190110218A (ko) * 2018-03-20 2019-09-30 한국전자통신연구원 동적 가상객체 구현 시스템 및 방법
KR20200006959A (ko) 2019-12-27 2020-01-21 주식회사 엔씨소프트 스크린 샷을 이용한 캐릭터의 설정정보 처리장치 및 방법
US10757308B2 (en) 2009-03-02 2020-08-25 Flir Systems, Inc. Techniques for device attachment with dual band imaging sensor
US10841508B2 (en) 2011-06-10 2020-11-17 Flir Systems, Inc. Electrical cabinet infrared monitor systems and methods
US11297264B2 (en) 2014-01-05 2022-04-05 Teledyne Fur, Llc Device attachment with dual band imaging sensor

Cited By (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100919826B1 (ko) * 2008-03-13 2009-10-01 한국전자통신연구원 스윕을 이용한 국소 부위 형상 변형 장치 및 방법
KR100947439B1 (ko) * 2008-06-12 2010-03-12 주식회사 넥슨 체형 변화에 따라 아이템을 실시간으로 모핑하는 시스템 및방법
US9756264B2 (en) 2009-03-02 2017-09-05 Flir Systems, Inc. Anomalous pixel detection
US10244190B2 (en) 2009-03-02 2019-03-26 Flir Systems, Inc. Compact multi-spectrum imaging with fusion
US9635285B2 (en) 2009-03-02 2017-04-25 Flir Systems, Inc. Infrared imaging enhancement with fusion
US10033944B2 (en) 2009-03-02 2018-07-24 Flir Systems, Inc. Time spaced infrared image enhancement
US9517679B2 (en) 2009-03-02 2016-12-13 Flir Systems, Inc. Systems and methods for monitoring vehicle occupants
US9208542B2 (en) 2009-03-02 2015-12-08 Flir Systems, Inc. Pixel-wise noise reduction in thermal images
US9235876B2 (en) 2009-03-02 2016-01-12 Flir Systems, Inc. Row and column noise reduction in thermal images
US9998697B2 (en) 2009-03-02 2018-06-12 Flir Systems, Inc. Systems and methods for monitoring vehicle occupants
US9843742B2 (en) 2009-03-02 2017-12-12 Flir Systems, Inc. Thermal image frame capture using de-aligned sensor array
US9986175B2 (en) 2009-03-02 2018-05-29 Flir Systems, Inc. Device attachment with infrared imaging sensor
US9948872B2 (en) 2009-03-02 2018-04-17 Flir Systems, Inc. Monitor and control systems and methods for occupant safety and energy efficiency of structures
US9451183B2 (en) 2009-03-02 2016-09-20 Flir Systems, Inc. Time spaced infrared image enhancement
US10757308B2 (en) 2009-03-02 2020-08-25 Flir Systems, Inc. Techniques for device attachment with dual band imaging sensor
US9843743B2 (en) 2009-06-03 2017-12-12 Flir Systems, Inc. Infant monitoring systems and methods using thermal imaging
US9292909B2 (en) 2009-06-03 2016-03-22 Flir Systems, Inc. Selective image correction for infrared imaging devices
US9819880B2 (en) 2009-06-03 2017-11-14 Flir Systems, Inc. Systems and methods of suppressing sky regions in images
US10091439B2 (en) 2009-06-03 2018-10-02 Flir Systems, Inc. Imager with array of multiple infrared imaging modules
US9674458B2 (en) 2009-06-03 2017-06-06 Flir Systems, Inc. Smart surveillance camera systems and methods
US9807319B2 (en) 2009-06-03 2017-10-31 Flir Systems, Inc. Wearable imaging devices, systems, and methods
US9756262B2 (en) 2009-06-03 2017-09-05 Flir Systems, Inc. Systems and methods for monitoring power systems
US9716843B2 (en) 2009-06-03 2017-07-25 Flir Systems, Inc. Measurement device for electrical installations and related methods
US9848134B2 (en) 2010-04-23 2017-12-19 Flir Systems, Inc. Infrared imager with integrated metal layers
US9207708B2 (en) 2010-04-23 2015-12-08 Flir Systems, Inc. Abnormal clock rate detection in imaging sensor arrays
US9706138B2 (en) 2010-04-23 2017-07-11 Flir Systems, Inc. Hybrid infrared sensor array having heterogeneous infrared sensors
US9473681B2 (en) 2011-06-10 2016-10-18 Flir Systems, Inc. Infrared camera system housing with metalized surface
US9235023B2 (en) 2011-06-10 2016-01-12 Flir Systems, Inc. Variable lens sleeve spacer
US9723228B2 (en) 2011-06-10 2017-08-01 Flir Systems, Inc. Infrared camera system architectures
US9716844B2 (en) 2011-06-10 2017-07-25 Flir Systems, Inc. Low power and small form factor infrared imaging
US9706139B2 (en) 2011-06-10 2017-07-11 Flir Systems, Inc. Low power and small form factor infrared imaging
US9706137B2 (en) 2011-06-10 2017-07-11 Flir Systems, Inc. Electrical cabinet infrared monitor
US10841508B2 (en) 2011-06-10 2020-11-17 Flir Systems, Inc. Electrical cabinet infrared monitor systems and methods
US10389953B2 (en) 2011-06-10 2019-08-20 Flir Systems, Inc. Infrared imaging device having a shutter
US9538038B2 (en) 2011-06-10 2017-01-03 Flir Systems, Inc. Flexible memory systems and methods
US9521289B2 (en) 2011-06-10 2016-12-13 Flir Systems, Inc. Line based image processing and flexible memory system
US9509924B2 (en) 2011-06-10 2016-11-29 Flir Systems, Inc. Wearable apparatus with integrated infrared imaging module
US9900526B2 (en) 2011-06-10 2018-02-20 Flir Systems, Inc. Techniques to compensate for calibration drifts in infrared imaging devices
US10250822B2 (en) 2011-06-10 2019-04-02 Flir Systems, Inc. Wearable apparatus with integrated infrared imaging module
US10230910B2 (en) 2011-06-10 2019-03-12 Flir Systems, Inc. Infrared camera system architectures
US9961277B2 (en) 2011-06-10 2018-05-01 Flir Systems, Inc. Infrared focal plane array heat spreaders
US10169666B2 (en) 2011-06-10 2019-01-01 Flir Systems, Inc. Image-assisted remote control vehicle systems and methods
US9058653B1 (en) 2011-06-10 2015-06-16 Flir Systems, Inc. Alignment of visible light sources based on thermal images
US9723227B2 (en) 2011-06-10 2017-08-01 Flir Systems, Inc. Non-uniformity correction techniques for infrared imaging devices
US9143703B2 (en) 2011-06-10 2015-09-22 Flir Systems, Inc. Infrared camera calibration techniques
US10051210B2 (en) 2011-06-10 2018-08-14 Flir Systems, Inc. Infrared detector array with selectable pixel binning systems and methods
US10079982B2 (en) 2011-06-10 2018-09-18 Flir Systems, Inc. Determination of an absolute radiometric value using blocked infrared sensors
WO2012149772A1 (zh) * 2011-09-27 2012-11-08 华为技术有限公司 一种渐变动画的生成方法和装置
US8531484B2 (en) 2011-09-27 2013-09-10 Huawei Technologies Co., Ltd. Method and device for generating morphing animation
USD765081S1 (en) 2012-05-25 2016-08-30 Flir Systems, Inc. Mobile communications device attachment with camera
US9811884B2 (en) 2012-07-16 2017-11-07 Flir Systems, Inc. Methods and systems for suppressing atmospheric turbulence in images
US9973692B2 (en) 2013-10-03 2018-05-15 Flir Systems, Inc. Situational awareness by compressed display of panoramic views
US11297264B2 (en) 2014-01-05 2022-04-05 Teledyne Fur, Llc Device attachment with dual band imaging sensor
KR20160060472A (ko) 2014-11-20 2016-05-30 주식회사 씨지픽셀스튜디오 컴퓨터 그래픽의 골격 요소 추가 생성에 의한 이차적 움직임 구현방법
KR101707203B1 (ko) 2015-09-04 2017-02-15 주식회사 씨지픽셀스튜디오 관절 회전값 적용기반 컴퓨터 그래픽 캐릭터 애니메이션 파일의 변환방법
CN107945267A (zh) * 2017-12-13 2018-04-20 四川川大智胜软件股份有限公司 一种用于人脸三维模型纹理融合的方法和设备
CN107945267B (zh) * 2017-12-13 2021-02-26 四川川大智胜软件股份有限公司 一种用于人脸三维模型纹理融合的方法和设备
KR20190110218A (ko) * 2018-03-20 2019-09-30 한국전자통신연구원 동적 가상객체 구현 시스템 및 방법
CN108933969B (zh) * 2018-07-25 2021-02-09 深圳市茁壮网络股份有限公司 一种实现数字电视视频动画的方法及***
CN108933969A (zh) * 2018-07-25 2018-12-04 深圳市茁壮网络股份有限公司 一种实现数字电视视频动画的方法及***
KR20200006959A (ko) 2019-12-27 2020-01-21 주식회사 엔씨소프트 스크린 샷을 이용한 캐릭터의 설정정보 처리장치 및 방법

Similar Documents

Publication Publication Date Title
KR20080018407A (ko) 3차원 캐릭터의 변형을 제공하는 캐릭터 변형 프로그램을기록한 컴퓨터 판독가능 기록매체
US10540817B2 (en) System and method for creating a full head 3D morphable model
JP5829371B2 (ja) モーションキャプチャデータを使用する顔面アニメーション
US5267154A (en) Biological image formation aiding system and biological image forming method
US8139068B2 (en) Three-dimensional animation of soft tissue of characters using controls associated with a surface mesh
US20030184544A1 (en) Modeling human beings by symbol manipulation
US8115774B2 (en) Application of selective regions of a normal map based on joint position in a three-dimensional model
JP2000512039A (ja) プログラム可能なコンピュータグラフィックオブジェクト
CN111124119B (zh) 基于虚拟现实技术的建筑模型呈现与交互方法
US8704823B1 (en) Interactive multi-mesh modeling system
CN109325990A (zh) 图像处理方法及图像处理装置、存储介质
US8665261B1 (en) Automatic spatial correspondence disambiguation
US8681147B1 (en) Fractured texture coordinates
JP2000242811A (ja) 画像処理方法、その画像処理装置及びそれに利用する一体整形モデルデータ及び画像処理プログラムを記録した記録媒体
Orvalho et al. Transferring the rig and animations from a character to different face models
Thorn Learn unity for 2d game development
Johnson Towards enhanced visual clarity of sign language avatars through recreation of fine facial detail
US10319133B1 (en) Posing animation hierarchies with dynamic posing roots
CN106716500A (zh) 程序、信息处理装置、深度定义方法及记录介质
US8228335B1 (en) Snapsheet animation visualization
Rhalibi et al. Charisma: High-performance Web-based MPEG-compliant animation framework
CN114119821A (zh) 虚拟对象的毛发渲染方法、装置及设备
JP2023540434A (ja) 操作順序変形エンジンを用いたコンピュータアニメーションのためのシステム及び方法
Oliverio Maya 8.0 Character Modeling
El Rhalibi et al. Highly realistic mpeg-4 compliant facial animation with charisma

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application