-
반응형
광원
-3D 공간 내의 기본적인 라이트는 일반적으로 화면의 전체적인 입체감을 만드는 주광원과 화면의 전체적인 조도를 결정하는 fill_light 개념의 ambient ilght 그리고 물체의 전체적인 형태나 외곽선을 강조 해 주는 역광인 back_ilght로 이루어진다
- 게임 내에서는 관찰 시점이 변하고 라이트에 대한 부하를최소화해야 하기 때문에 역광(back ilght) 은 잘 사용하지 않는다
- 주광원(Main Llght) : 3d 공간상에서 태양이나 달의 역할을 하며 물체에 전체적인 입체감을 부여하고 물체가 지닌 형태의 기본적인 외관을 결정하는 역활
- 보조광원 (Ambient Light ) : 화면 전체의 밝고 어두운 분위기의 조정 역할, 전체적인 조로를 결정하는 fill light개념
- 역광 (Back Light) : 물체의 실루엣을 만들어주는 광원으로 물체의 외곽선 및 불륨을 매우 풍부하게 해주는 역활
실외조명 = Direvtion light +amvicnt light
주광원(Main_Light) : 물체에 전체적인 입체감을 부여하고 물체가 지닌 형태의 기본적인 외관을 결정하는 역활
-> 광원의 위치값에 의하여 게임상의 동적인 물체나 캐릭터 정적인 건물의 그림자의 길이가 변화함
-> 위치값이 높으면 그림자가 짧아지고 , 낮으면 그림자는 반대로 길어짐
-> 주광원은 광원의 밝기(RBG값)나 색상이 물체의 하이라이트 부분의 느낌과 화면의 명암을 결정
-> 노을 진 황혼이나 한낮의 강한 느낌 등을 표현
보조광원 (Ambient Light ) : 화면전체의 밝고 어두운 분위기를 조정하는 역활(Fill_Light)
-> 어두운 그림자 영역내의 가시성이 확보되며 주광원에 의한 너무 강한 화면의 대비를 적절 비율로 조정하여 줌
-> 전체적인 조도를 조정하여 게임 분위기나 화면의 느낌을 제어
-> 카툰이나 만화풍의 게임, 또는 밝은 분위기의 게임은 이부분의 조도값을 높여서 경쾌하면서 평면적이며 만화적인 느낌을강조
-> 어둡고 강렬한 화면 대비도 이부분 조명의 조도값을 낮추어서 표현
-> 강한 햇빛이 비추는 대낮과 푸르스름한 기운이 감도는 밤을 표현
역광 (Back Light) : 물체의 실루엣 부분을 만들어 주는 광원으로 물체의 볼륨을 매우 풍부하게 해주는 역활
-> 실제 게임환경내에서 이러한 역할을 하는 라이트를 직접세팅하거나 고려하지는 않음
-> 물체의 볼륨을 더욱 풍부하게 해주지만 게임내에서 물체에 이러한 라이트를 직접 세팅하지는 않음
광원
- 빛은 현실에서 확산과 반사, 굴제 등의 다양한 효과가 일어난다, 하지만 3D공간에서 빛은 실제와 다르게표현하다
- 3D 게임과 같은 가상의 공간에서는 크게 2가지 형태로 빛(Light) 을 구분하다
- 정적라이트(Static Light), 동적 라이트(Dynamic Light)
- 3D 공간 안에서 라이트에 의한 상호작용 유무에 따라 구분
- 정적라이트(Static Light), 는 라이트에 의한 화면의 빛효과는 있지만 실제로는 캐릭터나 주변 요소에 의한 상호작용은 없는 라이트
- 동적 라이트(Dynamic Light)는 캐릭터나 주변 물체에 대한 상호작용을 하는 일반적인라이트
동적 라이트(Dynamic Light)
- 프레임당 실제적인 라이트 연산을 수행
- 빠른 랜더링을 위하여 정밀한 라이트 연산은 어려움
- 한 화면에 배치되는 동적 라이트의 개수에 제한이 있음
- 캐릭터나 물체가 라이트 근처에 가면 영향을 받음
- 캐릭터 등의 실시간 그림자 생성은 동적 라이트를 기반으로 만들ㅇ어짐
- 화염, 폭파 이펙트 등의 화면 조도에 변화가 있는 부분에는 사용이 필수적임
정적라이트(Static Light)
- 매 프레임 당 실제적인 라이트 연산은 없음
- 라이트 연산에 의한 음영의 변화나 색 정보의 변화를 일정한 버텍스, 맵 정보로 기록
- 주로 게임 배경이나 움직임이 없는 물체의 구성에 적용함
- 사전에 연산된 라이팅 결과값만을 사용하므로 매우 정밀한 라이팅에 의한 라이트 맵의 추출도 가능함
- 이미 확정된 라이팅 결과 값만을 반영하므로 캐릭터와 같은 동적인 요소에는 전혀 영향을 주지 못함
엠비언트라이트(Ambient Light 환경광) : Scene 내의 모든 오브젝트를 동일하게 비추고 광원의 위치를 정하지 않고 전체가 동일한 밝기가 될 수 있도록 쉐이딩은 적용하지 않는다
디렉셔널 라이트 (Drectional Light 평행광원) : 설정한 방향에서 평행으로 균일한 광선을 비춰준다, 서리감쇠가 발생하지 않는 라이트
포인트 라이트 (Point Light 점광원) : 하나의 점, 포인트로 부터 빛이 발생하여 모든 방향으로 펴져나가는 라이트
스포이트라이트(Sport light): 하나의 점으로부터 빛이 발생하여 원뿔형태로 펴져나가는 라이트
에어리어 라이트(Area light 면광원) : 점이아닌 하나의 면으로 부터 빛이 발생하여 지정한 방향으로 펴져나가는 광원
불륨라이트(Volume Light) : 공간내에서 설정한 거리의 범위내에만 닿는 광원 스탠드 조명 , 창문 조명등
림 라이트(Rim Light) : 게임 캐릭터의 외곽 라인을 강조하여 실루엣을 더욱 돋보이게하기위하여 처리하는 라이트
라이트에 의한 연산 결과를 저장하는 방법을 버텍스 단위로 저장하는지, 픽셀 단위로 저장하는지의 구분에 따라 버텍스 라이팅 과 픽셀라이팅으로 구분할 수 있다
픽셀라이팅
- 라이트의 효과는 텍스쳐의 픽셀단위로 저장됨
- 라이트의 연산처리가 비교적 무거움
- 정밀한 라이트 효과나 그림자의 추출이 가능
- 폴리곤의 불필요한 증가가 없음
- 동적인 라이트 효과가 필요치 않은 부분은 라이트 맵으로 대웅하여 라이트 연산을 빠르게 하는 것이 좋음
- 라이트 맵으로 인하여 텍스처의 메모리 부하가 커짐
버텍스 라이팅
- 라이트 효과는 인접한 버텍스에 대응하여 저장됨
- 라이트의 연산 처리가 비교적 빠르고 가벼움
- 정밀한 라이트 효과나 그림자의 추출이 어려움
- 부드러운 결과를 보려면 버텍스의 밀도가 높아야하므로 불필요한 폴리곤량이 커짐
- 버텍스의 컬러정보를 추출하여 사용하거나 버텍스 페이팅으로 직접 버텍스에 컬러 정보를 입력해 줄 수 있음
게임 그래픽스 - 3차원 표현과 렌더링
렌덜링 기술의 알고리즘
- 음영 알고리즘 (Shading) : 빛과 물체의 관계로 부터 물체 표면의 밝기 계산
-광선추적 알고리즘(Ray Tracing) : 광원에서 생성된 광선의 경로를 추적하여 물체 표면의 밝기와 빛의 반사, 굴절의 효과를 표현하는것
- 그림자 표현 알고리즘(Shadow Generation) : 빛과 물체의 관계로부터 생성되는 그림자 표현
- 무늬 매핑 알고리즘 (Texture Mapping) : 물체 표면의 질감을 부여하고 표현하는무늬를 표현
- 레디오시티 알고리즘(Radiosity) : 한정된 공간내에서 빛의 분산을 빛 에너지 보존 법칙에 의하여 표현
- 볼륨렌더링 : 물체의 표면을 정의하기 어려운 연기, 구름 , 의료영상 등 공간에서 밀도 값으로 모델을 표현하고 렌더링 하는 방법
반응형'그래픽스' 카테고리의 다른 글
3차원 클리핑 기술 (0) 2019.07.02 랜더링 기술 (0) 2019.07.02 게임애니메이션/애니메이션 (0) 2019.07.02 3D배경의 표현기법 (0) 2019.07.02 컴퓨터그래픽스 (0) 2019.07.02