본문 바로가기
언리얼엔진

[언리얼 엔진4] 3. Blueprint, Class, 고장난 전등 만들기

by 쿠킷리스트 2021. 9. 15.

학습내용

언리얼엔진의 블루프린트(Blueprint) 사용법 및 기능 검색방법을 익히고, 고장난 전구를 만들어 보기

 

Blueprint
- Open Blueprint Class : 개별 코드를 짠다, 1인칭으로 코드를 짠다. 블루 프린트를 클래스로.
- Open Level Blueprint : 전체를 관장, 전지적 작가 시점으로 코드를 짠다.

  • Print String : 문자열 출력.
  • Light를 껐다 킬 때 Details - Rendering - Visible 체크 on/off
  • Set Visibility : Light를 껏다 켜주기위한 노드.
    ㄴ New Visibility를 체크하면 Light가 보이고 체크 해제하면 Light가 안보임.
  • Alt + 클릭하면 노드가 끊어짐.

Blueprint의 종류

  1. Event(이벤트) : '~할 때'로 해석 조건, 모든 노드의 시작점, 노드를 받지 않음, 빨간색
  2. Function(함수, 명령어) : '~하라'로 해석
  3. Reference(참조) : '~를/을'로 해석 (주로 함수(명령어)를 실행할 대상을 지칭)
  4. Variable(변수) : '~만큼' (주로 숫자를 통해서 양을 표시)

Blueprint를 쉽게 만드는 법

  • 영어식으로 문장을 만들 필요가 있음.
  • "키보드의 J를 눌렀을 때(E), Visible을 세팅하라(F)."
  • 노드를 모드 외울 수 없기 때문에 구현하고 싶은 것은 문장으로 만들어 찾는다면 훨씬 수월함
  • "~할 때(E), 무엇을(R), 얼마만큼(V) 세팅하라(F)"

Volumes

  • 언리얼에서 공간을 말할 때 Volumes이라고 한다.
  • Trigger Volume : 어떤 구역이 있을 때 누군가 들어오거나 나올 때 어떠한 일을 하라할 때 사용
  • "트리거 볼륨 안으로 들어온다면, 전등의 Visible을 꺼라"
  • 블루프린트에서 우클릭하면 Event, Function, Reference 모두 생성가능.
  • OnActorBeginOverlap : Volume에 들어오면 작동하라.
  • OnActorEndOverlap : Volume에서 나가면 작동하라.
  • toggle : 켯따 껏다, 왔다 갔다, on/off처럼 두 상태 중 하나를 선택하는 데 쓰는 것.
  • toggle을 사용하면 하나의 key로 on/off를 만들 수 있음.

고장난 전등 만들기

  • EventBeginPlay : 시작할 때 한 번만
  • Event Tick : 1분에 60번 틱
  • 1초에 한번씩 껐다 켜지는 조명 : EventTick - Delay(1초 설정) - Toggle Visibility
  • 노드 선에 더블클릭하면 선의 위치를 바꿀 수 있는 점을 생성하고 이를 이동하면 선을 정리할 수 있음.
    ㄴ Ctrl을 누른 상태에서 점을 옮길 수 있음.
  • 불규칙하게 깜빡이기 Delay - Duration에서 노드를 끌어와 Random Float in Range 생성 후 값 입력.
  • "불이 깜빡일 때 색을 바꾸어라."
  • Set Light Color, Make Color 활용.
  • 언리얼은 대부분의 숫자가 0~1.0 사이다.(RGB 값은 0~255를 0~1.0으로 나타냄)
    ㄴ 어떠한 포맷의 숫자가 오더라도 연산하기 쉽고, 직관적으로 이해할 수 있게 0~0.1(0~100%)로 나타냄.
  • Light Type
    ㄴ Movable : 라이트 혹은 라이트 앞의 액터가 움직이더라도 모두 빛계산을 할 수 있도록 하는 것
    ㄴ Stationary : Movable과 Static의 중간.(효율을 위해, 간단한 인터렉션, 너무 세밀한 디테일이 필요없을 때)
    ㄴ Static : 고정되고 변하지 않는 라이트로 인터렉션이 없음.(주변 액터에 라이트가 비춰진 듯한 텍스쳐를 씌운 것)

Class, Blueprint Class

  • 언리얼에서 Content Browser에 있는 모든 것이 Class.
  • 위에서 만든 등을 Class로 만들면 무한히 쉽게 복제할 수 있다.
  • 자신이 만든 Blueprint를 Class로 만들고 싶다면 Blueprint Class를 사용하면 된다.
  • Content Browser에서 우클릭, Blueprint Class - Actor 선택.
  • Actor > Pawn > Character > Controller
    • 액터가 가장 큰 범위이고 나머지를 포함하고 있음.
    • 액터의 모든 기능이 아니라 일부만 사용해도 될 때 더 작은 단위를 사용해 효율성을 높임.(용량을 줄임)
  • 생성한 Blueprint Class 더블클릭.

  • 좌측 Add Component를 클릭하여 Static Mesh 추가.
  • 불러온 Static Mesh를 클릭하고 Detail 창의 Static Mesh에서 Lamp 검색하여 추가.
  • 좌측 Add Component를 클릭하여 Point Light 추가. 값 설정. Compile.
  • 방금 설정한 BP를 뷰포트에 넣어주면 잘 만들어짐.
  • 흰색 구는 기준점을 나타냄. 거슬리면 아무런 액터를 DefaultSceneRoot 위에 덮어쓰면 사라짐.
  • Event Graph, 좌측 Component를 PointLight 가지고 와서 이벤트 생성.
  • 접촉 시 동작할 수 있도록하기.
    • 좌측 Component에서 Trigger Volume이 검색이 안되기 때문에 Collision으로 검색.
    • 크기를 키워주고 Box Collision을 Event로 생성.
    • On Component Begin Overlap 생성 후 노드 연결.

 

궁금한 점

Debug, Debuging이란 무엇인가?

댓글