본문 바로가기
프로그래밍/Unreal 부트캠프

TIL 2024.12.17 기록

by Rozentea 2024. 12. 17.

0. 개요


오늘은 본격적인 언리얼 수업 시작 전에 게임사 현업에서 프로젝트가 어떻게 진행이 되는지, 각 부서별로 어떤 업무를 맡으시는지 등을 자새히 들을 수 있어서 좋았다.

 

또 언리얼 수업은 뷰포트, 아웃라이너 설명부터 시작해 머티리얼까지 간단하게 살펴보는 시간을 가지고 크게 2가지 개인 과제를 진행했다.

 

더보기

1. 게임 스튜디오에는 어떤 직군들이 있을까?


1. 게임 기획자

스토리 라인 구상, 레벨 디자인, 게임 규칙을 면밀하게 정함

뿐만 아니라 게임이 어느정도 완성되면, 밸런싱 조정 등을 맡아서 하는 업무라고 한다.

 

내가 생각했던 기획보다 훨씬 디테일하게 기획을 하는 업무인것 같아 놀랐다.

예를 들어 플레이어가 던전을 탐험하며 강력한 보스를 물리쳐야 하는 MMORPG 게임이면, 던전의 구조, 보스의 패턴, 플레이어가 어떤 무기로 보스를 상대하게 될지 등 치밀하고, 면밀하게 계획한다.

 

그동안 짧게나마 언리얼 프로젝트를 진행할 때, 레벨 구성을 내 마음대로 했었는데, 레벨 디자이너가 레벨을 디테일하게 구성하기 전에 기획자 분께서 레벨을 어떻게 만들지 먼저 구상을 하는것 같다.

물론 회사마다 달라서 실제 현업에서는 어떨지 모르겠지만 생각보다도 더 기획자분들께서 하시는일이 많아보여 놀랐다.

 

2. 아티스트 (그래픽 디자이너, 애니메이터)

컨셉 아티스트 : 게임의 분위기와 컨셉에 맞게 일러스트를 그려 전체적인 '톤 앤 매너'를 잡아준다. 

3D 모델러 : 캐릭터, 몬스터, 건물, 무기 등등 게임 세계를 구성하는 모든 물체를 3D 모델로 만든다.

애니메이터 : 만들어진 3D 모델에 '생명'을 불어넣는 역할을 하고, 점프, 달리기 등의 캐릭터들 모션을 부드럽게 이어지도록 만들어준다.

 

프로젝트를 진행 할때 스프라이트 이미지들을 사용하거나 3D 모델들을 사용하면서 아티스트 분들께 감사한 기분이 정말 많이 들었었다.

혼자서 프로젝트를 진행하려고 할때, 이런 이미지나 모델들이 없어서 어떻게 해야할지 엄청 고민했던 적이 많아서, 좋은 게임을 만들기 위해서 꼭 필요한 분들이라고 생각한다.

 

3. 프로그래머

게임 기획자가 상상한 규칙과 아티스트가 만든 자산(리소스)에 생명과 움직임을 부여하는 직군!

클라이언트 프로그래머

* 플레이어가 직접 눈으로 보고, 손으로 조작하는 모든 상호 작용에 관련된 부분을 구현한다.

* 뿐만 아니라, 그래픽 및 사운드 연동 및 UI/UX 개선까지 해야한다. 그래서, 클라이언트 프로그래머는 생각보다 여러 팀과 협업을 하곤 한다.

* 그리고, 퍼포먼스 최적화도 클라이언트 프로그래머의 핵심 소양이다.

* 최적화가 굉장히 중요하다.

 

목표가 클라이언트 프로그래머이기 때문에 이전에도 굉장히 많이 찾아보았던 내용이었다. 꼭! 반드시! 클라이언트 프로그래머가 될 것이다!

 

4. 서버 프로그래머

* 온라인 게임에서 게임 전체의 질서 유지를 담당하고 데이터의 일관성과 공정성을 보장하는 역할

* 또한, 해킹된 클라이언트라고 항상 가정을 하고 갖은 치트나 해킹 시도등을 방어 할 수 있어야 한다.

 

5. 사운드 디자이너

우리가 만든 가상 세계에 더 깊이 빠져들게 하는 마법사 같은 직군!

좋은 OST와 배경음악은 플레이어의 입장에서 여러 감정선을 표현하고 그걸 유저들에게 고스란히 혹은 그 이상으로 전달할 수 있는 매개체다. 아니면, 아주 적당한 효과음 연출로 게임의 몰입도를 높여주는 역할을 하는 분들이다.

 

 

내가 게임 업계에 빠진 이유는 단순히 게임을 좋아해서가 아니다.. 게임을 좋아하고, 즐겨하는 다양한 분야의 사람들이 게임이라는 하나의 목표를 가지고 게임을 만들어가는 과정이 너무 멋있어 보였기 때문이다.

이렇게 다양한 직군들에 대해서 이전보다 더 자새하게 알게되고, 여러 경험담을 듣다보니 하루 빨리 다양한 직군의 선배님들과 협업할 수 있는 프로그래머가 되고싶다 느껴졌다..! 반드시!!

1. 언리얼 에디터 살펴보기


1. 뷰포트

뷰포트는 언리얼 엔진에서 사용자가 제작 중인 월드를 보여주는 창이다.

정확히 필요한 데이터 확인에 도움이 되는 다양한 툴과 시각화 툴이 포함되어있다. - 언리얼 문서 참고 -

 

○ 화면의 중앙에 위치하며, 3D 월드를 직접 볼 수 있는 영역이다.

○ 카메라를 조작하여 월드를 탐색하거나 오브젝트를 배치할 수 있다.

 

뷰포트 모드에는 아래 사진과 같이 다양한 모드들이 있었다.

 

● 라이팅 포함

모든 머티리얼과 라이팅이 적용된 최종 장면 결과를 보여준다.

 

● 라이팅 제외

장면에서 모든 라이팅을 없애고 베이스 컬러만 남긴다.

 

● 와이어 프레임

장면에 있는 폴리곤의 정점들을 이은 모서리를 전부 보여준다.

=> 예전에 사용해보니 모듈로 나누어져 있는 에셋을 이용해 벽이나 바닥 타일을 조립해 만들 때, 카메라 모드(직교)와 함께 사용해 작업하면 편했던 기억이 있어서 기억에 남는 모드중 하나이다.

또 브러시의 경우에는 지오메트리를 보여준다.

 

● 디테일 패널

원본 머티리얼의 노멀맵을 사용하여 전체 장면에서 무채색 머티리얼을 활성화 한다.

베이스 컬러가 너무 어둡거나 노이즈가 많아 라이팅이 차단하는지 구분할 때 유용하다고 한다.

 

● 라이팅만

라이팅의 영향만 받는 무채색 머티리얼을 보여준다.

노멀맵이 보이지 않는다는 점에서 디테일 라이팅과는 다르다고 한다.

 

2. 아웃라이너

아웃라이너 패널은 씬 안의 모든 액터를 계층형 뷰로 표시한다.

폴더 생성, 액터들의 그룹화, 액터들을 월드에서 표시할지 선택하는 숨기기 및 표시 기능 등이 있다는 것을 확인할 수 있었다.

또 아웃라이너에서 액터를 클릭하면, 뷰포트에 해당 액터가 하이라이트가 되어 쉽게 찾을 수 있다는 것을 확인했다.

 

○ 화면 우측 상단에 위치하고 있다.

○ 각 오브젝트를 선택하여 속성을 수정하거나 삭제할 수 있다.

○ 보통은 오브젝트의 성격에 따라 조명, 스태틱 메시, VFX와 같은 폴더들로 나누고 오브젝트를 계층적으로 관리하는게 관례라고 한다.

 

3. 디테일 패널

디테일 패널은 블루프린트 에디터 안에 선택된 항목의 프로퍼티를 편집할 수 있는 패널이다.

특정 프로퍼티를 빠르게 찾을 수 있는 검색 창과, 포함된 프로퍼티를 깔끔하게 정리해 주는 접히는 카테고리로 구성된다.

뿐만아니라

 

   ●  블루프린트 변수에 대한 이름, 유형 변경 및 변수의 배열 여부 확인 등의 편집

        ○ 예를 들어, 위치(Position), 회전(Rotation), 크기(Scale)를 수정하거나 특정 속성을 설정할 수 있다.

   ●  ‘블루프린트 속성' 버튼 클릭 후 블루프린트 인터페이스 구현

   ●  블루프린트 함수에 대한 입력 및 출력 추가

   ●  선택된 컴포넌트에 대한 이밴트 추가

도 가능하다고 한다.

 

디테일 탭은 내일부터 블루프린트 강의가 시작되면서 많이 다룰것 같기 때문에 새로 알게된 부분은 다음 TIL에 정리할 것이다.

 

4. 콘텐츠 브라우저

언리얼 프로젝트 내의 콘텐츠 에셋을 생성, 임포트, 구성, 확인 및 관리하는 언리얼 에디터의 주요 영역이다.

또한 콘텐츠 브라우저를 사용하여 콘텐츠 폴더를 관리하고 특정 기능들을 수행할 수 있다고 한다.

 

   ●  프로젝트 내의 모든 에셋을 탐색하고 에셋과 상호작용한다.

   ●  텍스트 필터를 사용해 에셋을 검색한다.

   ●  에셋을 개인, 로컬, 공유 컬렉션으로 정리한다.

   ●  문제가 있을 수 있는 에셋을 식별한다.

   ●  콘텐츠 폴더 간 또는 다른 프로젝트로 에셋을 마이그레이션 한다.

 

위 기능들 중에서 에셋 마이그레이션이 궁금해서 이후에 캠프 강의를 더 들은 뒤 공부하고 다시 한번 정리 하려고 한다.

 

○ 언리얼 에디터 하단에서 콘텐츠 브라우저가 안보일 경우 CTRL + SPACE를 눌러 창을 띄울 수 있다..!

 

5. 뷰포트 내 오브젝트 용어 정리

● 월드

  ○  정의

       ■ 레벨이 존재하는 최상위 컨테이너로 모든 액터와 구성 요소를 포함한다.

       ■  하나의 월드에는 하나 이상의 레벨이 포함된다.

    역할

       ■  게임 로직의 전반적인 상태를 관리한다.

       ■  물리 시뮬레이션, 이벤트 처리, 그리고 게임 루프를 제어한다.

    특징

       ■  언리얼 엔진의 API를 통해 월드를 관리하고 상태를 변경할 수 있다.

       ■  또한, 여러 개의 레벨을 동시에 로드하고 관리할 수 있다.

 

● 레벨

    정의

       ■  레벨은 게임 또는 프로젝트의 하나의 "씬"을 의미한다.

       ■  언리얼 엔진에서 작업하는 공간을 정의하며, 월드의 구성 요소들을 담고 있다.

    역할

       ■  게임 환경(맵)을 설계하고, 액터와 이벤트를 배치하는 데 사용된다.

       ■  여러 레벨을 조합하여 대규모 환경을 만들 수 있다.

    특징

       ■  레벨 파일은 .umap 확장자를 가진다.

       ■  콘텐츠 브라우저에서 Type == World로 검색하면 해당 프로젝트 내 레벨 파일들을 볼 수 있다.

 

● 액터

    정의

       ■  액터는 언리얼 엔진 월드 내에서 존재하는 모든 오브젝트를 뜻한다.

       ■  기본적으로 레벨에 배치되거나 생성될 수 있는 개체라고 생각하면 된다.

    역할

       ■  게임플레이 로직을 담당하거나 환경 구성 요소를 나타내는 역할이다.

       ■  캐릭터, 조명, 카메라, 사운드, 물리 오브젝트 등이 포함된다.

    특징

       ■  액터는 위치, 회전, 크기와 같은 변환(Transform) 속성을 가진다.

       ■  Blueprint 또는 C++로 커스텀 액터를 만들 수 있다.

 

● 폰

    정의

       ■  폰은 액터의 일종으로, 플레이어나 AI가 조종할 수 있는 오브젝트를 뜻한다.

            □  그냥 레벨 내에 배치된 장애물이나 장식품과는 다르다.

       ■  게임의 캐릭터를 구현하는 데 주로 사용됩니다.

    역할

       ■  플레이어 컨트롤러의 경우에는 입력(Input)을 받아서 움직임과 동작을 제어한다.

       ■  AI 컨트롤러가 폰을 조작하여 NPC를 구현할 수도 있다.

    특징

       ■  폰은 "컨트롤러(Controller)"에 의해 제어된다.

            □  빙의(possess)가 가능하다.

       ■  캐릭터 클래스는 폰을 기반으로 한 확장된 클래스이다.

 

2. 월드 좌표계와 로컬 좌표계


오늘 강의에서 트랜스폼에 대해 간단히 배우다가 월드 좌표계와 로컬 좌표계 이야기가 나와서 자습중에 실험을 해보고 따로 찾아 공부를 해보았다.

 

실험 내용 정리

더보기

 

월드 좌표계로 볼때는 회전한 물체와 회전하지 않은 물체의 기즈모가 월드를 기준으로 동일하게 나오는 것을 확인할 수 있다.

 

하지만, 로컬 좌표계로 변경하니 회전한 물체의 기즈모가 회전되어 나왔다.

 

큐브와 구은 큐브가 구을 가지고 있는 관계로 묶여있기 때문에 큐브가 회전하면, 구도 함께 회전한다.

구 입장에서 보면, 큐브와 공전을 한 셈인데, 이때도 월드 좌표계로 보면 기즈모가 월드의 기준으로 나오는 것을 확인 할 수 있다.

 

상대 좌표계로 확인했을 때는 큐브와 구가 월드 좌표계와는 다르지만 서로 기즈모 방향이 동일했다.

 

하지만, 구만 회전 즉 자전한 경우 월드 좌표계는 사각형과 구가 동일했지만, 로컬 좌표계로는 구가 회전한 만큼 기즈모가 회전을 했다.

 

실험 결과 월드 좌표계는 월드를 기준으로 기즈모가 표시되고, 월드를 기준으로 이동, 회전 등이 발생하고

로컬 좌표계는 해당 액터가 바라보는 방향을 기준으로 기즈모가 표시되어 그 방향으로 이동, 회전등이 발생한다는 것을 알 수 있었다.

월드 좌표계 : 레벨 전체의 전역 좌표계로 (0, 0, 0)을 원점으로 사용한다.

                      레벨 내에 배치된 모든 객체는 월드 좌표계를 기준으로 위치와 회전이 정의된다.

                      고정된 참조 좌표계로, 객체가 이동하거나 회전해도 월드 좌표는 변하지 않는다.

 

로컬 좌표계 : 특정 객체를 기준으로 위치, 회전, 크기 등을 정의하고, 해당 객체의 움직임에 따라 함께 변화한다.

                   주로 객체의 내부 컴포넌트나 자식 객체의 위치와 회전을 정의할 때 사용한다.

 

번외

뷰포트 좌표 : 현재 카메라(플레이어의 시점)에 대한 상대적 좌표계이다.

                      화면 내 픽셀 좌표를 기반으로 계산된다.

                      주로 UI 요소나 HUD(Head-Up Display)를 렌더링할 때 사용된다.

                      예를 들어, 미니맵이나 체력 표시바의 위치를 뷰포트 좌표를 사용해 정의한다.

 

카메라 좌표 : 카메라의 위치와 방향을 기준으로 객체의 위치를 정의한다.

                      카메라의 시점을 기준으로, 객체가 카메라에 대해 상대적으로 어느 위치에 있는지를 나타낸다.

                      주로 카메라를 따라 이동하는 객체나 이펙트를 설정할 때 사용된다.

 

스크린 좌표 : 렌더링된 화면(모니터)의 픽셀 단위로 정의된 좌표이다.

                      2D UI 요소를 배치하거나, 특정 객체가 화면에서 어디에 표시될지를 결정할 때 사용된다.

                      예를 들어, 캐릭터 위에 체력 게이지를 표시하거나, 3D 공간의 객체를 2D 화면 상에 오버레이할 때 사용된다.

 

참고 블로그

 

👨‍💻 [Unreal] 언리얼 엔진 5 에서 공간 좌표의 종류와 특징은 어떻게 되나요?

👨‍💻 안녕하세요, 윌리 프로젝트의 윌리 입니다.언리얼 엔진 5 에서 공간 좌표의 종류와 특징은 어떻게 되는지 물어봤습니다.질문 >언리얼 엔진 5 에서 공간 좌표의 종류와 특징은 어떻게 되

willeeproject.tistory.com

 

3. 머티리얼


 

1. 카툰 머티리얼 만들기

과제 중 하나가 머티리얼을 하나 만들어보는 것이었는데, 배운 내용이 단순히 베이스 컬러, 메탈릭, 스페큘러, 러프니스 뿐이라 유튜브 영상을 시청하면서 따라서 만들었다.

카툰 머티리얼을 선택한 이유는 DirectX11 프로젝트를 진행할 때 HLSL로 카툰 셰이더를 만들었던 경험이 있어서 언리얼에서 한번 만들어 보고 싶었기 때문이다. (물론 나중에 언리얼 강의를 모두 마치고나면, 혹은 기회가 중간에 있다면, 포스트 프로세스를 이용해 언리얼에서 카툰 셰이더를 만들어보고 싶다.)

 

원래 카툰 셰이더를 만들 때 유니티에서는 머티리얼로, 언리얼에서는 포스트 프로세스로 만든다고 한다.

 

외곽선이랑, 빛을 받는 양만큼을 나누어 하이라이트, 메인, 그림자만 나누었기 때문인지 너무 단순하게 나와서 조금 밋밋하지만, 나름 괜찮게 나온것 같다.

 

 

2. 새로 알게 된 단축키! ★

카툰 머티리얼 영상을 보다가 갑자기 노드가 생기는 것을 보고 어떻게 한거지?! 싶어서 찾아보게 되었다.

v + 좌클릭 : 컬러값으로 전달이 가능한 vector Param노드가 생성된다.

i + 좌클릭 : if 노드가 생성된다.

m + 좌클릭 : mul 노드가 생성된다.

s + 좌클릭 : 스칼라 파람 노드가 생성된다.

(이 외에도 다양하던데 아직 잘 모르는 노드들이 었다. 블루프린트 강의를 들어가게 되면 하나하나 눌러보고 문서를 찾아볼 생각이다.)

 

아마 블루 프린트에서도 사용이 가능한 단축키 같아서 매우 유용하게 사용할 수 있을 것 같다.

 

3. 머티리얼 스페큘러, 메탈릭, 러프니스 실험

더보기

1. 메탈릭

메인 색을 변경하고, 메탈릭 값을 올려서 금속 재질느낌이 나도록 변경해 보았다.

카툰 머티리얼을 만들어서 그런지 금속 재질 느낌이 덜나는것 같다.

 

2. 스페큘러

메탈릭을 다시 0으로 맞추고, 스페큘러값을 1로 높였다. 하지만, 어떤게 변한건지 잘 몰라서 찾아보니 스페큘러는 머티리얼의 빛의 반사와 관련되어 있어보인다.

또, 언리얼 문서에 따르면 스페큘러 0.5값이 대부분의 사물을 관측했을 때 적당한 값이어서 크게 바꿀 이유가 없다고 한다. (아티스트의 선택에 따라 조금 바꿔서 사용한다고 한다.)

 

3. 러프니스

 

<좌 러프니스 값 : 1.0> <우 러프니스 값 : 0.0>

값이 증가 할 수록 표면 거칠기가 올라가 표면에 주변 사물이 비치지 않는 모습이고, 값이 낮아질 수록 거칠기가 낮아져 표면에 주변 사물이 비치는 모습을 확인할 수 있었다.

 

4. 다른 메시로 비교 정리

각 각 메탈릭 1, 스페큘러 1, 러프니스 1

메탈릭 1 + 스페큘러 0.5 + 러프니스    |    메탈릭 0 + 스페큘러 0 + 러프니스 0

 

결국 금속 재질을 만들려면, 메탈릭, 스페큘러, 러프니스를 모두 다 조합해서 만들어야 할 것 같다.

 

메탈릭(1) 스페큘러(0.5) 러프니스 (0) | 메탈릭(1) 스페큘러(1) 러프니스 (0)

 

차이가 없는 것 같다.

따라서 스페큘러가 빛의 반사광이니 반사광이 0이면, 러프니스가 1이건 0이건 반사가 발생하지 않아 재질에 광택이 발생하지 않고

반사광이 있으면 메탈릭과 러프니스의 수치 차이가 눈에 띄게 바뀐다로 정리가 가능할 것 같다.

 

스페큘러는 문서에서 말하는 대로 0.5면 충분하고 적당한듯하다.

4. 간단한 월드 꾸미기


오늘 강의에서 배웠던, 액터 배치, 액터의 머티리얼 변경하기, 액터의 위치, 크기, 회전 조절하기를 이용해 월드를 꾸미는 과제를 진행했다.

 

예전에 무료로 받아뒀던 에셋들도 활용해 나름 괜찮아보이는 월드가 완성된 것 같아 좋았다.

월드를 만들면서, 플랫포머 게임처럼 점프로 이동하는 맵을 만들지, RPG 맵같은 느낌의 맵을 만들지 고민을 하다가 우선 연습한다는 마음으로 마음이 가는데로 폭포도 만들어보고, RPG에서 나올 법한 폐허 구역도 만들어보고, 집도 만들어 보았다.

 

5. 발표 후기


수강생이 180분 정도 되시는데, 다들 잘하시는  분들만 오신것 같다..

아직 배우지 않은 블루 프린트 함수나, 코드로 함수 구현들을 하시고, 머티리얼 부분에서 이미시브나, 마스킹, 블랜드 등등 더 깊게 사용하시고, 설명까지 준비해오셔서 발표를 하셨다.

 

물론, 나도 DirectX 프로젝트를 진행하면서 머티리얼을 구현하면서 이미시브, 마스킹, 알파블랜드 등 다루어 봤지만 언리얼에서 보니 아직 익숙하지 않아서 사용을 못했지만, 설명을 너무 잘 준비해 오셔서 아직 난 많이 부족하다고 느꼈다.

 

그리고 하늘 색상 변경하기, 움직이는 장애물 만들기 모두 해보았던 것들인데 적용할 생각을 못한게 너무 아쉬웠다. (움직이는 장애물은 수업을 너무 앞써가는 느낌이라 안했지만 하늘 색상 변경은 왜 생각을 못했을까 싶다.)

 

하지만 발표를 보면서 다시 의지가 불타오르는 느낌을 받을 수 있어서 좋았고, 또 다양한 작품들을 보면서 영감을 얻을 수 있어서 정말 좋은 기회였다고 생각한다.

 

때문에 발표를 보고 난 뒤 몇 가지 적용을 해보고 추가적인 공부를 했다.

 

1. 스카이 박스 색상 변경

이른 아침이나 석양이지는 느낌이 나도록 주황빛으로 변경했다.

디렉셔널 라이트 컬러, SkyAtmosphere, 스카이 라이트 컬러를 변경했다.

 

2. 파티클 추가

해당 에셋에 파티클이 있다는 것을 알게 되어서 파티클을 추가해 주었다.

또 파티클의 스케일을 키우기 위해서 나이아가라 시스템을 복사해 만들어 스케일을 조절해주었다.

원래는 반딧불이 같은 효과를 주기 위해서 색을 변경하려했지만, 파란색 파티클도 꽤 어울리는것 같아 그대로 두었다.

 

3. 카메라 포스트 프로세스 

다른 조 발표자분께서 거리가 멀어지면 안개가 끼듯 뿌옇게되서 크기가 엄청나게 큰 오브젝트를 다룰 때 불편했다고 한다.

그때 포스트 프로세스 성능을 낮추면 해결된다 한다.

하지만 내가 생각하기에는 진짜 해결된것이 아닌것 같고 포스트 프로세스 퀄리티를 낮췄더니 해소 됐다는 점에서 해당 프로젝트 카메라의 거리에 따른 시각효과가 포스트 프로세스로 만들어진 것이라는 것을 알 수 있었다.

 

따라서 나중에 이런 문제가 발생한다면, 해당 효과 코드나 그런 것들을 확인해 값을 변경하거나, 내가 원하는 카메라 효과를 넣기 위해 직접 코딩을 해야할 것 같다.

 

4. 북마크 기능

몰랐던 내용이었는데, 북마크를 설정하면, 뷰포트에서 저장해둔 위치로 바로 이동이 가능하다.

Ctrl + (0~9) : 으로 북마크 설정이 가능하고, 해당 숫자를 누르면 북마크 설정되어 있는 위치로 이동한다.

 

5. pitch yaw roll

roll :  X축을 기준으로 회전

pitch : Y축을 기준으로 회전

yaw : Z축을 기준으로 회전

 

가끔 햇갈리던 내용이었는데, 다시 한번 더 정리할 수 있어서 좋았다.

 

6. 워터 플러그인 사용해 물 만들기

 

 

워터 플러그인을 이용해 폭포와 연못을 보다 현실적이게 수정했다.

이번에 워터 플러그인을 찾아보고 이전보다 다양하게 사용해서 더 깊게 이해할 수는 있었지만, 아직도 많이 부족하다고 느껴진다.

 

물이 오브젝트를 뚫고 아래까지 쭉 떨어지는 것도 설정을 이상하게 한것 같고, 아직 커브를 직접 만들거나, 웨이브를 직접 만들지 못하기 때문에 이후에도 조금씩 사용해보면서 워터 플러그인을 잘 다뤄보고 싶다.

 

사실 연기 파티클을 추가해 폭포가 물이 튀는 것도 하려고 했지만, 적당한 VFX가 없기도 하고 만들기에는 시간이 너무 오래걸릴것 같아서 포기했다.. 하지만 언리얼 강의를 진행하면서 나이아가라 시스템을 다루게 된다면 꼭 도전해보고 싶다.

 

참고 블로그

 

언리얼엔진(UE5) -- water(바다, 강 섬) 플러그인 사용해보기

이번에 사용해볼 언리얼 기능은 저번 글에서 랜드메스 하며 설치해주었던 워터 플러그인! 지형을 만들때 강,호수 등은 중요한 역할을 해주더라구요.. 그래서 한번 사용해 보았습니다! 그럼 시작

ljhyunstory.tistory.com

 

6. 마무리


드디어 오늘 언리얼을 본격적으로 활용해 과제를 수행해 재미 있었다. 또, 강의를 들으며 실시간으로 다른 수강생분들께서 만드신 결과물을 함께 볼 수 있어서 더욱 의지가 생기고, 재미가 있었던 것 같다.

또 궁금증이 생겼을 때, 직접 실험을 해보면서 답을 찾아가는 활동이 유익하면서도 즐거운 시간이었다.

특히 머티리얼과 좌표계 실험을 할 때 이것 저것 직접 시도해보면서 재밌게 즐겼었다.

 

문서를 보면서 기존에는 잘 몰랐던 기능들이나 패널들도 확인할 수 있었다.

 

또 마지막으로 발표를 통해서 놓쳤던 부분들이나 몰랐던 부분들에 대해서 다시 한번 더 확인할 수 있었고, 영감을 얻어갈 수 있는 즐거운 시간이었다.

'프로그래밍 > Unreal 부트캠프' 카테고리의 다른 글

TIL 2024.12.23 기록  (0) 2024.12.23
TIL 2024.12.20 기록  (0) 2024.12.20
TIL 2024.12.19 기록  (3) 2024.12.19
TIL 2024.12.18 기록  (1) 2024.12.18
TIL 2024.12.16 기록  (1) 2024.12.16