[UE Team Project/T.A.] 2. 레벨 디자인 (Landscape / Paint / Foliage)

2024. 9. 16. 15:47·프로젝트/TimelessAdventure
728x90
반응형

개요

이번 포스팅에서는 랜드스케이프를 활용해 레벨 디자인을 하는 방법에 대해 정리해보려고 합니다.

 

현재 진행하는 팀 프로젝트의 경우 모든 기능 구현을 팀원이 모두 구현한 뒤 가장 좋은 결과물을 채택하는 서바이벌 개념의 프로젝트지만, 레벨 디자인은 4개로 나눠 각자의 컨셉을 가지고 만든 뒤 모두 사용하기로 하였습니다.

 

제가 만들 레벨은 게임의 시작지점인 초원 레벨입니다.

레벨 생성 및 지형 제작

어드벤처 장르의 게임을 만들기 위해 회의한 결과 각각 12600 * 12600의 랜드스케이프 4개을 사용하기로 하였으며, 이를 위해 랜드스케이프를 생성해주었으며, 이후 간단히 랜드스케이프 기능을 통해 지형의 굴곡을 만들어 주었습니다. (추후 디테일이 필요할 경우 챙겨줄 예정)

모드 변경
레벨 초기화 및 지형 간단 디자인

랜드스케이프 페인팅

생성한 지형에 알맞은 텍스처를 칠해주기 위해 새로운 Material을 생성합니다.

 

개인적으로 레벨에 칠한 머터리얼이 광택이 나거나 풍경을 비추지 않기를 원하기에 Fully Rough(완전 러프) 설정을 true로 지정했습니다. 

 

랜드스케이프에 사용할 머터리얼은 기본적으로 Basic Color와 Normal 값만 사용해도 괜찮게 보입니다.

각각의 값을 레이어에 따라 구분할 수 있도록 블루프린트에 LandscapeLayerBlend 노드를 추가합니다.

 

추가가 완료되면 세부 설정에서 사용하고 싶은 텍스처의 수만큼 레이어 배열을 추가하고, 블렌드 타입을 LB Weight Blend로 설정합니다.

 

LB Weight Blend : 겹치는 경우가 발생하면 해당 레이어를 다른 레이어와 블렌딩 하도록 설정

 

위 Layer Blend를 복사하여 DiffuseMap, NormalMap을 연결해주도록 합니다.

 

위 작업까지 완료했다면 에디터로 돌아가 랜드스케이프 액터를 찾고, 해당 머터리얼을 설정해주도록 합니다.

이후에 랜드스케이프 모드 - 페인트 모드로 들어가면 작업했던 내용이 추가된 것을 확인할 수 있습니다.

 

현재 상태로는 레이어를 골라서 사용할 수 없습니다. 모든 레이어의 우측 '+ 기호'를 눌러 LayerInfo를 생성해줘야 합니다.

 

- 웨이트 블렌딩된 레이어(Weight-Blended Layer) : 겹치는 구간이 있을 시 혼합되도록 설정

- 웨이트 블렌딩되지 않은 레이어 (Non Weight-Blended Layer : 겹치는 구간이 있어도 섞이지 않도록 설정

 

저의 경우 두 레이어가 자연스럽게 혼합되는 것을 원하므로 블렌딩된 레이어로 인포를 생성해주도록 하겠습니다.

 

레이어를 모두 생성해주면 기본적으로 0번 레이어가 배경으로 깔리게 되며 브러쉬로 선택이 가능하게 됩니다.

폴리지 모드

폴리지 모드는 필터가 활성화된 액터와 지오메트리에서 스태틱 메시 또는 액터 폴리지 세트를 빠르게 페인팅하거나 지울 수 있는 툴 세트입니다.

 

모드를 폴리지 모드로 변경해주도록 하겠습니다.

 

폴리지 모드로 변경하면 폴리지를 추가할 수 있는 탭이 존재합니다.

레벨 디자인에 필요한 모든 폴리지를 추가해주도록 합니다.

 

그리고 싶은 폴리지를 모두 체크(선택)한 뒤에 랜드스케이프의 페인팅 모드와 유사하게 브러시 크기와 밀도를 조절해가며 레벨에 칠해주면 됩니다.

폴리지 성능 최적화

폴리지를 많이 배치하다 보면 성능이 심각하게 저하되는 것을 확인할 수 있습니다.

성능을 최적화 하기 위해서는 다음과 같은 방법을 사용해볼 수 있습니다.

1. 폴리지 LOD 설정 (카메라와 멀어지면 폴리곤 개수를 줄이는 방법)

2. 프로젝트 설정 수정

    - 프로젝트 설정 - 렌더링 - 섀도 맵 메서드 변경 (Virtual Shadow Maps → Shadow Maps)

    - 프로젝트 설정 - 렌더링 - 모바일 안티 에일리어싱 메서드 변경 (FXAA → TAA)

레벨 디자인 최종 결과물

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'프로젝트 > TimelessAdventure' 카테고리의 다른 글

[UE Team Project/T.A.] 6. 원거리 공격(활) 구현 / 에임 오프셋  (0) 2024.09.30
[UE Team Project/T.A.] 5. 콤보 공격  (0) 2024.09.29
[UE Team Project/T.A.] 4. 플레이어 달리기 / 구르기 구현  (0) 2024.09.29
[UE Team Project/T.A.] 3. 플레이어 입력 및 기본 이동 (EnhancedInput)  (0) 2024.09.20
[UE Team Project/T.A.] 1. 팀 구성 및 프로젝트 초기화  (0) 2024.09.13
'프로젝트/TimelessAdventure' 카테고리의 다른 글
  • [UE Team Project/T.A.] 5. 콤보 공격
  • [UE Team Project/T.A.] 4. 플레이어 달리기 / 구르기 구현
  • [UE Team Project/T.A.] 3. 플레이어 입력 및 기본 이동 (EnhancedInput)
  • [UE Team Project/T.A.] 1. 팀 구성 및 프로젝트 초기화
리태s
리태s
게임 클라이언트 프로그래머 직무를 준비하며 공부한 내용을 정리한 블로그입니다.
    반응형
    250x250
  • 리태s
    LeeTaes 공부노트
    리태s
  • 전체
    오늘
    어제
    • Home (165)
      • 프로젝트 (20)
        • Isaac 3D (5)
        • TimelessAdventure (13)
        • FruitsPuzzle (2)
      • Game Programming (25)
        • C# (8)
        • Unity Engine (6)
        • Unreal Engine (8)
        • UE_Multiplayer (3)
      • 코딩테스트 (111)
        • 프로그래머스 (Lv. 0) (27)
        • 프로그래머스 (Lv. 1) (31)
        • 프로그래머스 (Lv. 2) (21)
        • 백준 (Study) (29)
        • 알고리즘 (3)
      • CS지식 (7)
        • 운영체제 (7)
      • 일상 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    dataasset
    C++
    issac3d
    프로그래머스
    timelessadventure
    프로세스
    pcce 기출문제
    청년취업사관학교
    구현
    후기
    2018 kakao
    2019 kakao
    ai controller
    c#
    CS지식
    sesac
    Unreal Engine
    코딩테스트
    tsoftobjectptr
    delegate
    project t.a develop
    Summer/Winter Coding
    백준
    fsoftobjectpath
    unrealengine
    프로젝트
    2022 kakao
    Algorithm
    unity
    fruitspuzzle
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
리태s
[UE Team Project/T.A.] 2. 레벨 디자인 (Landscape / Paint / Foliage)
상단으로

티스토리툴바