레벨 생성
이번 시간에는 본격적으로 Collision을 다루기에 앞서 간단한 맵 세팅과 재질을 다루었다.
1. Floor 생성
Ctrl + N > Default > 바닥제거 > 큐브 불려와서 > 위치 reset, 크기 40*40*1
2. Wall 생성
바닥복사(Ctrl+W) > Scale x,y,z(1, 40, 5) > Transform z(300)
뷰포트 위에 이런거 보면서 안쪽으로 대충 세워주기
* 탭으로 뷰 바꾸면서 작업하면 수월하다
3. 아웃라이너 정리
보기깔끔하게 Floor, Wall으로 Rename 해서 정리해주었다.
Material(재질) 만들기
1. 폴더를 생성해준다
2. 뷰옵션 > 엔진 콘텐츠 표시
* View options에서 Engine 컨텐츠 옵션켜주면 기본적으로 엔진에서 사용되는 것들이 보여지게 된다
3. Material 폴더 > 머터리얼 > "MatMaterial" 생성
4. "MatMaterial" > Constant Vector 4 생성 > 베이스 컬러에 연결 > 값 RGBA(0.2, 0.2, 0.2, 0) 으로 설정
* Constant Vector 4 : 색상을 정의할 수 있는 상수
변수로 색상 변경하는 것도 뒤에 있을 강의에서 다룰 예정
5. Constant 생성 > 메탈릭에 연결 > 0.5값 넣어주기 (1일경우 완전한 메탈 재질이 됨)
* 메탈릭 : 금속재질 - float 하나만 들어감
6. 2. Constant 생성 > Roughness에 연결 > 0.5값 넣어주기 (0일경우 거친게 없으니 완전 맨들맨들함)
7. 저장 후 바닥에 재질 입혀주기
8. 풀레이어를 중간쯤에 올려두고 Collision 맵(Level) 저장하기
Collision(충돌) 정의
충돌의 종류
1. Overlap (겹침) : 다른캐릭터에게 맞았을때 그 캐릭터 지나감
2. Hit (막힘) : 칼이 캐릭터에 맞았을때 튕겨나온다, 총알 등
충돌체 (Collision)
1. Box
2. Sphere
3. Capsule
충돌을 정의하기 위해 필수적임
예제 실습
1. Blueprint > 큐브 블루프린트 생성 > "BP_01_Cube",
1) create > 블루프린트 클래스 > Actor
2) Component 추가 > Cube
2. Blueprint > 큐브 블루프린트 생성 > "BP_02_Vector"
1) create > 블루프린트 클래스 > Actor
2) Component 추가 > Cube
3. Blueprint > Actor 생성 > "BP_03_Collision" > Rendering 탭에 "Hidden in Game" 비활성화
화면에서 콜라이더와 블루프린트 엑터가 보이도록 함
4. "BP_03_Collision" > Box collision component 추가 > Sclae 1.5, 1.5, 3.0 > TextRenderer 추가
화면에서 잘 보이지 않기 때문에 글자를 추가해서 잘 보이도록 한 것임
5. TextRenderer를 다음과 같이 설정
6. TextRenderer 위치를 높여주기
7. 모드 > 큐브 생성 > "BP_03_Collision" 위치를 복사, 붙여넣기 > 조금 더 위쪽으로 올려주기 > Scale(0.5, 0.5, 0.5)
큐브를 중력에 의해서 떨어지게 하고, 이것을 통해 정보를 가져올 수 있도록 함
모빌리티 종류
1. Static(스태틱) : 집, 건물등의 위치고정 물체. 게임 실행상태에서는 움직일 수 없도록 고정되어있음. 라이트 맵핑이 적용되지 않음.
* 라이트맵 : 게임모드에서 빛 표현의 경우 실시간으로 그림자 연산이 진행되며 상당한 퍼포먼스를 소요시키기 때문에 몇몇 물체들의 라이트를 미리 구워놓는것
2. Stactionary(정지된) - 이동 불가능하지만 Cache 방식의 라이트 맵핑 사용
3. Movable(움직일 수 있는) - 무겁고 가장 느림, 실시간으로 라이팅을 사용
8. Cube > 모빌리티탭 > Mobable
큐브의 모빌리티 상태가 Static이면 움직임이 불가능하기 때문에 Movable로 바꿔주어야 함
9. Collision > 콜리전 프리셋 탭 확인
10. Physics > Simulate Physics 토글 활성화
이 토글을 활성화 시켰을 경우 물리연산을 할수있도록 다음과 같이 설정이 변경됨
1. 오브젝트가 자동으로 "Movable"로 변경됨
2. Collision > 콜리전 프리셋 이 PhysicsActor 로 변경됨
플레이를 눌러보면 물리연산이 되어 큐브가 떨어지는 것을 알 수 있음
'Unreal Engine > 게임클래스 - 언리얼엔진 기초' 카테고리의 다른 글
[11강] 객체 찾기와 반복문 (0) | 2023.07.25 |
---|---|
[10강] Collision (Overlap / Hit) (0) | 2023.07.24 |
[8강] State Machine (0) | 2023.07.19 |
[7강] 카메라 방향으로 이동과 줌 인/아웃 (0) | 2023.07.18 |
[6강] 카메라의 회전과 벡터의 특성 (0) | 2023.07.18 |