Humanoid

Humanoid : Instance

Overview

Humanoid 객체는 단순한 모델 인스턴스를 실제 캐릭터처럼 동작하도록 만드는 핵심 요소로, 이를 통해 캐릭터는 게임 속에서 걷거나 점프하는 기본적인 움직임을 수행하며 다양한 오브젝트와 상호작용할 수 있습니다.

Humanoid는 최상위 오브젝트인 Model(Character)의 하위에 속하며, 캐릭터의 행동과 상태를 제어하는 Humanoid, 캐릭터의 중심을 담당하는 HumanoidRootPart, 머리·몸통·양팔·양다리로 이루어진 6개의 MeshPart, 그리고 22개의 Bone으로 구성된 Skeleton 구조로 이루어져 있습니다.

Properties

AutoJumpEnabled

bool

현재 지원되지 않습니다.

Code Samples

AutoRotate

bool

현재 지원되지 않습니다.

Code Samples

AutomaticScalingEnabled

bool

현재 지원되지 않습니다.

Code Samples

CameraOffset

Vector3

현재 지원되지 않습니다.

Code Samples

DisplayDistanceType

Enum.HumanoidDisplayDistanceType

현재 지원되지 않습니다.

Code Samples

DisplayName

string

현재 지원되지 않습니다.

Code Samples

Health

number

휴머노이드의 현재 체력을 나타내는 속성입니다.

값은 0 이상 MaxHealth 이하 범위에서만 유효하며, 범위를 벗어난 값은 자동으로 해당 구간 내로 보정됩니다.

캐릭터가 사망 상태일 경우 이 값은 강제로 0으로 고정되며, 체력을 감소시킬 때는 속성을 직접 변경하기보다는 TakeDamage() 메서드를 사용하는 것이 권장됩니다.

체력이 0에 도달하면 휴머노이드는 자동으로 Dead 상태로 전환되며, ChangeState() 메서드를 통해 Dead 상태로 변경되는 경우에도 Health 값은 0으로 설정됩니다.

Code Samples

Humanoid.Health = 0

HealthDisplayDistance

number

현재 지원되지 않습니다.

Code Samples

HipHeight

number

현재 지원되지 않습니다.

Code Samples

Jump

bool

현재 지원되지 않습니다.

Code Samples

JumpHeight

number

이 속성은 휴머노이드가 점프했을 때 도달할 수 있는 최대 높이를 cm 단위로 결정합니다.

기본값은 81.639입니다.

이 속성을 0으로 설정하면 휴머노이드는 점프할 수 없게 되지만, 점프를 완전히 제한하려면 값을 변경하기보다는 Humanoid:SetStateEnabled() 메서드를 사용해 Jumping 상태를 비활성화하는 것이 권장됩니다.

Code Samples

JumpPower

number

휴머노이드가 점프할 때 위로 가해지는 힘의 크기를 정의하는 속성입니다.

기본값은 400이며, 실제 점프 높이는 Workspace.Gravity에 설정된 중력 값의 영향을 함께 받습니다.

이 속성을 0으로 설정하면 휴머노이드는 점프할 수 없게 되지만, 점프를 완전히 제한하려면 값을 변경하기보다는 Humanoid:SetStateEnabled() 메서드를 사용해 Jumping 상태를 비활성화하는 것이 권장됩니다.

Code Samples

Humanoid.JumpPower = 1000

MaxHealth

number

휴머노이드 최대 체력을 지정하는 속성입니다.

Code Samples

print(Humanoid.MaxHealth)

MaxSlopeAngle

number

현재 지원되지 않습니다.

Code Samples

MoveDirection

Vector3

현재 지원되지 않습니다.

Code Samples

PlatformStand

bool

현재 지원되지 않습니다.

Code Samples

RootPart

BasePart

휴머노이드의 중심 파트인 HumanoidRootPart를 가리키는 속성입니다. (읽기 전용)

이 파트는 캐릭터가 3D 공간에서 걷거나 뛰는 동작을 제어하는 기준점 역할을 하며, 일반적으로 화면에는 보이지 않습니다.

Code Samples

print(Humanoid.RootPart)

Sit

bool

현재 지원되지 않습니다.

Code Samples

WalkSpeed

number

이 속성은 휴머노이드가 초당 이동할 수 있는 속도를 정의하며, 기본값은 500입니다.

모바일 환경에서는 Studio에서 키보드로 조작할 때와 달리 조이스틱을 끝까지 기울이지 않으면 실제 이동 속도가 WalkSpeed 값보다 낮게 적용될 수 있습니다.

이 값을 0으로 지정하면 캐릭터는 움직이지 못하게 고정되며, 플레이어 입력 역시 무효화됩니다.

또한 오버데어의 기본 애니메이션 스크립트는 캐릭터의 실제 이동 속도에 맞추어 걷기와 달리기 애니메이션의 재생 속도를 자동으로 조정합니다.

Code Samples

HHmanoid.WalkSpeed = 4000

WalkToPoint

Vector3

현재 지원되지 않습니다.

Code Samples

HitboxType

Enum.HitboxType

휴머노이드의 피격 판정 방식을 정의하는 속성입니다.

기본값은 Single로, 캐릭터 전체를 하나의 캡슐 형태 히트박스로 감싸며 부위별 피격 판정은 지원하지 않습니다.

SixBody 또는 FittedSixBody로 설정하면 머리, 몸통, 팔, 다리 등 주요 신체 부위에 고정된 히트박스가 생성되어 부위별 판정이 가능하며, 특히 FittedSixBody는 캐릭터의 외형과 착용한 의상에 맞추어 히트박스가 세밀하게 조정됩니다.

이 값은 Workspace에서 사전에 구성해야 하며, 게임 실행 중에는 런타임에서 수정할 수 없습니다. 따라서 해당 속성은 반드시 스튜디오 편집 단계에서 미리 설정해야 합니다.

Code Samples

print(Humanoid.HitBoxType)

LookCameraDirection

bool

카메라가 휴머노이드 캐릭터의 바라보는 방향을 따라가도록 할지 여부를 지정하는 속성입니다.

이 속성 대신 UserGameSettings.RotationType을 사용하는 것이 권장됩니다.

Code Samples

Humanoid.LookCameraDirection = true

DefaultBlendSpace

BlendSpace

Code Samples

Humanoid.DefaultBlendSpace = BasicBlendSpace

BlendSpace

BlendSpace

사용할 블렌드스페이스를 지정하는 속성입니다.

블렌드스페이스는 캐릭터의 속도나 이동 방향과 같은 매개변수를 기반으로 여러 애니메이션을 보간하여, 상황에 맞게 부드럽게 전환되고 혼합된 애니메이션을 재생하는 기능입니다.

Code Samples

Humanoid.BlendSpace = BasicBlendSpace

Methods

AddAccessory

현재 지원되지 않습니다.

Parameters

Instance InAccessory

Return

void

Code Samples

ApplyDescription

입력된 HumanoidDescription 정보에 맞게 캐릭터의 외형을 변경합니다.

HumanoidDescription 객체는 복사된 뒤 휴머노이드에 저장되어, 이후 캐릭터의 외형 정의로 활용됩니다.

Parameters

HumanoidDescription InDescription

설정할 외형 정보입니다.

Enum.AssetTypeVerification InAssetTypeVerification

외형 정보에 포함된 에셋을 어떤 방식으로 검증할지 지정하는 속성입니다. (현재는 Default 값만 지원됩니다)

Return

void

Code Samples

local Workspace = game:GetService("Workspace")
local HumanoidDescription = Workspace:WaitForChild("HumanoidDescription")
Humanoid:ApplyDescription(HumanoidDescription, Enum.AssetTypeVerification.Default)

ApplyDescriptionReset

현재 지원되지 않습니다.

Parameters

HumanoidDescription InDescription

Enum.AssetTypeVerification InAssetTypeVerification

Return

void

Code Samples

EquipTool

휴머노이드가 지정된 Tool을 장착하도록 합니다.

이미 다른 도구를 장착 중이라면 먼저 해제한 뒤, 새로 전달된 도구를 장착합니다.

Parameters

Instance InTool

장착할 Tool입니다.

Return

void

Code Samples

Humanoid:EquipTool(Tool)

GetAccessories

현재 지원되지 않습니다.

Parameters

Return

Tuple

Code Samples

GetAppliedDescription

휴머노이드에 적용된 외형 정보(HumanoidDescription)를 반환합니다.

반환된 객체를 통해 현재 캐릭터의 외형 구성을 확인할 수 있으며, 필요할 경우 ApplyDescription() 메서드를 사용해 동일한 외형을 다른 캐릭터에 적용할 수도 있습니다.

외형 정보가 설정되어 있지 않은 경우 nil을 반환합니다.

Parameters

Return

HumanoidDescription

설정된 외형 정보를 반환합니다.

Code Samples

local Description = Humanoid:GetAppliedDescription()

UnequipTools

휴머노이드가 현재 장착하고 있는 모든 Tool을 해제합니다.

Parameters

Return

void

Code Samples

Humanoid:UnequipTools()

RemoveAccessories

현재 지원되지 않습니다.

Parameters

Return

void

Code Samples

TakeDamage

휴머노이드의 체력을 지정한 값만큼 감소시키며, 음수 값을 전달하면 체력이 회복됩니다.

Parameters

number InDamage

체력에 적용할 값으로, 양수는 체력을 줄이고 음수는 체력을 회복시킵니다.

Return

void

Code Samples

Humanoid:TakeDamage(100)

LoadAnimation

(deprecated) 휴머노이드에 특정 애니메이션을 불러와 적용하고, 재생 및 제어할 수 있도록 AnimationTrack 객체를 반환합니다.

이 메서드는 더 이상 권장되지 않으며, 대신 Animator:LoadAnimation()을 사용해야 합니다.

Parameters

Animation InAnimation

사용할 애니메이션입니다.

Return

AnimationTrack

반환된 애니메이션 트랙입니다.

Code Samples

local Animation = Instance.new("Animation")
Animation.AnimationId = "ovdrassetid://18850100" -- WinAnimation01

local AnimationTrack = Humanoid:LoadAnimation(Animation)

AnimationTrack:Play()

ChangeState

휴머노이드의 상태를 지정된 HumanoidStateType 값으로 전환하여 현재 수행 중인 동작을 변경합니다.

다만 휴머노이드의 동작 특성상 일부 상태는 반영되지 않을 수 있습니다. 예를 들어 공중에 있을 때 Landed 상태로 설정하면 적용되지 않습니다.

상태 변경은 LocalScript에서 처리해야 합니다.

Parameters

Enum.HumanoidStateType StateType

변경할 상태입니다.

Return

void

Code Samples

Humanoid:ChangeState(Enum.HumanoidStateType.Physics)

SetStateEnabled

휴머노이드가 지정된 HumanoidStateType 상태에 진입할 수 있는지를 제어합니다.

특정 상태를 비활성화하면 스크립트에서 ChangeState()를 호출하거나 조건이 충족되더라도 해당 상태로 전환되지 않습니다.

주로 점프를 막거나 Climb 상태를 비활성화하는 데 활용되며, Running과 같이 일부 상태는 이 메서드로 제어할 수 없습니다.

Parameters

Enum.HumanoidStateType InHumanoidStateType

활성화 여부를 설정할 상태입니다.

bool bInEnabled

활성화 여부입니다.

Return

void

Code Samples

Humanoid:SetStateEnabled(Enum.HumanoidStateType.Climbing, false)

GetState

휴머노이드가 현재 어떤 행동 상태에 있는지를 HumanoidStateType 값으로 반환하며, 이를 통해 캐릭터가 점프, 낙하, 달리기 등 어떤 행동을 수행 중인지 확인할 수 있습니다.

Parameters

Return

Enum.HumanoidStateType

휴머노이드의 현재 상태를 반환합니다.

Code Samples

print(Humanoid:GetState())

Events

ApplyDescriptionFinished

현재 지원되지 않습니다.

Parameters

Code Samples

Climbing

휴머노이드가 Climb 상태로 전환될 때 실행되는 이벤트입니다.

Parameters

Code Samples

local function OnClimbing()
    print("Climbing!")
end
Humanoid.Climbing:Connect(OnClimbing)

ClusterCompositionFinished

현재 지원되지 않습니다.

Parameters

Code Samples

Died

휴머노이드가 Dead 상태로 전환될 때 실행되는 이벤트로, 보통 체력이 0이 되었을 때 발생합니다.

Parameters

Code Samples

local function OnDied()
    print("Die!")
end
Humanoid.Died:Connect(OnDied)

EmoteTriggered

현재 지원되지 않습니다.

Parameters

Code Samples

FallingDown

현재 지원되지 않습니다.

Parameters

Code Samples

FreeFalling

휴머노이드가 Freefall 상태로 전환될 때 실행되는 이벤트로, 보통 공중에서 낙하할 때 발생합니다.

Parameters

Code Samples

local function OnFreeFalling()
    print("FreeFalling!")
end		
Humanoid.FreeFalling:Connect(OnFreeFalling)

GettingUp

현재 지원되지 않습니다.

Parameters

Code Samples

HealthChanged

휴머노이드의 체력이 변경될 때마다 실행되는 이벤트로, 체력이 0이 되어 Dead 상태로 전환될 때도 호출됩니다.

Parameters

number Health

변경된 체력입니다.

Code Samples

local function OnHealthChanged(health)
    print("HealthChanged!", health)
end		
Humanoid.HealthChanged:Connect(OnHealthChanged)

Jumping

휴머노이드가 Jumping 상태로 전환될 때 실행되는 이벤트입니다.

Parameters

Code Samples

local function OnJumping()
    print("Jumping!")
end		
Humanoid.Jumping:Connect(OnJumping)

MoveToFinished

현재 지원되지 않습니다.

Parameters

Code Samples

PlatformStanding

현재 지원되지 않습니다.

Parameters

Code Samples

Running

휴머노이드가 Running 상태로 전환될 때 실행되는 이벤트입니다.

Parameters

Code Samples

local function OnRunning()
    print("Running!")
end		
Humanoid.Running:Connect(OnRunning)

StateChanged

휴머노이드가 다른 동작 상태로 전환될 때 실행되는 이벤트입니다.

단, 별도의 대기(idle) 상태는 존재하지 않으므로, 캐릭터가 정지했는지를 확인하려면 RootPart의 속도(AssemblyLinearVelocity)를 직접 확인해야 합니다.

Parameters

Enum.HumanoidStateType PreviousState

변경 전 상태입니다.

Enum.HumanoidStateType CurrentState

변경된 상태입니다.

Code Samples

local function OnStateChanged(prevState, newState)
    print("StateChanged!", prevState, "->", newState)
end		
Humanoid.StateChanged:Connect(OnStateChanged)

StateEnabledChanged

현재 지원되지 않습니다.

Parameters

Code Samples

Swimming

휴머노이드가 Swimming 상태로 전환될 때 실행되는 이벤트입니다.

Parameters

Code Samples

local function OnSwimming()
    print("Swimming!")
end		
Humanoid.Swimming:Connect(OnSwimming)

Touched

현재 지원되지 않습니다.

Parameters

Code Samples

Landed

휴머노이드가 Landed 상태로 전환될 때 실행되는 이벤트입니다.

Parameters

Code Samples

local function OnLanded()
    print("Landed!")
end		
Humanoid.Landed:Connect(Landed)

PlatformStandingMoving

현재 지원되지 않습니다.

Parameters

Code Samples

See also

캐릭터

Last updated