학습내용
언리얼엔진의 블루프린트(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의 종류
- Event(이벤트) : '~할 때'로 해석 조건, 모든 노드의 시작점, 노드를 받지 않음, 빨간색
- Function(함수, 명령어) : '~하라'로 해석
- Reference(참조) : '~를/을'로 해석 (주로 함수(명령어)를 실행할 대상을 지칭)
- 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이란 무엇인가?
'언리얼엔진' 카테고리의 다른 글
[언리얼 엔진4] 6. Cast, Custom Event, Blue Print (0) | 2021.09.29 |
---|---|
[언리얼 엔진4] 5. Material, Texture, Add, Multiply, LI (0) | 2021.09.26 |
[언리얼 엔진4] 4. 시한폭탄 만들기, Variable (0) | 2021.09.15 |
[언리얼 엔진4] 2. Coillision, Cinemaitcs, Sequencer (0) | 2021.09.08 |
[언리얼 엔진4] 1. 시작하기 (0) | 2021.09.01 |
댓글