캐릭터 이동 파라미터

개요

OVERDARE에서는 기본 Humanoid 속성 외에도 캐릭터의 조작감과 움직임을 정밀하게 제어할 수 있는 확장 프로퍼티들을 제공합니다.

이 기능들은 크리에이터가 캐릭터의 이동, 점프, 낙하, 마찰 등을 세밀하게 조정하여 게임 장르와 콘셉트에 맞는 조작감을 구현할 수 있도록 설계되었습니다.

기능 구성

캐릭터 고급 제어 속성은 StarterPlayer 또는 Humanoid 인스턴스에서 설정할 수 있으며, 설정된 값은 해당 Humanoid가 포함된 모든 캐릭터에 즉시 반영됩니다.

일부 속성은 0으로 지정할 경우 동작을 제한할 수 있으며, 이는 게임 디자인에 따라 점프 불가, 이동 제한, 중력 변화 등 다양한 효과를 줄 수 있습니다.

StarterPlayer에서 확인 가능한 Humanoid 관련 프로퍼티
Humanoid에서 확인 가능한 이동 파라미터

카테고리별 확장 기능

이동

캐릭터의 기본 이동 속도와 방향 전환·감속, 경사로 이동 가능 범위를 제어합니다.

속성
설명

MaxAcceleration

캐릭터가 목표 속도까지 도달할 수 있는 최대 가속도

MaxWalkSpeed

캐릭터가 이동할 수 있는 최대 속도

MaxSlopeAngle

캐릭터가 오를 수 있는 최대 경사각

GroundFriction

이동 중 방향 전환·감속 시 적용되는 지면 마찰

RotationSpeed

캐릭터가 회전하는 속도

WalkingDeceleration

걷기/달리기 상태에서 멈출 때 감속량

세부 동작 내용

  • MaxAcceleration

    • 값이 크면 캐릭터가 가볍게 튀어나가는 느낌으로 즉각적인 반응을 보입니다.

    • 값이 작으면 가속이 천천히 붙어, 무거운 로봇이나 탱크 같은 움직임을 연출할 수 있습니다.

    • 레이싱이나 액션 게임처럼 즉각적인 반응성이 중요한 경우는 높은 값이, RPG나 시뮬레이션처럼 무게감 있는 움직임을 원할 때는 낮은 값이 적합합니다.

  • WalkingDeceleration

    • 값이 크면 제동력이 커서 입력을 놓자마자 거의 즉시 멈춥니다.

    • 값이 작으면 관성에 의해 캐릭터가 서서히 멈추며, 스케이트나 슬라이딩 같은 표현이 가능합니다.

    • 이 값과 GroundFriction을 함께 조절하면 "제동이 강하지만 커브는 미끄러운" 복합적인 조작감도 구현할 수 있습니다.

  • MaxSlopeAngle

    • 값을 낮추면 조금만 경사가 있어도 오르지 못해 특정 지형 접근을 제한하는 기믹을 만들 수 있습니다.

    • 값을 높이면 거의 수직에 가까운 벽도 오를 수 있어 비현실적이지만 독특한 움직임을 연출할 수 있습니다.

  • GroundFriction

    • 값이 크면 캐릭터가 회전이나 정지할 때 더 빨리 속도를 줄이며, 커브를 돌 때도 제자리에 가깝게 방향을 틀 수 있습니다.

    • 값이 작으면 캐릭터가 정지할 때는 오래 미끄러지고, 커브를 돌 때도 원심력에 의해 크게 밀려 나가면서 넓은 회전 반경을 가집니다.

  • RotationSpeed

    • 값이 크면 입력 방향으로 즉시 회전해 빠른 대응이 가능하지만 다소 기계적인 느낌이 날 수 있습니다.

    • 값이 작으면 방향 전환이 느려져, 무게감 있는 전환이나 부드러운 연출에 적합합니다.

    • 커브 도는 체감은 GroundFriction과 함께 결정되므로, 두 값을 조합해 원하는 핸들링을 설계할 수 있습니다.

실제 동작 예시

[GroundFriction]

GroundFriction = 16 (기본값)
GroundFriction = 1

[RotationSpeed]

RotationSpeed = 3,000 (기본값)
RotationSpeed = 300

점프

기본 점프와 변형 동작(연속 점프, 밟기 반동 등)을 제어합니다.

속성
설명

MaxJumpCount

캐릭터가 연속해서 점프할 수 있는 최대 횟수

StompJumpMultiplier

다른 캐릭터를 밟았을 때, 기본 점프 높이에 곱해져 적용되는 자동 반동 비율

세부 동작 내용

  • MaxJumpCount

    • 1이면 단일 점프, 2 이상이면 더블 점프, 트리플 점프를 구현할 수 있습니다.

    • 이를 활용하면 파쿠르, 퍼즐 등 특정 구간에서만 접근 가능한 플랫폼 디자인이 가능합니다.

  • StompJumpMultiplier

    • 1이면 기본 점프력과 같고, 2이면 두 배 높이 점프합니다.

    • 마리오식 “밟기 반동”이나 공중 콤보 액션 같은 연출을 할 때 유용합니다.

실제 동작 예시

[MaxJumpCount]

MaxJumpCount = 1 (기본값)
MaxJumpCount = 3

[StompJumpMultiplier]

StompJumpMultiplier = 0 (기본값)
StompJumpMultiplier = 0.5

낙하

캐릭터의 공중 움직임과 중력 적용 방식을 제어합니다.

속성
설명

AirControl

공중에서 이동 입력이 반영되는 정도

FallingDeceleration

낙하 상태에서 이동 입력을 멈췄을 때 적용되는 감속량

FallingLateralFriction

공중에서 캐릭터의 수평 움직임에 대한 마찰력

GravityScale

캐릭터에게 적용되는 중력의 비율

세부 동작 내용

  • AirControl

    • 0이면 점프 후 방향 전환이 불가능하고, 1이면 지상과 동일하게 자유롭게 방향 전환이 가능합니다.

    • 플랫폼 액션에서는 높은 값을, 현실적인 낙하를 원하면 낮은 값을 활용합니다.

  • FallingDeceleration

    • 값이 크면 빠르게 멈추며 공중 제어가 쉬워집니다.

    • 값이 작으면 관성이 커져, 계속 미끄러지듯 움직입니다.

  • FallingLateralFriction

    • 값이 크면 방향 전환이 더 빠르고 안정적으로 됩니다.

    • 값이 작으면 방향을 틀어도 기존 움직임이 이어지며 미끄럽게 느껴집니다.

  • GravityScale

    • 클수록 무겁게 떨어져 더 빠르게 낙하합니다.

    • 음수일 경우, 캐릭터가 위쪽(+Z) 방향으로 끌려가며 역중력 효과를 낼 수 있습니다.

실제 동작 예시

[FallingDeceleration]

FallingDeceleration = 2,500 (기본값)
FallingDeceleration = 250

[FallingLateralFriction]

FallingLateralFriction = 16 (기본값)
FallingLateralFriction = 8

캐릭터 충돌 및 메시 보정

캐릭터 충돌체 크기와 메시 위치를 보정하여 정확한 판정을 보장합니다.

속성
설명

CapsuleHeight

캐릭터 충돌체 캡슐의 세로 높이

CapsuleRadius

캐릭터 충돌체 캡슐의 가로 반지름

CharacterMeshPos

캐릭터 메쉬와 캡슐 충돌체 간의 상대 위치 보간

세부 동작 내용

  • CapsuleHeight

    • 값이 크면 키가 큰 캐릭터처럼 판정되고, 작으면 난쟁이 캐릭터처럼 작게 판정됩니다.

  • CapsuleRadius

    • 좁게 설정하면 좁은 통로나 문틈도 통과할 수 있고, 넓게 설정하면 쉽게 충돌해 몸집이 커진 것처럼 보입니다.

  • CharacterMeshPos

    • 주로발이 떠 있거나 땅에 박히는 문제를 해결하는 데 사용됩니다.

    • 커스텀 아바타나 스킨 적용 시 필수적으로 조정할 수 있는 옵션입니다.

실제 동작 예시

[CharacterHeight & CharacterMeshPos]

CapsuleHeight = 164, CharacterMeshPos = Vector3.new(0,-85, 0)
CapsuleHeight = 82, CharacterMeshPos = Vector3.new(0, -42.5, 0)

환경 상호작용

캐릭터가 플랫폼이나 이동 오브젝트와 상호작용하는 방식을 제어합니다.

속성
설명

IgnoreBaseRotation

플랫폼 회전에 캐릭터가 영향을 받을지 설정

세부 동작 내용

  • IgnoreBaseRotation

    • 캐릭터가 움직이는 플랫폼 위에 있을 때, 해당 플랫폼의 회전을 따라갈지 여부를 결정합니다.

      • True : 플랫폼 위에 있어도 캐릭터는 회전하지 않고 제자리에 고정됩니다. 이 경우 캐릭터는 발판 회전의 영향을 받지 않으므로 안정적으로 서 있는 연출을 할 수 있습니다.

      • False :플랫폼이 회전하면 캐릭터도 함께 회전하고 이와 더불어 카메라 시점도 같이 회전합니다.

실제 동작 예시

[IgnoreBaseRotation]

IgnoreBaseRotation = true (기본값)
IgnoreBaseRotation = false

카메라 조작

카메라의 회전·추적 움직임을 보간하여 부드럽게 표현합니다.

속성
설명

EnableSmoothFollow

카메라가 캐릭터 이동을 부드럽게 따라오도록 활성화

SmoothFollowSpeed

카메라가 캐릭터 이동을 따라는 속도

FollowMaxDistance

카메라가 캐릭터를 따라올 때 허용되는 최대 지연 거리

EnableSmoothRotation

캐릭터 회전을 부드럽게 따라가도록 활성화

SmoothRotationSpeed

카메라가 캐릭터의 회전에 반응하는 속도

세부 동작 내용

  • EnableSmoothFollow

    • 카메라가 캐릭터 이동을 즉시 따라가지 않고 부드럽게 추적하도록 설정합니다.

      • True : 카메라가 약간 늦게 따라와 부드럽고 자연스러운 시야 제공합니다.

      • False : 카메라가 항상 캐릭터를 즉시 따라가 빠르지만 기계적인 느낌날 수 있습니다.

  • SmoothFollowSpeed

    • 값이 크면 가볍고 빠르게 반응해 즉각적인 플레이 감각을 줍니다.

    • 값이 작으면 카메라가 천천히 따라와 시네마틱한 연출이 가능합니다.

  • FollowMaxDistance

    • 값이 크면 카메라가 멀리까지 뒤쳐질 수 있으나, 설정 값 이상으로는 떨어지지 않습니다.

    • 값이 작으면 카메라가 캐릭터에 꼭 붙어서 따라옵니다.

  • EnableSmoothRotation

    • 캐릭터가 입력 방향으로 즉시 회전하지 않고 부드럽게 따라가도록 설정합니다.

      • True : 일정 속도로 회전하여 부드럽고 안정적인 움직임을 제공합니다.

      • False : 캐릭터가 입력한 방향으로 즉시 회전하여 빠르지만 딱딱함 느낌을 제공할 수도 있습니다.

  • SmoothRotationSpeed

    • 값이 크면 빠르게 반응해 즉시 전환에 가깝습니다.

    • 값이 작으면 천천히 따라오며 여유 있는 회전 연출이 가능합니다.

실제 동작 예시

[SmoothFollow]

EnableSmoothFollow = true (기본값), WalkSpeed = 1,000 SmoothFollowSpeed = 5, FollowMaxDistance = 250
EnableSmoothFollow = false, WalkSpeed = 1,000

[SmoothRotation]

EnableSmoothRotation = false (기본값)
EnableSmoothRotation = true, SmoothRotationSpeed = 5

주의사항

  • 값이 비정상적으로 크거나 작으면 현실적이지 않은 조작감이 발생할 수 있습니다.

Last updated