여름방학 언리얼5 공부 일기

dain·2022년 9월 24일
1
post-thumbnail

📆 2022-08-12


프로젝트 종류

  • 블루프린트
  • c++


언리얼 엔진 에디터

Q. UE에서 레벨이란?

A. 스태틱 메시, 볼륨, 라이트, 블루프린트 등으로 이루어진 것으로 게임 플레이시 보고 만질 수 있는 모든 오브젝트는 레벨에 포함됨 (= 스테이지/ 맵)

✏️ 유니티 기준,
뷰포트: 씬/게임 뷰, 아웃라이너: 하이어라키, 디테일: 인스펙터 인듯...



레벨 저장 및 설정하는 법

  • 레벨 저장: 편집 > `다음으로 현재 레벨 저장
    ✏️ 언리얼 엔진에서 레벨은 일반적으로 Maps 폴더에 저장

  • 레벨 설정: 편집 > 프로젝트 세팅 > 맵&모드 > 에디터 시작맵과 게임 기본맵 설정


콘텐츠 브라우저

  • UE의 모든 콘텐츠, 콘텐츠 브라우저에서 관리
  • 콘텐츠 브라우저에 들어가는 모든 콘텐츠? 에셋
  • 필터 기능 존재
  • 확대/축소: ctrl + 스크롤바
  • 불러오기: ctrl + space
    > 고정: 우측상단 레이아웃에 고정
  • static mesh 썸네일 오류 생길 경우 오른쪽 하단의 뷰 옵션
    > 썸네일 편집모드로 조정 가능


Asset 가져오는 법

  • 콘텐츠 브라우저 > 우클릭 > 에셋 임포트 > FBX 파일 임포트



스태틱 메시

? UE4에서 사용하는 모든 정적 메시 형태로 보통 배경에서 많이 사용
(모든 오브젝트는 폴리곤-삼각형-으로 구성)

  • 설정: 더블클릭 > 스태틱 메시 에디터
  • 스태틱 메시 에디터 기능
    : 콜리전(충돌 체크), UV, 라이트맵, 머티리얼, LOD(최적화) 등등


📆 2022-08-14


뷰포트 기본 조작

  • 마우스 우클릭 (다른 프로그램들처럼 alt + 좌클릭도 가능)
    • WASD: 해당 방향으로 이동
    • QE: 수직 이동


뷰포트 카메라

  • 각도 조절: 뷰포트의 원근 버튼을 통해 각도 조절(2차원 모드) 가능
  • 단축키
    • 원근: Alt + G
    • 정면: Alt + H
    • 상단: Alt + J
    • 좌측: Alt + K

  • 카메라 속도 조절
    : 뷰포트 우측 상단/ 공간의 크기에 따라 적절하게 조절 가능


뷰포트 북마크

  • 메뉴 > 북마크 > 북마크 설정
  • spot을 찍어놓고 싶은 뷰에서 ctrl + 숫자
    > 다른 뷰에서 숫자 → 해당 뷰로 이동


뷰포트에서의 오브젝트 조정

  • 각각의 오브젝트 = 엑터
    : 모든 오브젝트는 기본적으로 스태틱 메시(형태) + 머티리얼(재질)
    → 하나의 완성형 액터가 됨

  • 화살표? 기즈모

  • 액터(오브젝트) 클릭한 상태에서
    + E: 회전 모드 (10도 단위)
    + W: 이동 모드 (10 단위)
    + R: 스케일 모드 (0.25 단위)

    ✏️ 단위(cm)는 배치의 편의성을 위해 고안된 언리얼 엔진의 기본적인 기능: snap

    + F: 액터 확대 보기
    + Shift: 액터, 뷰포트의 중앙에 놓인 상태에서 움직임

스냅

  • 종류: 표면 스냅, 그리드 스냅, 버텍스 스냅
    • 표면 스냅? 액터를 바닥 또는 다른 표면에 정렬
    • 그리드 스냅? 액터, 특정 간격에 따라 이동/회전/스케일
    • 버텍스 스냅? 상대적 메시의 폴리곤 버텍스를 사용하여 한 오브젝트를 다른 오브젝트를 스냅


디테일

  • 한 엑터의 전체적인 정보(트랜스폼, 스태틱 메시, 머티리얼 등등) 포함
    • Trasform: 드래그 및 숫자 입력으로 수치(위치, 회전, 스케일) 조절 가능


콘텐츠 브라우저

? 프로젝트의 전체 파일(Asset)을 모아둔 것

  • 모두 저장: 저장 기능, 주기적으로 할 것!


액터 배치 패널

  • 자주 사용하는 액터 배치 가능
  • 콘텐츠 브라우저와의 차이점
    • 콘텐츠 브라우저에서는 직접 임포트/제작한 액터 배치
    • 액터 배치에서는 UE에서 기본적으로 제공하는 액터 배치
  • 셰이프: 기본적인 형태의 액터(큐브, 스피어, 실린더, 원뿔, 평면)


시뮬레이션

  • 시작: Alt + P (플레이중 마우스 커서 보기: Shift + F1)
  • 종료: Esc


📆 2022-08-19

유니티 공모전에 치여 살다가 심각성을 느끼고 다시 시작...


오브젝트 조작

  • 오브젝트 이동 모드(오브젝트 선택+W) + Alt
    : 오브젝트 복제하면서 이동 가능

  • 오브젝트 선택 + shift: 오브젝트 다중 선택



캐릭터 속성

  • 콘텐츠 브라우저 > ThirdPerson > Blueprints
    > BP_ThirdPersonCharacter 더블클릭

  • 캐릭터 무브먼트
    : 점프/낙하, 걷기 등등의 디테일 바꾸는 즉시 게임에 적용


플레이어 스타트

? 플레이 시작시 항상 정해진 위치에서 시작하게 하는 액터

  • 액터 배치에서 배치 가능
  • 깃발 모양 아이콘
  • 기즈모 존재
  • 위치 변경 가능


아웃라이너

  • 환경에 배치된 모든 액터들은 아웃라이너에 정렬됨 (abc순)
  • 모든 액터들은 선택되는 즉시 아웃라이너에서 반영
  • 검색 기능 존재
  • 아웃라이너에서 눈 버튼을 통해 특정 액터들만 뷰포트에 나타나게 하고 조정할 수 있음
  • 아웃라이너에서 액터 선택
    + F2: 액터 이름 변경
    + Shift: 오브젝트 다중 선택


StarterContent (콘텐츠 브라우저 폴더)

  • Props: 소품 (연습용 오브젝트)
    • transform data 존재
  • Materials: 재질
    • 액터에 드래그하여 적용 가능
    • Texture(이미지)를 활용해 머티리얼 만듦
  • Particle: 이펙트
    • transform data 존재



📆 2022-08-30

공모전 끝나고 팽팽 놀다가 개강 이틀 전... 울면서 다시 시작 😭

표면 스냅

  • 뷰포트 우측 상단 표면 스냅 기능 + 기즈모 중앙(흰 점)
    : 다른 오브젝트의 표면에 맞춰 이동

  • 공중에 떠 있는 오브젝트 + End: 오브젝트 바닥에 맞춰 이동



오브젝트의 기즈모(피벗) 바꾸는 법

  • 임시
    (다른 오브젝트를 클릭할 경우 초기화)
    • 마우스 휠 클릭 + Alt
    • IF (오브젝트 우클릭 > 피벗 > 피벗 오프셋으로 설정) → 확정
  • 영구
    (* 원본 에셋 자체가 변함!)
    • 우측 상단 선택 모드 > 모델링 모드 > Transform > Pivot > 편집 후 수락까지


오브젝트 데이터 추출하는 법

  • 콘텐츠 브라우저 > 오브젝트의 스태틱 메시 우클릭 > 에셋 액션 > 익스포트
    → fbx 파일로 추출됨
    (단, 머티리얼은 언리얼 엔진의 고유 파일이기 때문에 적용 X)


텍스쳐 vs 머티리얼

  • 텍스쳐
    • 사진 파일
    • 노멀 텍스쳐: 굴곡 표현시 사용되는 텍스쳐
  • 머티리얼
    • 텍스쳐 파일을 통해 만든 UE의 재질
      (거칠기, 굴곡, 금속 유무, 발광 여부 등등 포함)
    • 여러 텍스쳐가 사용될 수 있음


오디오

  • 콘텐츠 브라우저 > StarterContent > Audio
  • wav 파일


고해상도 스크린샷

  • 뷰포트 좌측 상단에 존재
  • 현재 뷰포트 해상도에 맞는 해상도의 스크린샷이 촬영됨
  • 해상도 조절하는 법
    : ~ > 하단에 콘솔창 나타남 > 콘솔 창에 highresshot [해상도] 입력

  • 경로
    : 에픽 게임즈 런처 > 프로젝트 우클릭 > 폴더 보기 > Saved > Screenshots



퀵셀

  • 세계 최대 규모의 사진 측량 에셋 라이브러리 & 번들 소프트웨어 개발/제공하는 회사
  • 메가스캔 에코 시스템 제품군을 UE에 무료로 제공
  • 뷰포트 좌측 상단 + 버튼 > 퀵셀 브릿지 > 에픽 게임즈 아이디로 로그인


퀵셀 브릿지

  • 에셋 퀄리티
    • Nanite: 최고 퀄리티
    • High/ Medium/ Low

✏️ Nanite 외 퀄리티의 에셋들은 스태틱 메시의 나나이트 활성화 해주기

Nanite?
- 폴리곤 로드시 개수의 한계를 없애고 비용 (폴리곤 개수와 상관없이 드는 CPU 비용) 줄임
- 식물은 아직 지원 X

  • 에셋 다운 방법

    • 에셋 다운시 컴퓨터 성능/용량에 따라 퀄리티 조절
    • 방법
    1. Download: 컴퓨터의 폴더에 에셋 다운 >Add: 콘텐츠 브라우저의 Megascans 폴더에 임포트
    2. 다운로드 하지 않아도 퀵셀 브릿지에서 뷰포트로 드래그해서 바로 배치 가능 (기본: low data)
    3. Shift를 통해 에셋 다중 선택 후 일괄적으로 다운로드
  • 경로: 설정 > Preferences > Library Path
  • 분류
    • 3D Objects
    • 3D Plants: 식물들
    • Collections: 특정 테마별 에셋


📆 2022-08-31


머티리얼

  • 스태틱 메시 > 디테일 > 머티리얼 더블클릭 > 머티리얼 편집창

  • 01 Albedo

    • Albedo Tint 체크 → 색상 조절 가능
    • Albedo Controls 체크 → 옵션 조절 가능
      • Saturation(채도): 기본 1, 0에 가까울 수록 흑백
      • Brightness(밝기) : 기본 1, 숫자 클수록 밝음
      • Contrast(대비)
  • 04 Roughness
    • Max Roughness: 기본 1, 숫자 작을수록 덜 거칠고 물에 젖은 듯한(반짝반짝) 느낌


콜리전

? 충돌(캐릭터가 충돌할 실제 물리) 데이터

  • 오브젝트 선택 > 디테일 > 스태틱 메시 더블클릭 > 상단바 콜리전 > 자동 컨벡스 콜리전 > 컨백스 분해 적용

  • 이때 콜리전 데이터는 스태틱 메시의 데이터를 간소화한 데이터
    → 오차 O

  • 오차 해결법
    • 스태틱 메시의 디테일 패널 > 콜리전 복잡도: Project Default에서 Use Complex Collsion As Simple로 변경
      → 실제 모델링 데이터 그대로 콜리전 데이터로 활용하기 때문에 오차 X


퀵셀 브릿지 3D Plants

  • 미디엄 or 로우 퀄리티 다운 권장 (배치해야할 종류와 수가 매우 많기 때문에)
  • 나나이트 활성화 X
  • UE의 모든 오브젝트와 같이 '스태틱 메시 + 머티리얼'로 구성됨
  • Plants 머티리얼
    • 수정시 이름에 'billboard'없는 머티리얼로 수정

      Billboard 머티리얼?

      - 항상 카메라를 향해 렌더링되는 2D 머티리얼
      - 사용 예시: plants
      (스태틱 메시 대신 Billboard 머티리얼 사용
      → 빌보드가 자동으로 플레이어를 향해 회전하여 3차원 풀인 양 착각을 불러일으키기 때문에 풀에 대한 3D 메시 만들 필요 X)

    • 01 Albedo
      • Color Overlay: 색상 편집을 통해 명암/밝기 등 조절 가능
    • 03 Roughness
      • Roughness Intensity: 기본 1, 숫자 낮을수록 덜 거칠게
    • 07 Wind
      - EnableGrassWind 체크 > True 체크
      → 바람에 흔들리는 연출 가능


폴리지

? 다수의 스태틱 메시 한 번에 빠르게 배치하는 법

  • 식물 뿐만 아니라 지형, 타일 등의 모든 스태틱 메시에 적용 가능

  • 좌측 상단 선택 모드 > 폴리지 모드 > 선택 > 폴리지 창에서 스태틱 메시 다중 선택 > 체크

  • 폴리지의 속성(밀도, 크기 등등) 변경 가능
    • 크기: X 스케일 최솟값 ~ 최댓값 사이에서 랜덤으로 배치
  • 배치: 체크한 상태에서 뷰포트에서 드래그
    (이때 배치된 오브젝트들의 수 폴리지 창에 표시됨)

  • 배치된 폴리지 삭제: shift + 드래그/ 우클릭제거



피직스 시뮬레이트

  • 오브젝트 클릭 > 디테일 패널 > 피직스 시뮬레이트

  • 피직스 시뮬레이트 체크 & 질량 적절하게 조절
    → 플레이시 오브젝트, 캐릭터의 움직임에 반응
    (이때 질량은 기본적으로 크기에 비례)

  • 콜리전 기반으로 연산됨
    (단, complex collision는 너무 무겁기 때문에 피직스 시뮬레이션 불가능)



프로젝트 파일 이동

  • 전제조건: 이동할 컴퓨터에도 같은 버전의 UE 설치되어 있어야 함
  • 탭 바 > 파일 > 프로젝트 압축


📆 2022-09-05

여름방학은 끝났지만... 이어서 적어봅니다...

텍스처 최적화

  • 나나이트 퀄리티의 에셋(8K, 고해상도) 활용시 그래픽 메모리 경고 방지
  • 텍스처 더블클릭 > 디테일 > 레벨 오브 디테일 > LOD 바이어스 1로 변경
    → 인게임 내에서의 해상도 절반씩 줄임
  • 대량의 텍스처 에셋 한번에 편집하는 법
    : 콘텐츠 브라우저의 필터 기능을 통해 모든 텍스처 선택 및 우클릭
    > 에셋 액션 > 프로퍼티 매트릭스를 통한 대량 편집
  • 텍스처 메모리 초과시 할당량 변경하는 법:
    콘솔창에 r.streaming.poolsize 입력


📆 2022-09-11


라이팅

? 하늘과 빛에 관련된 모든 것

  • 실내의 형광등, 태양광, 하늘의 간접광, 하늘의 대기시스템, 안개 등 모두 포함
  • 3인칭 템플릿 맵에는 기본 조명 포함되어 있음
  • 라이팅 액터 (스태틱 메시 X)
    • 라이팅 액터 삭제할 경우 뷰포트에 빛 X
    • 라이팅 액터들 생성할 때마다, 아웃라이너의 Lighting 폴더로 이동시키고 관리하기
    • 라이팅 액터 위치 보는 법: 아웃라이너 패널에서 라이트 선택 + F


라이팅 및 대기효과 설정하는 법

  • > 환경 라이트 믹서

  • DirectionalLight
    ? 태양광 (태양의 방향과 위치 결정)

    • 아주 먼 거리에서 태양이 한 방향으로 빛을 쏘는 것 표현
      (빛을 직접 받지 못하는 부분은 완전한 암흑으로 표현됨)

    • 생성: 애트머스페릭 라이트 생성

    • DirectionalLight: 전역 조명
      → 위치 변경해도 뷰포트에 영향 X
      → 그러나 회전할 경우 태양의 방향과 고도(시간대)에 영향 끼침
    • 디테일 > 라이트 > 온도 사용: 태양광의 색 온도 조절/ 기본값 6500
    • 디테일 > 라이트 > 소스 각도: 태양의 크기 조절
    • 디테일 > 라이트 컬러: 조명 색 조절

  • SkyAtmosphere
    ? DirectionLight에서 결정된 태양의 위치와 방향에 맞춰 실제 하늘과 대기 표현
    • 생성: 스카이 애트머스피어 생성
    • 디테일 > 애트머스피어 - 흡수: 흡수 스케일 지수만큼 하늘에서 특정 색상 흡수

  • SkyLight
    ? 간접광 (태양광을 직접적으로 받지 못하는 부분도 간접광 받아 완전한 암흑 X)

    • 생성: 스카이 라이트 생성
    • 텍스쳐를(360도로 환경 전체를 순간 캡쳐한 가상의 텍스쳐) 기반으로 빈 공간에 빛을 채워넣는 방식

    • 문제: 처음 한 번만 캡쳐
      → DirectionalLight 고도 변경해도 간접광 데이터 갱신 X
    • 해결: 스카이라이트 액터 > 디테일 창 > 라이트 > 리얼타임 캡쳐 > 체크


  • ExponentialHeightFog
    ? 안개

    • 생성: 하이트 포그 생성
    • 디테일 > 익스포넨셜 하이트 포그 컴포넌트 > 포그 밀도: 밀도 조절
    • 디테일 > 익스포넨셜 하이트 포그 컴포넌트 > 인스케터링 컬러: 색상 조절
      (밝을수록 안개의 색상 뷰포트에 그대로 표현되고, 어두울수록 현재 시간대에 맞게 자동으로 설정됨)


📆 2022-09-23

개강하고 이주간 죽었어여...

스태틱 메시 변형하는 법

  • 선택 모드 > 모델링 > 모드 툴바
    : UE 내에서 임포트한 스태틱 메시를 변형할 수 있는 기능
  • TriModel > Plncut: 가상의 평면(plane)을 만들고 평면을 기준으로 특정 영역의 모델링을 잘라내는 기능
  • Deform: 변형
  • 주의: 모델링 툴에서 작업 수행하고 저장할 경우, 콘텐츠 브라우저의 원본 에셋 수정됨
    → 원본 에셋을 수정할 경우 모든 오브젝트 함께 수정됨
    → 특정 오브젝트만 수정하고 싶을 경우 에셋 복제 & 선택된 액터를 다음으로 대체 기능 사용하기


여러 스태틱 메시 하나로 합치는 법

  • 뷰포트에서 여러 액터(스태틱 메시) 다중 선택 > Create > MshMrg(mesh merge)


레벨 인스턴스

? 여러 액터들을 한번에 관리할 수 있는 기능 (UE5에 새로 추가된 기능)

  • 액터 다중 선택(뷰포트 or 아웃라이너) > 우클릭 > 레벨 > Packed Level Actor 생성 > 확인 > 액터 이름 & 저장 위치 결정
  • 새롭게 생성된 액터는 별도의 레벨로 분리되어 현재 레벨에 종속된 상태
  • 액터 선택 > 디테일 > Level Edit > 편집: 그룹 안에서 개별적으로 편집 가능
  • 편집 > 변경사항 커밋: 한 그룹에 대한 변경사항 모든 그룹에 적용됨


폴리지 프레임 드랍 해결법

  • 폴리지(plants)는 나나이트 적용 X
    → 폴리지 원본 에셋의 폴리곤 개수 중요

  • LOD(Level of Detail)? 현재 카메라로부터 에셋이 멀어질 경우 자동으로 폴리곤 개수를 줄이면서 최적화하는 기능
  • LOD 0에서 폴리곤 개수 줄이는 법
    : LOD 0 > 감소 세팅 > 퍼센트 트라이앵글 > 100보다 작은 수 입력

  • 외부 제작 plants 에셋은 LOD 세팅 기본적으로 X
    → LOD 세팅 > LOD 개수 > 숫자(5~6 추천) 입력
    → 여러 단계의 LOD를 UE이 자동으로 최적화


컬링

? 현재 카메라를 기준으로 보이지 않는 부분은 렌더링 하지 않는 것

  • UE5에선 나나이트가 자동으로 cluster 단위로 컬링 → 렌더링 부담↓

profile
자라나는 감자

0개의 댓글