강의 배운내용 작성중...
오버랩(Overlap) : 겹치다
언리얼에서 오버랩은 엑터 콜리전이 겹쳤을 때(닿았을 때)를 의미함.
특정 영역에 콜리전을 설정하고, 여기에 진입 또는 이탈했을때 특정 함수나 이벤트를 실행하는 등의 역활을 할 수 있음.

위 예시는 콜리전 범위에 진입(BeginOverlap)했을때 진입한 액터(Other Actor)를 BP_Character로 변환하고,
BP_Character로 명시적 변환에 성공 - 즉 플레이어라면 "As BP Character" 변수에 저장한다.
변수명이 저런 이유는 Promote to variable 기능을 통해 자동 생성했기 때문인데 변경해도 무방.
반대로 이탈(EndOverlap)하는 경우 동일하게 명시적변환을 시도하고, 변수에 Set함수를 호출하되 값을 지정하지않음.
이는 undefined값을 지정하도록 하여, 변수가 가리키는 것이 없도록 하는 것임.
명시적변환시 Cast Failed는 말그대로 타입이 안맞아 실패할때 호출되는 분기점이라 따로 체크할 필요는 없음.

주의할 점은 Collision-Generate Overlap Events여부를 확인해야함.
콜리전은 충돌 시스템을 의미하며 게임 내 시뮬레이션 되는 물리적인 충돌임
콜리전은 사용하는 채널에 따라 특정 물체와는 충돌이 일어나지 않게 할수도 있는데,
내용이 복잡해 공식 문서를 참고
언리얼 엔진의 콜리전 반응 레퍼런스 | 언리얼 엔진 5.7 문서 | Epic Developer Community
언리얼 엔진의 콜리전 프리셋 섹션에 대한 레퍼런스 가이드입니다.
dev.epicgames.com
콜리전은 Player Collision과 Visible Collision이 따로 존재하는데,
Player Collision은 플레이어 폰(Object Type이 World Dynamic인?)이 충돌할 수 있는 콜리전을 의미하고
Visible Collision은 랜더링 관련된 충돌으로
뷰포트에서 각각을 확인해 볼 수 있다.



이 player Collision은 언리얼 엔진 에디터 내에서 스태틱 메시 에디터 자체기능으로 생성/삭제가 가능하다

스태틱 매시 에디터 상단의 콜리전-Remove Collision 을 통해 삭제,
Auto Convex Collision을 통해 콜리전 생성

위 값들을 높일수록 더 복잡하고 정밀한 충돌을 가지게 생성되지만, 필요에 맞게 설정하는것이 최적화에 중요할 것.

콜리전 설정 중 시뮬레이션 히트 이벤트 생성이 활성화 된 경우
움직이는 물체와 충돌했을 때 On Component Hit 이벤트가 발생함.
이를 이용해 움직이는 두 물체가 충돌(닿았을)할 때 이벤트를 실행하도록 할 수 있음..
이전 내용에서 이어지는 퀘스트
캐릭터 이동 구현 (Part 2)
오늘의 목표 : 캐릭터에 점프, 카메라 회전 기능을 추가하고, 자연스러운 조작을 구현
[Step 1] 점프 기능 활성화
기본 CharacterMovementComponent를 이용한 점프는 매우 간단하다
Jump함수를 호출하면, 컴포넌트가 가진 값을 기반으로 점프를 실행하도록 할 수 있다.


점프에 해당하는 인풋 이벤트가 발생하면 점프를 호출하고.
Completed 이벤트에서 StopJumping을 발생시키는데, 점프는 당연히 점프를 발생시키고 StopJumping은 무엇인가?
몇몇 영상을 찿아본 결과 알아낸 내용 -
함수에 대한 설명은 다음과 같다

요약하면 대충 Jump가 호출된 후 StopJumping호출하지 않으면 JumpMaxHoldTime에 도달할때까지 Z축 가속을 적용한댄다.
이건 캐릭터 컴포넌트에 관련된 내용인데, 캐릭터무브컴포넌트말고 캐릭터액터컴포넌트의 디테일패널을 보면 아래 내용이 있다.

캐릭터 아래에 Jump Max Hold Time값이 있는데 이는 점프가 호출되었을때
최대 얼마만큼의 시간(초)동안 점프를 유지할지를 결정한다.
기본값은 0으로 되어있어 사실상 아무런 기능이 없는 상태였다.
이를 변경하여 길게눌러 더 높게 점프할 수 있다.
쉽게 플랫포머 게임의 롱점프-숏점프 테크닉을 생각하면 될듯
이를 이용하면 길게 눌러 높은 점프를, 짧게 눌러 낮은 점프를 구현하도록 할 수 있다.
[Step 2] 이동 속도와 점프 높이 조절
캐릭터 컴포넌트에서 Max Walk Speed값과 Jump Z Velocity를 조절해보기.


단순 값 조절로 즉시 적용된다.
[Step 3] 카메라 회전 설정
- MyCharacter > SpringArmComponent 선택
- Use Pawn Control Rotation: 체크
- CameraComponent 선택
- Use Pawn Control Rotation: 체크 해제
- MyCharacter 블루프린트의 Class Defaults에서:
- Use Controller Rotation Yaw: 체크
각 컴포넌트에서 해당 설정을 변경,
템플릿의 3인칭캐릭터 설정을 기준으로 달라지는것은 3번째인 Use Controller Rotation Yaw를 사용하는것인데
차이점은 카메라의 Yaw회전을 캐릭터의 회전에 즉시 적용하는지 차이이다.
이를 사용하면 게임 사이퍼즈처럼 카메라회전 = 캐릭터 회전이 되어 캐릭터 뒤통수만 보게된다.
기존에는 조작을 안하는 상태로 카메라를 돌려 앞모습을 볼 수 있었음.
[Step 4] 테스트 플레이
약간 설정이 바뀌었는데 어제와 비교하면
1. 캐릭터 뒤통수에 카메라가 고정됨
2. Jump Max Hold Time을 설정하여 원한다면 조금더 높게 점프 가능
3. 이동속도가 빨라짐
동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.
끝
캐릭터 움직임에 대한 설정갑싱 다양한데, 몇개 더 알고 갈 수 있었지만 아직 모르는 설정값이 많음.
더 찿아봐야 좋은 움직임을 구현해볼 수 있을듯.
점프 홀드기능은 맵, 레벨디자인에 따라 설정을 잘 해야 할듯. 아에 사용하지 않거나.
안쓴다면 스탑점프기능을 없애도 상관없지 않을까싶기도 한데 또 없어도 문제없을것도같다
'개발 > 내일배움캠프' 카테고리의 다른 글
| 02/10 랜드스케이프,머터리얼,폴리지,라이팅 (0) | 2026.02.10 |
|---|---|
| 02/09 - 퀘스트 (0) | 2026.02.09 |
| 02/05 AI블루프린트 구성해보기 & 퀘스트 (0) | 2026.02.05 |
| 02/04 블루프린트 연산 (0) | 2026.02.04 |
| 02/03 애니메이션 블루프린트와 블렌드 스페이스 등 (0) | 2026.02.03 |