KR101189687B1 - 3차원 캐릭터의 생성 방법 - Google Patents

3차원 캐릭터의 생성 방법 Download PDF

Info

Publication number
KR101189687B1
KR101189687B1 KR1020120050185A KR20120050185A KR101189687B1 KR 101189687 B1 KR101189687 B1 KR 101189687B1 KR 1020120050185 A KR1020120050185 A KR 1020120050185A KR 20120050185 A KR20120050185 A KR 20120050185A KR 101189687 B1 KR101189687 B1 KR 101189687B1
Authority
KR
South Korea
Prior art keywords
value
map
texture
contrast
dimensional character
Prior art date
Application number
KR1020120050185A
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 KR1020120050185A priority Critical patent/KR101189687B1/ko
Application granted granted Critical
Publication of KR101189687B1 publication Critical patent/KR101189687B1/ko

Links

Images

Classifications

    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

3차원 캐릭터의 생성 방법 및 3차원 캐릭터 생성 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체를 제공한다. 3차원 캐릭터의 생성 방법은, XYZ 좌표계로 표시되는 3차원 캐릭터를 이용하여 UV 좌표계로 표시되는 UV 맵(map)을 생성하는 단계, 상기 UV 맵에 이미지 텍스쳐(image texture)를 매핑(mapping)하는 단계, 음영 텍스쳐(shade texture)를 이용하여 상기 매핑된 UV 맵에 음영을 표시하는 단계 및 상기 UV 맵의 UV 좌표를 3차원 좌표계로 변환하여 텍스쳐 매핑된 3차원 캐릭터를 생성하는 단계를 포함하고, 상기 음영 텍스쳐는 좌측에서 우측으로 명암이 점진적으로 밝게 변이되는 1차원 텍스쳐이다.

Description

3차원 캐릭터의 생성 방법 {Method for Creating 3D Character}
본 발명은 3차원 캐틱터의 생성 방법에 관한 것이다.
게임, 영화, 애니메이션과 같은 영상물에서 가상의 CG 캐릭터의 역할은 점차로 증가하고 있다. 이런 변화 속에서 소비자의 시선을 집중시킬 수 있는 캐릭터의 가치는 점점 확대되고 있다. 캐릭터를 보다 자연스럽고 현실적으로 표현하기 위해서는 많은 단계의 캐릭터 제작 과정이 요구되며, 각각의 단계에서 요구되는 컴퓨터 처리 능력 또한 증가하고 있다.
캐릭터의 제작은 크게 캐릭터의 형태나 공간, 환경 등을 결정하여 데이터화하는 모델링 과정과 상기 데이터를 이용하여 화상을 만드는 렌더링 과정을 통해 이루어진다. 3차원 모델에서의 렌더링 과정은 일반적으로 투영(projection), 클립핑(clipping), 은면 처리(hidden surface), 쉐이딩(shading) 및 매핑(mapping) 등의 단계를 통해 처리된다. 쉐이딩은 면에 대한 빛의 반사 정도를 처리하는 것으로서 음영 처리라고 한다. 또한, 매핑은 물체의 재질이나 모양 등을 직접 모델링하는 대신 텍스쳐 등을 물체의 면에 투영하는 것이며 텍스쳐 매핑(texture mapping) 등이 있다.
이와 같은 3차원 캐릭터의 음영 처리 및 텍스쳐 매핑 처리를 위해서는 복잡한 처리 과정 및 많은 컴퓨터 리소스를 필요로 한다. 따라서, 리소스의 사용량을 줄이면서도 효과적으로 음영 처리 작업을 수행할 수 있는 방법이 요구된다.
한국공개특허 제2011-0060261호, "3차원 사물의 텍스쳐 매핑 시스템 및 그 방법"
상술한 종래 기술의 문제점을 해결하기 위해, 본 발명은 미리 준비된 텍스쳐를 이용하여 캐릭터의 명도를 조절할 수 있는 3차원 캐릭터의 생성 방법을 제공한다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 제1 측면에 따른 3차원 캐릭터의 생성 방법은, XYZ 좌표계로 표시되는 3차원 캐릭터를 이용하여 UV 좌표계로 표시되는 UV 맵(map)을 생성하는 단계, 상기 UV 맵에 이미지 텍스쳐(image texture)를 매핑(mapping)하는 단계, 음영 텍스쳐(shade texture)를 이용하여 상기 매핑된 UV 맵에 음영을 표시하는 단계 및 상기 UV 맵의 UV 좌표를 3차원 좌표계로 변환하여 텍스쳐 매핑된 3차원 캐릭터를 생성하는 단계를 포함하고, 상기 음영 텍스쳐는 좌측에서 우측으로 명암이 점진적으로 변이되는 1차원 텍스쳐이다.
여기서, 상기 음영을 표시하는 단계는, 상기 UV 맵의 특정 폴리곤(polygon)에 대하여 광원에 따른 명암값을 계산하고, 상기 명암값에 대응되는 상기 음영 텍스쳐의 위치값을 계산하는 단계 및 상기 UV 맵의 상기 특정 폴리곤에 상기 음영 텍스쳐의 상기 위치값에 해당하는 픽셀을 매핑하는 단계를 포함할 수 있다.
여기서, 상기 음영 텍스쳐의 위치값을 계산하는 단계 및 상기 텍스쳐 블랜딩하는 단계는 상기 UV 맵의 모든 폴리곤에 대해 수행할 수 있다.
여기서, 상기 음영 텍스쳐의 위치값을 계산하는 단계는, 입사광의 벡터와 상기 특정 폴리곤의 법선 벡터의 내적을 계산하여 제1계산값을 구하는 단계, 상기 제1계산값을 1에서 감산하여 제2계산값을 구하는 단계 및 상기 제2계산값에 1/2을 곱하여 상기 위치값을 구하는 단계일 수 있다.
여기서, 상기 음영을 표시하는 단계는, 상기 UV 맵의 특정 픽셀(pixel)에 대하여 광원에 따른 명암값을 계산하고, 상기 명암값에 대응되는 상기 음영 텍스쳐의 위치값을 계산하는 단계 및 상기 UV 맵의 특정 픽셀에 상기 음영 텍스쳐의 상기 위치값에 해당하는 픽셀을 매핑하는 단계를 포함할 수 있다.
여기서, 상기 음영 텍스쳐의 위치값을 계산하는 단계는, 입사광의 벡터와 상기 특정 픽셀의 법선 벡터의 내적을 계산하여 제1계산값을 구하는 단계, 1에서 상기 제1계산값을 감산하여 제2계산값을 구하는 단계 및 상기 제2계산값에 1/2을 곱하여 상기 위치값을 구하는 단계일 수 있다.
여기서, 상기 음영을 표시하는 단계 이후에, 상기 UV 맵의 명부와 암부의 명암값의 차이를 증가시켜 음영을 강조하는 단계를 더 포함할 수 있다.
여기서, 상기 명암값은 Red 값, Green 값, Blue 값의 세 값을 포함하고, 상기 음영을 강조하는 단계는, 상기 UV 맵의 특정 폴리곤의 명암값이 기준값보다 큰 경우에 상기 특정 폴리곤의 명암값을 유지하고, 상기 특정 폴리곤의 명암값이 기준값보다 작은 경우에 상기 특정 폴리곤의 명암값을 감소시키는 단계일 수 있다.
여기서, 상기 명암값을 감소시키는 단계에서, 상기 감소된 명암값 중 상기 Blue 값은 상기 Red 및 상기 Green 값에 비해 감소폭이 작도록 계산될 수 있다.
또한, 본 발명의 제2 측면에 따른 3차원 캐릭터 생성 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체는, XYZ 좌표계로 표시되는 3차원 캐릭터를 이용하여 UV 좌표계로 표시되는 UV 맵(map)을 생성하는 단계, 상기 UV 맵에 이미지 텍스쳐(image texture)를 매핑(mapping)하는 단계, 음영 텍스쳐(shade texture)를 이용하여 상기 매핑된 UV 맵에 음영을 표시하는 단계 및 상기 UV 맵의 UV 좌표를 3차원 좌표계로 변환하여 텍스쳐 매핑된 3차원 캐릭터를 생성하는 단계를 포함하고, 상기 음영 텍스쳐는 좌측에서 우측으로 명암이 점진적으로 밝게 변이되는 1차원 텍스쳐이다.
여기서, 상기 음영을 표시하는 단계는, 상기 UV 맵의 특정 폴리곤(polygon)에 대하여 광원에 따른 명암값을 계산하고, 상기 명암값에 대응되는 상기 음영 텍스쳐의 위치값을 계산하는 단계 및 상기 UV 맵의 상기 특정 폴리곤에 상기 음영 텍스쳐의 상기 위치값에 해당하는 픽셀을 매핑하는 단계를 포함할 수 있다.
여기서, 상기 음영 텍스쳐의 위치값을 계산하는 단계 및 상기 텍스쳐 블랜딩하는 단계는 상기 UV 맵의 모든 폴리곤에 대해 수행할 수 있다.
여기서, 상기 음영 텍스쳐의 위치값을 계산하는 단계는, 입사광의 벡터와 상기 특정 폴리곤의 법선 벡터의 내적을 계산하여 제1계산값을 구하는 단계, 상기 제1계산값을 1에서 감산하여 제2계산값을 구하는 단계 및 상기 제2계산값에 1/2을 곱하여 상기 위치값을 구하는 단계일 수 있다.
여기서, 상기 음영을 표시하는 단계는, 상기 UV 맵의 특정 픽셀(pixel)에 대하여 광원에 따른 명암값을 계산하고, 상기 명암값에 대응되는 상기 음영 텍스쳐의 위치값을 계산하는 단계 및 상기 UV 맵의 특정 픽셀에 상기 음영 텍스쳐의 상기 위치값에 해당하는 픽셀을 매핑하는 단계를 포함할 수 있다.
여기서, 상기 음영 텍스쳐의 위치값을 계산하는 단계는, 입사광의 벡터와 상기 특정 픽셀의 법선 벡터의 내적을 계산하여 제1계산값을 구하는 단계, 1에서 상기 제1계산값을 감산하여 제2계산값을 구하는 단계 및 상기 제2계산값에 1/2을 곱하여 상기 위치값을 구하는 단계일 수 있다.
여기서, 상기 음영을 표시하는 단계 이후에, 상기 UV 맵의 명부와 암부의 명암값의 차이를 증가시켜 음영을 강조하는 단계를 더 포함할 수 있다.
여기서, 상기 명암값은 Red 값, Green 값, Blue 값의 세 값을 포함하고, 상기 음영을 강조하는 단계는, 상기 UV 맵의 특정 폴리곤의 명암값이 기준값보다 큰 경우에 상기 특정 폴리곤의 명암값을 유지하고, 상기 특정 폴리곤의 명암값이 기준값보다 작은 경우에 상기 특정 폴리곤의 명암값을 감소시키는 단계일 수 있다.
여기서, 상기 명암값을 감소시키는 단계에서, 상기 감소된 명암값 중 상기 Blue 값은 상기 Red 및 상기 Green 값에 비해 감소폭이 작도록 계산될 수 있다.
상기 목적을 달성하기 위한 구체적인 사항들은 첨부된 도면과 함께 상세하게 후술된 실시예들을 참조하면 명확해질 것이다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라, 서로 다른 다양한 형태로 구성될 수 있으며, 본 실시예들은 본 발명의 개시가 완전하도록 하고 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
전술한 본 발명의 과제 해결 수단 중 하나에 의하면, 쉐이딩 과정에서 미리 준비된 텍스쳐를 이용하여 캐릭터의 명도를 간단히 조절할 수 있다.
도 1은 본 발명의 일 실시예에 따른 3차원 캐릭터 생성 장치의 전체 구성도이다.
도 2는 본 발명의 일 실시예에 따른 3차원 캐릭터 생성 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 3차원 캐릭터 생성 방법에서 3차원 캐릭터로부터 UV 맵을 생성하는 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 3차원 캐릭터 생성 방법에서 UV 맵에 이미지 텍스쳐를 매핑하는 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 3차원 캐릭터 생성 방법에서 음영 텍스쳐를 이용하여 UV 맵에 음영을 표시하는 과정을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 3차원 캐릭터 생성 방법에서 음영 표시된 UV 맵을 3차원 캐릭터로 변환하는 과정을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 3차원 캐릭터 생성 방법에서 UV 맵에 음영을 표시하는 과정을 상세하게 설명하기 위한 흐름도이다.
도 8은 도 7의 과정을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 3차원 캐릭터 생성 방법에서 UV 맵의 명암값을 조절하여 캐릭터의 음영을 강조하는 과정을 설명하기 위한 흐름도이다.
도 10 및 도 11은 각각 도 9의 음영 강조 작업의 수행 전, 후의 캐릭터의 변화를 비교하기 위한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시를 위한 구체적인 내용을 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른 3차원 캐릭터 생성 장치의 구성을 나타내는 블록도이다.
도 1을 참조하면 본 발명의 일 실시예에 따른 3차원 캐릭터 생성 장치(100)는, UV 맵 세트를 생성하고 관리하는 UV 맵 관리부(110)와, UV 맵에 이미지 텍스쳐 및 음영 텍스쳐를 매핑하는 매핑 처리부(120)와, 3차원 캐릭터에 음영을 표시하는 쉐이딩 처리부(130)와, 이미지 텍스쳐 및 음영 텍스쳐를 저장하고 관리하는 텍스쳐 데이터 저장부(140)를 포함한다.
여기서, 3차원 캐릭터 생성 장치(100)는 상기 구성 요소 이외에도 3차원 캐릭터 생성 과정에서 동작하는 다른 구성 요소들을 포함할 수 있다. 다만, 본 발명의 설명을 용이하게 하기 위하여 본 명세서에서는 공지 기술에 해당되는 구성 요소들의 설명을 생략하기로 한다.
UV 맵 관리부(110)는 3차원 캐릭터 모델을 사용자가 지정한 다양한 평면 위에서 UV 좌표계로 전개한 UV 맵 이미지와 UV 매핑 좌표 정보들로 이루어진 UV 맵 세트(이하, UV 맵으로 호칭함)들을 생성하고 관리한다.
매핑 처리부(120)는 UV 맵에 이미지 텍스쳐와 음영 텍스쳐를 포함하는 텍스쳐 이미지와 UV 좌표 정보들로 이루어진 텍스쳐 세트(이하, 텍스쳐라고 호칭함)를 UV 매핑한다. 이러한 텍스쳐에는 물체의 표면의 형상을 나타낸 이미지 텍스쳐와 음영 처리를 위해 사용되는 음영 텍스쳐 등이 포함된다. 매핑 처리부(120)는 각 UV 맵과 텍스쳐를 연결시키는 역할을 수행하며, UV 좌표를 통해 UV 맵과 텍스쳐를 상호 매핑시킨다.
쉐이딩 처리부(130)는 각 폴리곤에 대한 광의 반사 정도를 계산하여 음영 처리를 수행한다. 쉐이딩 처리부(130)는 음영 처리를 위하여 미리 구비된 음영 텍스쳐를 이용하여 3차원 캐릭터의 명도를 조절할 수 있다. 또한, 쉐이딩 처리부(130)는 캐릭터의 명부와 암부의 명암차를 크게 조절하여 캐릭터의 음영이 두드러지도록 강조함으로써, 보다 자연스러운 캐릭터를 생성할 수 있다.
텍스터 데이터 저장부(140)는 상기 매핑 처리부(120)와 쉐이딩 처리부(130)에서 사용되는 각 텍스쳐를 저장하고 관리한다.
도 2는 본 발명의 일 실시예에 따른 3차원 캐릭터 생성 장치(100)를 이용하는 3차원 캐릭터 생성 방법을 설명하기 위한 흐름도이다.
도 2를 참조하면, 본 발명의 3차원 캐릭터 생성 장치(100)는 캐릭터의 표면에 매핑되는 이미지 텍스쳐 이외에 별도의 음영 텍스쳐를 이용하여 캐릭터의 음영 처리를 수행할 수 있다. 우선, 3차원 캐릭터 생성 장치(100)는 X-Y-Z 좌표계로 표시된 3차원 캐릭터를 U-V 좌표계로 변환하여 UV 맵을 생성한다(S100). 도 3에 도시된 바와 같이, (x, y, z)의 3차원으로 표시되는 3차원 캐릭터는 UV 맵 관리부(110)에서 (u, v)의 2차원으로 표시되는 UV 맵으로 전개된다.
이후, 3차원 캐릭터 생성 장치(100)는 UV 맵에 이미지 텍스쳐를 UV 매핑한다(S200). 이와 관련된 도면은 도 4에 도시되어 있다. 이미지 텍스쳐는 캐릭터의 표면에 덧입혀지는 이미지를 가지는 텍스쳐이며, 이미지 텍스쳐의 UV 매핑 좌표와 UV 맵의 UV 매핑 좌표를 이용하여 상호 매핑될 수 있다. 매핑 과정을 거친 UV 맵은 도 4의 하단의 도면과 같이 이미지가 덧입혀진 상태이다.
이후, 음영 텍스쳐를 이용하여 UV 맵에 음영을 매핑한다(S300). 이와 관련된 도면은 도 5에 도시되어 있다. 음영 텍스쳐는 가로로 일정한 폭을 가지고 세로로 하나의 픽셀의 높이를 갖도록 이루어진 사전에 준비된 텍스쳐이며, 좌측에서 우측으로 명암이 점진적으로 어두워지도록 그라데이션된 명암값을 가질 수 있다.
쉐이딩 처리부(130)는 UV 맵의 각 폴리곤에 대하여 광원에 따른 명암값을 계산하고, 계산된 명암값을 음영 텍스쳐와 비교하여 명암값에 해당되는 픽셀을 선택한다. 선택된 음영 텍스쳐의 픽셀은 매핑 처리부(120)에서 UV 맵의 해당 폴리곤에 텍스쳐 블랜딩 방식으로 매핑된다. 이 경우, UV 맵 상에 이미지 텍스쳐와 음영 텍스쳐가 중첩되어 매핑되도록 이미지 텍스쳐 또는 음영 텍스쳐의 알파값을 조절하여 투명도를 조절할 수 있다. 음영 텍스쳐를 이용하여 음영 처리된 UV 맵은 도 5의 하단의 도면과 같이 이미지와 음영이 표시된 상태이다.
이미지 텍스쳐의 매핑 및 음영 처리가 완료된 후에, UV 맵은 3차원 캐릭터로 다시 변환된다(S500). 도 6에는 이에 관한 도면이 도시되어 있다.
다음으로, 음영 텍스쳐를 이용하여 UV 맵에 음영을 표시하는 과정에 대하여 좀 더 상세히 살펴보기로 한다.
도 7은 도 2의 음영 텍스쳐를 이용하여 UV 맵에 음영을 표시하는 단계(S300)에 관한 상세 과정을 나타내는 흐름도이다.
우선, UV 맵의 임의의 폴리곤에 대하여 각각의 명암값(음영값)을 계산한다(S310). 명암값은 수식 1과 같이 입사광의 각도와 법선 벡터가 이루는 각의 코사인값 또는 내적값을 구하여 계산될 수 있다.
(수식 1) 폴리곤의 명암값 = dot (light_dir, face_normal)
여기서, dot()은 내적 함수, light_dir 은 입사광의 방향 벡터, face_normal 은 면의 법선 벡터이다.
이후, 계산된 명암값을 이용하여 음영 텍스쳐에서의 픽셀의 위치값을 구할 수 있다. 계산된 픽셀의 위치값은 UV 맵의 해당 폴리곤에 매핑되는 음영 텍스쳐의 픽셀의 UV 매핑 좌표이다.
이때, 계산된 명암값은 코사인 함수의 결과값이므로 -1 ~ 1의 범위의 값이 된다. 반면에 변환하고자 하는 UV 맵의 u 축은 0 ~ 1 사이의 좌표값을 가진다. 따라서, 수식 2를 이용하여 계산된 명암값을 UV 맵의 u 축에 매칭되도록 변환시킬 수 있다.
(수식 2) texu = 0.5 * ( 1 - dot (light_dir, face_normal))
여기서, texu는 UV 매핑 좌표의 u축 값이다. 또한, 음영 텍스쳐에서 v 축은 단일 픽셀 높이를 가지므로, UV 매핑 좌표의 v축값(texv)은 계산하지 않아도 좋다.
이후, 매핑 처리부(120)는 UV 매핑 좌표가 texu 인 픽셀을 선택하여 UV 맵의 해당 폴리곤에 UV 매핑시킨다(S330). 이때, 이미지 텍스쳐와 음영 텍스쳐를 블렌딩하기 위하여 이미지 텍스쳐 또는 음영 텍스쳐의 알파값을 조정하여 반투명하게 설정할 수 있다. 이와 관련된 도면은 도 8에 도시되어 있다.
상기 S310~S330 단계는 UV 맵의 모든 폴리곤에 대해 수행될 수 있다(S340).
한편, 상기 S310~S330의 단계는 폴리곤 단위로 수행되는 대신 픽셀 단위로 수행되도록 구성될 수 있다.
다음으로, 음영 처리된 UV 맵의 명암값을 조절하여 음영을 강조하는 과정에 대하여 설명하기로 한다.
도 9는 도 2의 UV 명암값을 조절하여 음영을 강조하는 단계(S400)에 관한 상세 과정을 나타내는 흐름도이다.
우선, UV 맵의 각 폴리곤에 대하여 명암값을 판단하여(S410, S420), 명암값이 기준값보다 큰 경우에는 원래의 명암값을 유지하고(S422), 명암값이 기준값보다 작은 경우에는 폴리곤에 포함된 각각의 픽셀(R, G, B)의 명암값을 감소시킨다(예를 들어, 기존의 명암값의 1/2 정도). 이를 통해, 캐릭터의 명부와 암부의 명암값의 차이가 증가하게 되어 보다 현실적으로 표시될 수 있다. 이때, 명암값의 조절 과정에서 푸르킨예 효과(purkinie effect)를 적용하여 푸른 색상을 강조함으로써 더욱 현실적으로 표시될 수 있다(S424).
(수식 3) (명암값 > 기준값) ? (rgb(1,1,1)) : (rgb(0.5,0.5,0.6))
여기서, rgb()는 픽셀의 R, G, B 값을 설정하는 함수이고, 기준값은 예를 들어 최대 명암값의 1/2 의 값일 수 있다. 또한, B 값을 R, G 값에 비하여 높은 명암값을 가지도록 설정할 수 있다.
이와 같은 과정을 통해 캐릭터의 명부와 암부의 명암차를 크게 하면서, 어둡게 하는 경우에는 푸른 빛이 더 돌도록 설정함으로써 캐릭터의 음영을 더욱 현실적으로 표현할 수 있다.
도 10 과 도 11은 각각 수식 3의 처리 과정을 수행하기 전과 수행한 후에 캐릭터의 음영의 변화를 비교하여 나타내고 있다.
본 발명에 따른 3차원 캐릭터 생성 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.
따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (18)

  1. 3차원 캐릭터의 생성 방법에 있어서,
    XYZ 좌표계로 표시되는 3차원 캐릭터를 이용하여 UV 좌표계로 표시되는 UV 맵(map)을 생성하는 단계,
    상기 UV 맵에 이미지 텍스쳐(image texture)를 매핑(mapping)하는 단계,
    음영 텍스쳐(shade texture)를 이용하여 상기 매핑된 UV 맵에 음영을 표시하는 단계 및
    상기 UV 맵의 UV 좌표를 3차원 좌표계로 변환하여 텍스쳐 매핑된 3차원 캐릭터를 생성하는 단계
    를 포함하고,
    상기 음영 텍스쳐는 좌측에서 우측으로 명암이 점진적으로 변이되는 1차원 텍스쳐이고,
    상기 음영을 표시하는 단계는,
    상기 UV 맵의 특정 폴리곤(polygon)에 대하여 광원에 따른 명암값을 계산하고, 상기 명암값에 대응되는 상기 음영 텍스쳐의 위치값을 계산하는 단계 및
    상기 UV 맵의 상기 특정 폴리곤에 상기 음영 텍스쳐의 상기 위치값에 해당하는 픽셀을 매핑하는 단계를 포함하는,
    3차원 캐릭터의 생성 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 음영 텍스쳐의 위치값을 계산하는 단계 및 상기 음영 텍스쳐의 상기 위치값에 해당하는 픽셀을 매핑하는 단계는 상기 UV 맵의 모든 폴리곤에 대해 수행되는,
    3차원 캐릭터의 생성 방법.
  4. 제 1 항에 있어서,
    상기 음영 텍스쳐의 위치값을 계산하는 단계는,
    입사광의 벡터와 상기 특정 폴리곤의 법선 벡터의 내적을 계산하여 제1계산값을 구하는 단계,
    상기 제1계산값을 1에서 감산하여 제2계산값을 구하는 단계 및
    상기 제2계산값에 1/2을 곱하여 상기 위치값을 구하는 단계인,
    3차원 캐릭터의 생성 방법.
  5. 제 1 항에 있어서,
    상기 음영을 표시하는 단계는,
    상기 UV 맵의 특정 픽셀(pixel)에 대하여 광원에 따른 명암값을 계산하고, 상기 명암값에 대응되는 상기 음영 텍스쳐의 위치값을 계산하는 단계 및
    상기 UV 맵의 특정 픽셀에 상기 음영 텍스쳐의 상기 위치값에 해당하는 픽셀을 매핑하는 단계를 포함하는,
    3차원 캐릭터의 생성 방법.
  6. 제 5 항에 있어서,
    상기 음영 텍스쳐의 위치값을 계산하는 단계는,
    입사광의 벡터와 상기 특정 픽셀의 법선 벡터의 내적을 계산하여 제1계산값을 구하는 단계,
    1에서 상기 제1계산값을 감산하여 제2계산값을 구하는 단계 및
    상기 제2계산값에 1/2을 곱하여 상기 위치값을 구하는 단계인,
    3차원 캐릭터의 생성 방법.
  7. 제 1 항에 있어서,
    상기 음영을 표시하는 단계 이후에,
    상기 UV 맵의 명부와 암부의 명암값의 차이를 증가시켜 음영을 강조하는 단계를 더 포함하는,
    3차원 캐릭터의 생성 방법.
  8. 제 7 항에 있어서,
    상기 명암값은 Red 값, Green 값, Blue 값의 세 값을 포함하고,
    상기 음영을 강조하는 단계는,
    상기 UV 맵의 특정 폴리곤의 명암값이 기준값보다 큰 경우에 상기 특정 폴리곤의 명암값을 유지하고, 상기 특정 폴리곤의 명암값이 기준값보다 작은 경우에 상기 특정 폴리곤의 명암값을 감소시키는 단계인,
    3차원 캐릭터의 생성 방법.
  9. 제 8 항에 있어서,
    상기 명암값을 감소시키는 단계에서,
    상기 감소된 명암값 중 상기 Blue 값은 상기 Red 및 상기 Green 값에 비해 감소폭이 작도록 계산되는,
    3차원 캐릭터의 생성 방법.
  10. 3차원 캐릭터 생성 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체에 있어서,
    XYZ 좌표계로 표시되는 3차원 캐릭터를 이용하여 UV 좌표계로 표시되는 UV 맵(map)을 생성하는 단계,
    상기 UV 맵에 이미지 텍스쳐(image texture)를 매핑(mapping)하는 단계,
    음영 텍스쳐(shade texture)를 이용하여 상기 매핑된 UV 맵에 음영을 표시하는 단계 및
    상기 UV 맵의 UV 좌표를 3차원 좌표계로 변환하여 텍스쳐 매핑된 3차원 캐릭터를 생성하는 단계
    를 포함하고,
    상기 음영 텍스쳐는 좌측에서 우측으로 명암이 점진적으로 변이되는 1차원 텍스쳐이고,
    상기 음영을 표시하는 단계는,
    상기 UV 맵의 특정 폴리곤(polygon)에 대하여 광원에 따른 명암값을 계산하고, 상기 명암값에 대응되는 상기 음영 텍스쳐의 위치값을 계산하는 단계 및
    상기 UV 맵의 상기 특정 폴리곤에 상기 음영 텍스쳐의 상기 위치값에 해당하는 픽셀을 매핑하는 단계를 포함하는,
    3차원 캐릭터 생성 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체.
  11. 삭제
  12. 제 10 항에 있어서,
    상기 음영 텍스쳐의 위치값을 계산하는 단계 및 상기 음영 텍스쳐의 상기 위치값에 해당하는 픽셀을 매핑하는 단계는 상기 UV 맵의 모든 폴리곤에 대해 수행되는,
    3차원 캐릭터 생성 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체.
  13. 제 10 항에 있어서,
    상기 음영 텍스쳐의 위치값을 계산하는 단계는,
    입사광의 벡터와 상기 특정 폴리곤의 법선 벡터의 내적을 계산하여 제1계산값을 구하는 단계,
    상기 제1계산값을 1에서 감산하여 제2계산값을 구하는 단계 및
    상기 제2계산값에 1/2을 곱하여 상기 위치값을 구하는 단계인,
    3차원 캐릭터 생성 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체.
  14. 제 10 항에 있어서,
    상기 음영을 표시하는 단계는,
    상기 UV 맵의 특정 픽셀(pixel)에 대하여 광원에 따른 명암값을 계산하고, 상기 명암값에 대응되는 상기 음영 텍스쳐의 위치값을 계산하는 단계 및
    상기 UV 맵의 특정 픽셀에 상기 음영 텍스쳐의 상기 위치값에 해당하는 픽셀을 매핑하는 단계를 포함하는,
    3차원 캐릭터 생성 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체.
  15. 제 14 항에 있어서,
    상기 음영 텍스쳐의 위치값을 계산하는 단계는,
    입사광의 벡터와 상기 특정 픽셀의 법선 벡터의 내적을 계산하여 제1계산값을 구하는 단계,
    1에서 상기 제1계산값을 감산하여 제2계산값을 구하는 단계 및
    상기 제2계산값에 1/2을 곱하여 상기 위치값을 구하는 단계인,
    3차원 캐릭터 생성 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체.
  16. 제 10 항에 있어서,
    상기 음영을 표시하는 단계 이후에,
    상기 UV 맵의 명부와 암부의 명암값의 차이를 증가시켜 음영을 강조하는 단계를 더 포함하는,
    3차원 캐릭터 생성 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체.
  17. 제 16 항에 있어서,
    상기 명암값은 Red 값, Green 값, Blue 값의 세 값을 포함하고,
    상기 음영을 강조하는 단계는,
    상기 UV 맵의 특정 폴리곤의 명암값이 기준값보다 큰 경우에 상기 특정 폴리곤의 명암값을 유지하고, 상기 특정 폴리곤의 명암값이 기준값보다 작은 경우에 상기 특정 폴리곤의 명암값을 감소시키는 단계인,
    3차원 캐릭터 생성 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체.
  18. 제 17 항에 있어서,
    상기 명암값을 감소시키는 단계에서,
    상기 감소된 명암값 중 상기 Blue 값은 상기 Red 및 상기 Green 값에 비해 감소폭이 작도록 계산되는,
    3차원 캐릭터 생성 프로그램을 기록한 컴퓨터가 읽을 수 있는 기록매체.
KR1020120050185A 2012-05-11 2012-05-11 3차원 캐릭터의 생성 방법 KR101189687B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120050185A KR101189687B1 (ko) 2012-05-11 2012-05-11 3차원 캐릭터의 생성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120050185A KR101189687B1 (ko) 2012-05-11 2012-05-11 3차원 캐릭터의 생성 방법

Publications (1)

Publication Number Publication Date
KR101189687B1 true KR101189687B1 (ko) 2012-10-11

Family

ID=47287739

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120050185A KR101189687B1 (ko) 2012-05-11 2012-05-11 3차원 캐릭터의 생성 방법

Country Status (1)

Country Link
KR (1) KR101189687B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113470156A (zh) * 2021-06-23 2021-10-01 网易(杭州)网络有限公司 纹理贴图的混合处理方法、装置、电子设备及存储介质
WO2023224212A1 (ko) * 2022-05-20 2023-11-23 주식회사 원유니버스 사용자에 의한 3차원 객체 편집을 용이하게 하는 영상처리방법 및 영상처리장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11161820A (ja) * 1997-11-26 1999-06-18 Shimadzu Corp 画像作成装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11161820A (ja) * 1997-11-26 1999-06-18 Shimadzu Corp 画像作成装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113470156A (zh) * 2021-06-23 2021-10-01 网易(杭州)网络有限公司 纹理贴图的混合处理方法、装置、电子设备及存储介质
WO2023224212A1 (ko) * 2022-05-20 2023-11-23 주식회사 원유니버스 사용자에 의한 3차원 객체 편집을 용이하게 하는 영상처리방법 및 영상처리장치

Similar Documents

Publication Publication Date Title
US11257286B2 (en) Method for rendering of simulating illumination and terminal
JP6563048B2 (ja) スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整
US11024077B2 (en) Global illumination calculation method and apparatus
US8281281B1 (en) Setting level of detail transition points
AU2006287351B2 (en) 2D editing metaphor for 3D graphics
US10152809B2 (en) Contour gradients using three-dimensional models
KR20160016812A (ko) 조밀한 모션 필드들을 통한 기저 비디오 시퀀스로의 이미지 편집들 전파
CN106157357A (zh) 一种基于gpu加速的动态光效实现方法及系统
CN112516595B (zh) 岩浆渲染方法、装置、设备和存储介质
KR101189687B1 (ko) 3차원 캐릭터의 생성 방법
CN111632376B (zh) 一种虚拟模型的显示方法、装置、电子设备及存储介质
JP3231029B2 (ja) レンダリング方法及び装置、ゲーム装置、並びに立体モデルをレンダリングするためのプログラムを格納したコンピュータ読み取り可能な記録媒体
JP6792335B2 (ja) 画像処理装置およびその方法
JP2003168130A (ja) リアルタイムで合成シーンのフォトリアルなレンダリングをプレビューするための方法
KR101227155B1 (ko) 저해상도 그래픽 영상을 고해상도 그래픽 영상으로 실시간 변환하는 그래픽 영상 처리 장치 및 방법
CN108171784B (zh) 一种渲染方法及终端
Bernik et al. Generating Terrain And Hi Details Using Texture Maps
JP5106992B2 (ja) 霧効果を考慮して3次元グラフィックスデータをレンダリングする方法及び装置
KR100624455B1 (ko) 3차원 그래픽스 환경에서의 라이트맵 처리 방법 및 장치
KR20150042095A (ko) 드로우 커맨드들의 처리 순서를 재조정하여 프레임을 렌더링하는 장치 및 방법
US20180005432A1 (en) Shading Using Multiple Texture Maps
JP7190780B1 (ja) 画像処理プログラム、画像処理装置、及び画像処理方法
CN116524102A (zh) 卡通二阶直接光照的渲染方法、装置及系统
JPH07152924A (ja) 画像生成装置
McMullan et al. Hand Drawn Rendering

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20150916

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170904

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180903

Year of fee payment: 7