1.1. AProjectileBase

부모 클래스: 1. AActor

1. Configs


2. Component


2.1. Collision


Collision 컴포넌트는 투사체나 오브젝트의 충돌 영역을 정의합니다. Type 속성에 따라 Box, Sphere, Capsule, Spline 등 다양한 기하학적 형태의 충돌체를 생성할 수 있으며, 공통적으로 물리 엔진 등록 및 충돌 이벤트(OnCollision) 바인딩을 지원합니다.

2.1.2. 속성


2.1.2.1. 공통


속성 키 (Key) 타입 기본값 설명
Type string 필수 콜리전 형태를 결정합니다. (Box, Sphere, Capsule, Spline)
Damage float 0.0 충돌 시 피격 대상에게 전달할 데미지 수치입니다.
Delay float 0.0 재타격 방지 시간. 타격 후 이 시간(초) 동안은 해당 액터를 다시 치지 않습니다.
MaxHit int 0 최대 타격 횟수. 이 횟수만큼 타격하면 더 이상 충돌하지 않습니다. (0은 무제한)
TargetTags string[] [] 타격 대상 필터링. [Monster]처럼 입력하며, 해당 태그를 가진 대상만 타격합니다. 입력값이 없을 시, 타격에 제한을 두지 않습니다.
Debug bool false true 설정 시 충돌 영역 및 데미지 수치에 따른 디버그 라인을 표시합니다.
Interval float 1/60 고급. 충돌 이벤트 확인을 할 빈도입니다. 0일 경우 매 프레임 충돌을 확인합니다.

2.1.2.2. Box


속성 키 (Key) 타입 기본값 설명
Extent float3 (0 0 0) 박스의 중심에서 각 축 방향으로의 반지름(Half-size)

2.1.2.3. Sphere


속성 키 (Key) 타입 기본값 설명
Radius float 0.0 구체의 반지름

2.1.2.4. Capsule


속성 키 (Key) 타입 기본값 설명
Radius float 0.0 캡슐의 반지름
HalfHeight float 0.0 캡슐의 중심에서 끝점까지의 절반 높이

2.1.2.5. Spline


속성 키 (Key) 타입 기본값 설명
Asset string 필수 콜리전 경로로 사용할 스플라인 에셋 경로
Segment int 1 스플라인을 따라 배치할 검사 객체(Capsule)의 개수
BoundingBox bool true 세부 검사 전, 전체 영역 박스 체크로 최적화 수행 여부

2.2. Movement


이 컴포넌트는 투사체의 물리 이동, 유도(Homing), 비행 궤적(Waypoint), 수명을 모두 관리하는 핵심 컴포넌트입니다. 모든 시각적 요소(Mesh, Particle)와 충돌체(Collision)는 이 컴포넌트의 자식으로 등록되어 이동 경로를 공유합니다.

2.2.1. 기본 물리 및 수명 (Physics & LifeCycle)


가장 기본적인 이동 수치와 투사체의 존재 시간을 설정합니다.

속성 키 (Key) 타입 기본값 설명
InitSpeed float3 (0 0 0) 발사 시의 초기 속도입니다. (로컬 축 기준 회전 적용 가능)
MaxSpeed float 0.0 투사체의 최대 속도 제한입니다. (0은 제한 없음)
Acceleration float 0.0 전방 추진 가속도입니다. (초당 가속량)
GravityScale float 0.0 중력 배율입니다. (1.0 적용 시 표준 중력 가속도 적용)
LifeSpan float 5.0 투사체의 유지 시간(초)입니다. 종료 시 자동 제거됩니다.
OrientToMovement bool true true시 컴포넌트를 이동 방향으로 회전시킵니다.

2.2.2. 호밍 시스템 (Homing System)


적을 추적하는 알고리즘과 회전 성능을 설정합니다.

속성 키 (Key) 타입 기본값 설명
HomingStrategy string None 타겟 선정 전략. (Nearest: 최단거리, Angle: 조준선 기준)
HomingTags string[] [] 추적 대상 필터. 특정 태그를 가진 액터만 추적합니다.
HomingRange float 10.0 탐색 반경. 타겟을 인지할 수 있는 최대 거리입니다.
HomingAngle float 45.0 탐색 각도. (Strategy가 Angle일 때 정면 기준 허용 범위)
HomingTurnRate float 0.0 회전력. 초당 회전 가능한 최대 각도(Degree)입니다.
HomingRetargetTick float 0.0 재탐색 주기. 타겟을 갱신하는 시간 간격입니다.
HomingStopRange float 0.0 타겟과 가까워졌을 때 유도를 중지하는 거리입니다.
ForgetPrev bool true 유도가 끝난 타겟을 다시 추적하지 않을지 결정합니다.

2.2.3. 웨이포인트 시스템 (Waypoint System)


타겟에게 가기 전 거쳐가는 중간 지점을 설정하여 곡선 비행 연출을 구현합니다.

속성 키 (Key) 타입 기본값 설명
UseWaypoint bool false 경유지 시스템 사용 여부입니다.
WpSpace string Direction 좌표계. (Direction: 진행 방향 상대축, World: 절대축)
WpBase string Target 원점. (Actor: 발사 위치 기준, Target: 타겟 위치 기준)
WpType string Value 계산 방식. (Value: 고정 거리, Adaptive: 타겟 거리 비례)
Waypoints float3[] [] 순차적으로 거쳐갈 상대 좌표(오프셋) 리스트입니다.

2.2.4. 바운스 시스템 (Bounce System)


투사체가 벽이나 바닥 등 장애물에 충돌했을 때 튕겨 나가는 물리 반응을 설정합니다. 이 기능은 단순히 속성만 켜는 것이 아니라, 반드시 BindCollision 액션을 통해 특정 콜리전과 연결되어야 작동합니다.

속성 키 (Key) 타입 기본값 설명
ShouldBounce bool false 충돌 시 튕김 로직을 활성화할지 여부입니다.
Bounciness float 1.0 반발 계수. 튕길 때 유지되는 속도의 비율입니다. (1.0은 속도 유지, 0.5는 속도가 절반으로 감소)
MaxBounces int 0 최대 튕김 횟수. 설정한 횟수만큼 튕긴 후에는 더 이상 튕기지 않습니다. (0은 무제한)

2.3. WObjectAnimComponent (Anim)


이 컴포넌트는 미리 제작된 애니메이션 파일을 로드하여 투사체의 위치, 회전, 크기를 프레임 단위로 제어합니다. Movement 컴포넌트의 자식으로 등록하여, 투사체가 날아가는 도중 발생하는 부가적인 애니메이션(예: 회전하며 날아가는 화살, 위아래로 흔들리는 미사일 등)을 표현하는 데 사용합니다.

2.3.1. 재생 제어 (Playback Control)


애니메이션의 기본적인 재생 방식과 속도를 설정합니다.

속성 키 (Key) 타입 기본값 설명
Asset string "" 로드할 애니메이션 파일 경로 또는 명칭입니다.
PlayRate float 1.0 애니메이션 재생 속도 배율입니다. (2.0은 2배속)
Loop bool true 애니메이션 반복 재생 여부입니다.
AutoPlay bool true 생성과 동시에 애니메이션을 재생할지 결정합니다.

2.3.2. 루트 모션 설정 (Root Motion)


애니메이션 파일에 기록된 좌표 변화를 실제 컴포넌트의 트랜스폼에 어떻게 투영할지 결정합니다. 특정 축만 선택적으로 적용하여 유연한 연출이 가능합니다.

속성 키 (Key) 타입 기본값 설명
UseLoc bool3 (false false false) 애니메이션의 X, Y, Z 위치값을 적용할지 여부입니다.
UseRot bool3 (false false false) 애니메이션의 Pitch, Yaw, Roll 회전값을 적용할지 여부입니다.
UseScale bool3 (false false false) 애니메이션의 X, Y, Z 크기 변화를 적용할지 여부입니다.

3. Action


3.1. Particle


Particle은 지정된 파티클 에셋(이펙트)을 투사체의 위치에서 재생하는 액션입니다. 주로 폭발, 발사 효과, 피격 연출 등에 사용됩니다.

3.1.1. 속성


속성 키 (Key) 타입 기본값 설명
Asset string 재생할 파티클 에셋의 이름입니다. (예: P_Explosion)

3.2. Animation


Animation은 특정 컴포넌트에 애니메이션을 재생하거나 제어하는 액션입니다. 재생 속도, 반복 여부뿐만 아니라 특정 축(X, Y, Z)의 변화만 선택적으로 적용할 수 있는 기능을 제공합니다.

3.2.1. 속성


속성 키 (Key) 타입 기본값 설명
Target string this 애니메이션을 재생할 대상 컴포넌트 이름입니다.
Asset string 재생할 애니메이션 에셋의 이름입니다.
Anim string 에셋 내에서 재생할 특정 애니메이션 데이터의 이름입니다.
PlayRate float 1.0 애니메이션의 재생 속도 배율입니다.
Loop bool false 애니메이션의 반복 재생 여부입니다.
Loc string XYZ 애니메이션 위치값을 적용할 축을 지정합니다. (예: Z, XY)
Rot string XYZ 애니메이션 회전값을 적용할 축을 지정합니다.
Scale string XYZ 애니메이션 크기값을 적용할 축을 지정합니다.

==Loc, Rot, Scale==은 아무 설정 하지 않을 시 모든 속성의 모든 좌표계 값을 샘플링 하지만, 이중 하나라도 설정하게 되면 나머지 속성은 기본적으로 샘플링 되지 않습니다.

<Animation Loc = "X" .../>

위와 같이 Loc의 X값을 샘플링하도록 하게 할 경우, Rot와 Scale은 샘플링 하지 않게 됩니다.

3.3. CurveBind


CurveBind는 특정 컴포넌트가 실행중인 애니메이션 커브 데이터를 실시간으로 특정 속성(Property)에 연결하는 액션입니다. 이를 통해 물리 수치나 컴포넌트 속성을 애니메이션 프레임에 맞춰 정교하게 제어할 수 있습니다.


<CurveBind Target="MaxSpeed" Comp="Mesh" Curve="SpeedCurve" Modifier="true" />

3.3.1. 속성


속성 키 (Key) 타입 기본값 설명
Target string 커브 값을 적용할 대상 속성 이름입니다. (예: MaxSpeed, GravityScale)
Comp string RootComponent 커브 데이터를 추출할 컴포넌트의 이름입니다. 해당 컴포넌트는 Anim = "true"속성이어야 합니다.
Curve string 애니메이션 파일 내에 정의된 커브 에셋의 이름입니다.
Modifier bool false true일 경우 실행 시점의 원본값에 커브를 곱하며, false일 경우 값을 덮어씁니다.

3.4. BindCollision (Action)


이 액션은 Movement 컴포넌트와 Collision 컴포넌트를 물리적으로 연결하여, 충돌 이벤트가 발생했을 때 Movement가 물리 이벤트 로직을 실행하게 합니다.(ex. Bounce)

3.4.1. 속성 (Properties)


<Action> 태그 내에서 정의하며, 주로 OnStart나 특정 이벤트 시점에 실행합니다.

속성 키 (Key) 타입 설명
Movement string 반사 로직을 수행할 Movement 컴포넌트의 이름입니다.
Collision string 충돌을 감지할 Collision 컴포넌트의 이름입니다.

4. Events


4.1. OnHit


충돌이 발생했을 때 호출됩니다. Filter 속성을 통해 특정 태그를 가진 대상에게만 반응하도록 제어할 수 있습니다.

속성 키 (Key) 타입 기본값 설명
Target string 필수 충돌을 감지할 Collision 컴포넌트의 이름입니다.
Filter string[] [] 특정 태그(예: Monster)를 가진 대상과 충돌했을 때만 이벤트를 발생시킵니다. 생략 시 모든 충돌에 반응합니다.

4.2. OnLockon


호밍 시스템이 추적할 타겟을 포착(Lock-on)했을 때 호출됩니다.

속성 키 (Key) 타입 기본값 설명
Target string 필수 락온 상태를 감시할 Movement 컴포넌트의 이름입니다.

4.3. OnBounce


투사체가 벽이나 장애물에 부딪혀 반사(Bounce)되는 시점에 호출됩니다.

속성 키 (Key) 타입 기본값 설명
Target string 필수 반사 이벤트를 감시할 Movement 컴포넌트의 이름입니다.

4.4. OnAnimStop


재생 중인 애니메이션이 종료되었을 때 호출됩니다. (반복 재생(Loop) 설정이 false인 경우에만 유효합니다.)

속성 키 (Key) 타입 기본값 설명
Target string 필수 애니메이션 종료를 감시할 Anim 컴포넌트의 이름입니다.