본문 바로가기

개발/내일배움캠프

02/04 블루프린트 연산

 

변수타입

https://dev.epicgames.com/documentation/ko-kr/unreal-engine/blueprint-variables-in-unreal-engine

 

언리얼 엔진의 블루프린트 변수 | 언리얼 엔진 5.7 문서 | Epic Developer Community

값을 가지거나 월드 내 오브젝트나 액터를 참조하는 프로퍼티입니다.

dev.epicgames.com

눈여겨볼만한 부분

문자열  클래스 https://dev.epicgames.com/documentation/ko-kr/unreal-engine/string-handling-in-unreal-engine

이름(Name) : 상수로 쓰이는 "이름"에 사용. 대소문자를 구분하지않고 내부적으로 해싱된 키값을 사용해 연산(검색, 비교)이 빠르고 가벼움.
텍스트(Text) : 로컬라이제이션 기능이 제공되는 텍스트로, 자막이나 UI등에 사용하는 텍스트에 유용함.

String : 일반적인 String변수타입.

 

액터 위치값을 표현하는 3종 벡터(위치), 로테이터(회전), 트랜스폼(크기, 스케일)

 

비교 등 연산자 종류

사칙연산과 비교연산자 등은 Operators 아래에

 

논리연산자는 Math - Boolean 아래에.

 

연산자말고 Make Literal Bool은 변수생성없이 그자리에서 Bool 만들어 쓰고싶을때 쓸만한 함수.

 

 

흐름 제어 노드

Utility-FlowControl-Switch아래에

 

Branch : Bool값에 따른 분기

Do N : Enter시 N번 실행, 이후 Reset호출시마다 N번 실행

DoOnes : 한번만 실행, 이후 Reset호출하지않으면 실행 X

FlipFlop : 호출시마다 출력을 번갈라 실행함.

ForLoop : FirstIndex부터 LastIndex까지 실행. 1~10이면 1부터 10까지 10번실행, 완료후 Completed호출

ForLoopWithBreak : 중단 가능한 ForLoop

Sequence : 일련의 이벤트를 순서대로 발동

 

열거형(Enum)

컨텐츠 드로어 블루프린트-열거형(Enumeration)

상수값을 묶어서 표현

생성된 열거형 파일을 더블클릭해 열어 수정 가능함.

열거형 자체 설명과 데이터들의 이름, 각각의 설명을 지정할 수 있음.

열거형을 위처럼 정의해두면 변수로 정의된 열거형데이터를 불러올 수 있음.

또한 열거형 데이터를 지원하는 흐름 제어문 등이 있기 때문에 적절히 사용하는것이 도움될 것

 

 


내배캠 퀘스트

조명과 머티리얼 기본 적용

조명(Light) 종류

  • Directional Light: 태양빛처럼 전체 씬에 영향을 줌
  • Point Light: 전구처럼 특정 위치에서 빛을 방사함
  • Spot Light: 특정 방향으로 빛을 집중시킴
  • (추가)SkylLight : 환경광을 시뮬레이션하는 액터로, 레벨 전체의 그림자 영역을 밝혀주는 역활을 함. 

환경광(SkyLight) 유무 차이 비교

왼쪽은 환경광이 있고 오른쪽은 없음

디렉셔널라이트에 의해 가려진 그림자 부분의 차이를 눈으로 확인해보기

머티리얼(Material)이란?

오브젝트에 적용되는 재질로, 색상뿐 아니라 반사, 광택, 질감 등 표현 가능

Material Instance를 사용하면 기존 머티리얼을 빠르게 커스터마이징 가능

 

직접 구현해보기

[Step 0] 프로젝트 생성

File → New Project → Games → Third Person(또는 Blank) 선택

❗️Starter Content 체크❗️

프로젝트 이름 지정 후 Create 클릭

 

[Step 1] 조명 추가

Directional Light 하나 배치 (태양 역할)

Place Actors → Lights → Directional Light 드래그 앤 드롭

Point Light 2개 이상 배치해 내부 조명 효과 확인

각 라이트의 밝기(Intensity)와 색상(Color) 조정해보기

[Step 2] 머티리얼 적용

StarterContent > Materials 폴더에서 다양한 머티리얼 확인

바닥에는 M_Metal_Gold, 벽에는 M_Concrete_Poured 등 각각 다르게 적용

필요 시 Material Instance 만들어 색상만 바꿔보기

퀘스트 내용대로 바닥은 M_Metal_Gold , 벽은 M_Concrete_Poured로 설정하고 다른벽은 눈에띄던 M_Glass로 설정해보았다.

유리는 투명이라 모든 빛이 투과되는게 인상적

바닥 Gold는 메탈릭효과가있는지 태양빛이 반사되어 눈부신듯함

벽과 바닥의 마테리얼을 격자패턴으로 반복하는식으로 출력하면 더 잘나올 것 같은데... 방법을 모르겟다.

 

 

[Step 3] 라이트의 그림자 확인

다양한 위치에 오브젝트를 배치하고, 빛이 어떻게 반응하는지 확인

그림자 방향, 세기 등을 조정하며 결과 비교

굳이 배치를 변경하지 않고 카메라 방향 위치를 Directional Light를 등지도록 배치.

반사각때문에 바닥이 더이상 눈부시지도 않다.

붉은색 Point Light가 아까는 Directional Light때문에 잘 보이지 않았는데 카메라 위치때문에 이번엔 바닥에 반사되어 존재감이 드러난다.

생각해보니 이전에는 오브젝트에 바닥도 가려서 안보였나 싶다.

 

 


다른 퀘스트?

1. Unreal Engine 마켓플레이스 탐색

Unreal Engine 마켓플레이스에 접속하여 관심 있는 무료 에셋 1~2개를 검색하세요.

에셋을 선택할 때, 다음 조건을 충족해야 합니다:

에셋의 카테고리(예: 환경, 캐릭터, 소품 등)를 명확히 정의.

프로젝트에 사용할 수 있는 라이선스가 포함된 에셋.

다운로드 가능한 파일 크기가 적절한지 확인(큰 용량은 프로젝트 환경에 부담이 될 수 있음).

 


2. 다운로드 인증하기

다음 내용을 포함한 TIL을 제출해주세요.

마켓플레이스에서 다운로드한 에셋의 이름과 간단한 설명.

다운로드를 결정하게 된 계기.

에셋명 : FANTASTIC - Village Pack

카테고리 - 환경>도시 및 마을

로우폴리 감성?의 에셋 패키지로 마을을 구성할 여러 작은 에셋부터 건물 모양 오브젝트,

랜드스케이프용 마테리얼 등도 지원함 

다만 건물 내부는 구현되어있지 않음!

 

다운로드 결정 이유는 이전 과제중 맵 만들기 시에 간단하게 구성해보기 좋아보였음.

 

에셋명 : Stylized Log Cabin

카테고리 : 환경 > 판타지

자연경관이 멋진 랜드스케이프와 자연환경(바위, 식생환경)에셋으로 구성

 

 

마찬가지로 맵 만들기 퀘스트때 사용해보고 싶어 다운로드 하였음

다만 이 에셋은 건물의 구성(벽, 천장, 바닥, 기둥 등)을 에셋으로 다루고 있어 관련 내용이 숙달된 뒤에 사용해봐야할듯