2024의 게시물 표시

언리얼 엔진 - 라이팅 기초

이미지
라이트는 씬의 분위기, 깊이 및 전반적인 비주얼 퀄리티에 중요한 역할을 하기 때문에  각각의 라이트의 유형을 알고 용도에 맞게 사용할 필요가 있습니다.  이번 글에서는 언리얼 엔진에서 사용되는 라이트의 특성을 알아보고 씬에 적용하여 의도에 맞는 분위기를 내보겠습니다. 시작을 위해 3인칭 시점의 기본 맵으로 시작해 보겠습니다.  우선 기본적으로 설치되어 있는 라이트들을 바탕으로 어떠한 역활을 하는지 알아보겠습니다. 1.  Directional Light (디렉셔널 라이트) 설명 : 디렉셔널 라이트는 태양광이나 달빛과 같은 환경광을 시뮬레이션합니다. 빛이 씬 전체에 균일하게 적용되며, 특정한 방향으로 쏟아지는 광원을 표현합니다. 용도 : 야외 환경, 자연광을 표현할 때 주로 사용됩니다. 주요 설정 : Intensity : 빛의 강도. Light Color : 빛의 색상. Indirect Lighting Intensity : 간접 조명의 강도. Shadow Bias : 그림자의 위치를 조정하여 샤도우 문제를 해결. Cascaded Shadow Maps (CSM) : 원거리에서의 그림자 품질 설정. 씬에서 태양과 같은 역활을 하는 라이트 입니다. 야외 환경에는 필수 입니다.   2. Sky Light (스카이 라이트) 설명 : 스카이 라이트는 하늘이나 환경에서 반사된 빛을 시뮬레이션합니다. 씬 전체에 부드럽게 퍼지는 간접 조명과 반사를 제공합니다. 용도 : 실내외 전반적인 조명 및 하늘에서 오는 빛의 표현. 주요 설정 : Intensity : 빛의 강도. Source Type : 캡쳐된 이미지나 스카이박스에서 빛을 받아올 수 있음. Cubemap Resolution : 스카이 라이트 캡처 해상도. Lower Hemisphere Is Black : 하단 반구에서의 색상을 검정으로 설정할지 여부. - 라이트 테스트 스카이 라이트 입니다. 주변의 배경 색을 씬 전체에 간접적으로 뿌려줍니다. 우선 디렉셔널과 스카이 라이트로...

40대의 시선

40대의 중반이 넘어 가면서 인생의 황금기에 진입했다는 느낌이 종종 든다. 사소한 문제 거리들이 출현해도 여유있게 대처할줄 알고, 사람들과의 관계에서도 적당히 좋은 관계를 유지하고 있다.  먹고 싶은걸 먹기위해 주머니 사정을 고려하지 않아도 되고, 하고싶은것도 나름 하면서 살아가고 있다. 원체 여유있는 성격이기도하고, 하고싶은 대로 살이왔지만, 40대는 인생에 더 특별한 것들이 느껴지는것 같다. 젊음의 에너지 넘치는 열정이나, 감각적인 센스들은 한풀 꺽여서 정점을 찍고 내려가고 있지만. 세상이 돌아가는 모습이 어느때 보다 잘 보인다. 밖으로 나와야 안의 모습을 잘 볼수 있듯이 세상을 직접적으로 움직이는 일꾼의 세대에서 벗어나기 시작하면서 세상이 조금 더 잘 보이게 되는것 같다. 클래식이 좋다고 느껴지고, 내가 좋아하는 커피맛이 어떤건지 알게되고, 겨울을 지난 나뭇가지에 잎이올라오는 것을 반가워 하며, 지난 역사 이야기를 궁금해 하고, 예전에 봤던 영화를 다시한번 보는것처럼, 추억을 꺼내볼 여유가 생겼다. 몇주전 친구와 ‘앞으로의 기회’ 에 대해 짧은 이야기를 나누었다. 일꾼의 세대 였을때 더 많은것을 경험하고, 이루어 놨다면 더 좋았겠지만 아직까지는 그러진 못했으니, 하는 일에 큰 성공을 이룰 기회는 우리나이에 한 두번 정도 남지 않았겠나.. 지금보다 다른 삶의 환경을 만들기 위해서는 지금 나의 것을 해야한다. 정도의 당연한 이야기였다.  알고는 있지만. 문제는 지금의 우리의 삶도 그리 나쁘지는 않다는거다. 절실함을 느끼기에는 일꾼의 세대를 벗어나 버렸다.

엔진에서 텍스처가 정상적으로 표현되지 않을 떄 (UV Channel 관련)

이미지
블랜더에서 정상으로 텍스처가 출력되는 오브젝트를 언리얼 엔진으로 옮겼더니 텍스쳐가 출력 되지 않는 문제가 있어 살펴보았습니다. 약간은 신기해 보이는 현상이지만 거의 UV문제일 것으로 예상하고 해당 부분을 확인해 봅니다.  문제 상황 블랜더에서의 모습 언리얼에서의 모습 확인해보니 문의 주신대로 블랜더에서는 정상, 언리얼에서는 텍스쳐가 출력되지 않고 있습니다. UV채널 문제로 예상했으니 UV 정보를 살펴봅니다. 원인 파악 언리얼 엔진에서  스타틱 매쉬 에디터를 열고(메쉬에 UV 정보가 있으니) UV정보를 살펴봅니다.  엔진에서 기본적으로 텍스쳐 표현에 쓰이는 UV0 채널이 비어 있습니다. 스타틱 매쉬 에디터, UV 0  UV1정보를 살펴보니 이쪽에 언랩 작업된 정보가 있는 것을 볼 수 있었습니다.  모델링시 UV 채널을 추가로 하나 더 생성된것으로 유추해봅니다. 스타틱 매쉬 에디터,UV 1   블랜더 에서도  확인해보면 UV Channel_1 이 추가 되어 있는 것을 볼 수 있습니다.  Blender-UV Editing-Data  Blender-UV Editing-Data 해결 방안 단순히 UV 채널이 추가 되어 있는 문제로,  FBX의 사용하지 않는 UV채널을 정리해주면 간단하게 해결 할 수 있습니다. 블랜더에서 UV channel1을 삭제 FBX를 다시 익스포트하여 Unreal Engine으로 Import. 추가 정보 혹시 어떠한 이유로 강제로 UV채널을 추가하여 사용했다면 아래 그림처럼 Texture Sample에 TexCoord노드를 연결 시킨 다음 좌표 인덱스를 UV 정보가 있는 인덱스 번호로 지정해 주면 됩니다. Unreal Engine - Material Editor -TexCoord  *. 해당 문제 해결을 통해 UV Channel이 추가적으로 이용될 수 있다는 부분에 대해서도 알고 가면 좋을 것 같습니다~  

게임을 만드는 것에 대하여 (2)

게임을 만드는 것에 대하여 (2)   팀으로 하나의 컨텐츠를 만들어 나간다고 하는 것은 상당한 난이도가 있는 일입니다. '그냥 하다 보면 어떻게 되겠지.'라고 생각하고 진행하면 프로젝트가 뒤엉키게 되겠죠. 때문에 계획이라는 것이 필요합니다.  '어떻게 할지도 모르는데 계획을 어떻게 세우지..'라고 한다면 더 더욱이나 계획을 세워야 합니다. 뭘 할지도 모르면 당연히 게임 제작은 머나먼 일이 될 테니까요. 프로토 타입을 만듭시다.   초기 기획 안이 마련되었으면 이제 무엇을 먼저 시작할 것 인지를 정해야 합니다. 프로젝트 개발의 이정표를 하나하나 찍어야 하죠, 우선 처음 한 달 정도의 목표점을 잡아보는 것이 중요합니다.  구성원들로 하여금 '이번 달은 저리로 가면 되는구나' 와 같은 구체적인 목표가 잡혀야겠죠 기획, 아트, 프로그램 각각의 파트에서 바라보는 시각은 다 각자의 차이가 있지만, 게임의 프로토타입을 제작하는 것은 꼭 필요합니다. 제작하고자하는 게임의 필수적인 요소들을 먼저 만들어서 게임성을 점검 하는 것이죠, 만들고자 하는 게임이 잘 구현될 수 있을지, 재미는 있을지에 대해 우선 확인될 수 있어야 합니다.  게임을 제작하는 공정이 0부터 100까지 순차적으로 착착 진행될 꺼라는 생각은 애초에 버리는 것이 좋습니다. 게임상에 올려보고, 수정하고, 다시 올려보고 하는 과정들이 반복되고 그러면서 점점 더 게임에 맞는 모습을 찾아가는 거죠, 그렇기 때문에 초반에 게임의 프로토타입을 빠르게 만들어 보는 것은 무엇보다 중요하고, 프로젝트 일정에 폴리싱이라는 일정을 꼭 넣어 두어야 합니다. 제작 초반에는 게임의 모습에 대한 기대감도 있지만, 불안함이 더할 수 있는 상황이기 때문에, 빠른 시간 안에 게임의 코어한 재미를 눈으로 확인할 수 있어야 합니다. 아무래도 시각적으로 확인되어야 구성원들이 방향을 공유하고 거기서 부터 발전적인 방향을 찾게 되니까요. '내가 만드는 것들이 이렇게 구현되는구나'라고 보게 되...

게임을 만드는 것에 대하여 (1)

게임을 만드는 것에 대하여 (1)      비교적 오래된 경력자임에도 아직 스스로 '게임 개발자'라고 이야기 하기에는 스스로 부끄럽다고 생각하기 때문에 게임 개발에 대해 이렇다 할 정리된 의견을 내는 것은 생각하지 못하고 있습니다.  다만 학생들의 게임 프로젝트를 앞두고 있는 상황에서 정리된 글로 프로젝트 공정에 도움을 주었으면 하는 마음에서 시간을 내서 관련 이야기를 써보려 합니다. 사람마다 게임을 바라보는 관점이 다른데, 저는 게임을 '간접적인 경험과 학습' 이라고 생각하는 편입니다. 어렸을 때부터 오랫동안 게임을 해오면서, 고대 유적을 탐험하는 모험도 하고, 우주선도 탈출했으며 좀비에게서 도망도 다니고, 농장도 운영했죠, 도시를 건설하기도 하고요, 건물주가 될 수도 있었습니다. 게임을 구매할 때마다 새로운 경험에 대한 기대를 한껏 갖고, 그 세계를 들여다 볼 수 있었고, 그러면서 현실에서 느끼기 힘든 여러 부분들을 얻었다고 생각합니다. 멋진 동료들과의 인연과 그 이야기들도 마음속에 담으면서 말이죠, 게임을 좋아하는 사람들은 누구나 한번쯤은 ‘이런 게임을 한번 만들어보고 싶다 ’라는 생각을 해봤을 겁니다. 저도 만들고 싶은 게임이 몇몇 있습니다. 꽤 오래전부터 생각해오던 아이디어들 인데요, 핑계이지만 회사 일을 하다 보면 개인적인 시간이 그리 많지도 않고 해서 아직 구체적인 진행을 하지는 못하였습니다. 만약 저에게 금전 적으로 자유로울 수 있는 1년이라는 시간이 주어진다면, 전 지금까지 생각하고, 경험했던 부분들을 활용하여 구상하고 있는 초기 아이디어를 게임으로 제작해보고 싶습니다, 그 과정은 매우 힘들고 험난한 여정이 될 테지만, 그 경험이 인생의 전환점이 될만한 새로운 시작이 되리라 생각하기 때문이죠. 때문에 제 입장 에서는 여러분들의 프로젝트 기간이 꽤나 부러워 보이는건 사실입니다,  물론 팀 작업 이라는 것이, 구성원의 능력과 실현 가능성을 감안해야 하고, 서로간의 여러 이해 관계들에 얽혀 들어가기...