Unreal Engine 5 TIL day2

2024. 12. 17. 15:11·Unreal Engine

1. 언리얼 에디터 

언리얼 에디터 인터페이스에는 크게 4가지가 있다.

  • 뷰포트
    • 3D 월드를 직접 볼 수 있는 구역으로 빨간색으로 표시한 곳이다.
    • 게임을 실행 전에는 오브젝트를 배치하고 카메라를 움직이면서 돌아볼 수 있다.
    • 게임 실행 버튼을 누르면 게임 실행 화면이 보이는 구역이다.
  • 아웃라이너
    • 현재 씬에 배치된 오브젝트들의 계층 구조를 보여주는 구역으로 노란색으로 표시한 곳이다.
    • 실제 게임을 만드려면, 폴더 구조로 오브젝트의 성격에 따라 분류해서 정리해야 한다.
  • 디테일
    • 내가 선택한 오브젝트의 속성을 보여주는 구역으로 핑크색으로 표시한 곳이다.
  • 콘텐츠 브라우저
    • 프로젝트에 사용되는 모든 에셋을 관리하는 구역으로 파란색으로 표시한 곳이다.

 

2. 오브젝트 트랜스폼

  • 이동
    • 단축키로 W를 사용하여 사용할 수 있고, 오브젝트의 위치를 이동시킬 수 있다.

  • 회전
    • 단축키 E를 사용할 수 있고, 오브젝트를 회전시킬 수 있다.

  • 크기
    • 단축키 R을 사용할 수 있고, 오브젝트의 크기를 변경시킬 수 있다.

 

3. 월드 좌표계 & 로컬 좌표계

  • 언리얼 엔진의 좌표계는 월드 좌표계와 로컬 좌표계로 구분할 수 있다.
  • 월드 좌표계
    • 게임 씬이 구성되는 월드의 좌표를 기준으로 하는 좌표계이다.
    • 아래 사진의 지구본 모양이 떠있을 때 월드 기준 좌표계를 조작할 수 있으며, 월드 기준으로 x, y, z축이 정렬된 모습이다.

 

  • 로컬 좌표계
    • 내가 조작하고 있는 오브젝트를 기준으로 하는 좌표계이다.
    • 아래 사진처럼 큐브 모양이 떠있을 때 로컬 좌표계를 조작할 수 있으며, 오브젝트 자신을 기준으로 x,y,z축이 정렬된 모습을 볼 수 있다.

4. 머티리얼

  • 머티리얼이란 씬에서 오브젝트의 표면 프로퍼티를 정의하는 것이고 넓게 보면, 메시에 적용되어 시각적인 형태를 제어하는 '페인트' 라고 할 수 있습니다. 또한 표면이 씬의 라이트와 어떻게 상호작용해야 하는지 엔진에 알려주는 역할도 수행한다.
  • 컬러, 리플렉션, 울퉁불퉁함, 투명도 등을 포함한다.
  • 언리얼 엔진에서는 머티리얼을 머티리얼 그래프를 통해 수정할 수 있다. 

머티리얼 그래프

5. 머티리얼 만들어 보고 적용해보기

머티리얼 만들기

  • 베이스 컬러
    • 베이스 컬러는 constant3Vector값을 사용 (단축키는 숫자3 누른 상태에서좌클릭)
    • 아래처럼 색을 지정한 후 texture sample을 추가해 주었다.

위의 머티리얼 그래프의 결과를 큐브에 적용한 모습

  • 러프니스
    • 러프니스는 머티리얼 표면의 거칠거나 부드러운 정도를 나타낸다.
    • 아래의 예시는 러프니스에 0을 주어 아주 매끄럽게 만든 상태이다. 만약 러프니스를 1로 한다면, 무광의 표면이 될 것이다.
    • 해당 값은 직접 써도 되지만, constant 를 사용했다. (단축키는 숫자1 누른 상태에서 좌클릭)

러프니스 0의 결과물

  • 스페큘러
    • 표면에 스페큘러 라이트가 반사되는 정도를 나타내며, 1과 가까워질수록 완전 반사를 하게 된다.
    • 언리얼 엔진의 기본값인 0.5는 대체로 정확하게 작동한다고 하니, 크게 조작할 필요는 없어 보인다.
  • 메탈릭
    • 메탈릭은 말 그대로 얼마나 더 금속같은지를 나타내는 수치로, 1에 가까울수록 금속과 가까워진다.

러프니스0 메탈릭1 의 결과물

 

머티리얼 응용

  • 어제 공부했던, 블루프린트 인터페이스를 이용하여 특정 지역을 지나가면 mesh의 머티리얼은 변경시키는 것을 구현해 보았다.
  • 로직
    • 블루프린트 인터페이스에 ChangeMaterial 이라는 함수를 추가
    • 캐릭터 BP에서 해당 함수 구현
    • 상호작용을 할 actor 구현
    • 해당 actor에서 ChangeMaterial 함수를 실행할 수 있도록 구현

캐릭터 BP에서 구현한 내용
Door 라는 Actor BP를 만들고 static mesh와 box collision을 추가한 상태
Door BP의 이벤트 그래프에서 인터페이스 함수를 실행하는 것 구현

 

문을 통과하면, mesh의 머티리얼을 바꿔주는 결과물

6. 참고자료

  • https://dev.epicgames.com/documentation/ko-kr/unreal-engine/unreal-engine-materials
  • https://dev.epicgames.com/documentation/ko-kr/unreal-engine/physically-based-materials-in-unreal-engine

 

'Unreal Engine' 카테고리의 다른 글

Unreal Engine 간단한 로그 찍기  (2) 2025.01.06
Unreal Engine 5 TIL day 5  (3) 2024.12.20
Unreal Engine 5 TIL day 4  (1) 2024.12.19
Unreal Engine 5 TIL day 3  (1) 2024.12.19
Unreal Engine 5 TIL day1  (0) 2024.12.16
'Unreal Engine' 카테고리의 다른 글
  • Unreal Engine 5 TIL day 5
  • Unreal Engine 5 TIL day 4
  • Unreal Engine 5 TIL day 3
  • Unreal Engine 5 TIL day1
gbleem
gbleem
gbleem 님의 블로그 입니다.
  • gbleem
    gbleem 님의 블로그
    gbleem
  • 전체
    오늘
    어제
    • 분류 전체보기 (184)
      • Unreal Engine (73)
      • C++ (19)
      • 알고리즘(코딩테스트) (27)
      • TIL (60)
      • CS (4)
      • 툴 (1)
  • 블로그 메뉴

    • 홈
    • 카테고리
  • 링크

    • 과제용 깃허브
    • 깃허브
    • velog
  • 공지사항

  • 인기 글

  • 태그

    character animation
    additive animation
    actor 클래스
    BFS
    applydamage
    템플릿
    cin함수
    map을 vector로 복사
    상속
    blend pose
    DP
    motion matching
    Vector
    const
    C++
    enhanced input system
    싱글턴
    매크로 지정자
    addonscreendebugmessage
    gamestate
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
gbleem
Unreal Engine 5 TIL day2
상단으로

티스토리툴바