태그 보관물: unreal

Unreal Engine 특정 액터 충돌 무시하는 방법

개요

개발 중인 게임에 주기적으로 투사체를 플레이어에게 발사하는 적 캐릭터를 추가 했습니다. 적 자체와 플레이어의 충돌을 감지하기 위해 Capsule Component 가 포함되어 있었습니다. 여기에 투사체를 발사하도록 공격 방법을 추가했는데 둘 간의 간섭이 발생했습니다.

문제

적이 플레이어를 감지해서 투사체를 발사하기 전까지는 문제가 없었습니다. 투사체에 플레이어가 맞았을 경우의 처리를 위해 로직을 변경하다 보니 발생한 문제 였습니다. Collision Presets 관련한 부분을 조정해서 원하는 이벤트가 발생하도록 했습니다. 이렇게 하니 적과 적이 스스로 생성한 투사체가 서로 충돌하는 현상이 있었습니다. 이런 유형의 문제를 해결하는 방법을 알아보도록 하겠습니다.

Object Channels 항목 추가

Project Settings > Engine > Collision 선택해서 다음과 같이 Object Channels 항목을 추가합니다(EnemyProjectile).

Object Channels 항목 추가

Object Type 변경

다음과 같이 투사체 블루프린트의 Collision Presets 는 Custom, Object Type은 EnemyProjectile 로 설정합니다.

Object Type 설정

적 블루프린트에서 EnemyProjectile 무시 하도록 설정

투사체를 생성하는 적 블루프린트의 Collision Presets 는 Custom, Collision Responses > EnemyProjectile 항목은 Ignore 로 선택하면 됩니다. 이렇게 하면 투사체를 생성한 적과 투사체가 서로 충돌하지 않게 됩니다.

추가된 EnemyProjectile Ignore 설정

Unreal Engine 게임 패드 지원 시 Dead Zone 설정하기

개요

게임 캐릭터의 움직임을 제어하기 위해 키보드, 마우스, 게임 패드를 폭 넓게 지원해서 확장성을 높일 수 있습니다. 게임 패드의 경우 여러가지 이유로 Thumb Stick이 가만히 있어도 동작하는 경우가 있습니다. 이것을 방지하는 방법을 알아보도록 하겠습니다.

Dead Zone

게임 패드에는 Dead Zone 이라는 개념이 있습니다. Thumb Stick 을 최대한 밀었을 때 1, 가만히 있으면 0의 값이 입력됩니다. 오랜 사용이나 여러가지 이유로 정확히 동작하지 않는 경우가 있는데 이런 경우 Dead Zone 을 설정하면 됩니다.

Unreal Engine 에서 Dead Zone 설정

생성한 Input Mapping Context를 엽니다.

Input Context Mapping 에 Dead Zone Modifier 추가

게임 패드의 Thumb Stick 항목에 Modifier를 추가해서 Dead Zone을 설정할 수 있습니다.

Modifier를 추가하고 Dead Zone을 선택하고 적절한 수치를 설정하면 됩니다.

이번 글에서는 게임 패드 Dead Zone 설정해 대해서 알아 보았습니다.