컨트롤러

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

캐릭터 컨트롤러 라이브러리 (CCL)에서 핵심 ControllerManager 인스턴스는 캐릭터의 물리 시뮬레이션과 환경과의 상호작용을 처리합니다. 여기에는 유산 Humanoid 불일치를 해결하기 위해 고안된 움직임/느낌에서의 몇 가지 의도적인 변경 사항과 점프 시의 질량 및 각 운동량의 현실적인 보존, 바닥 마찰, 선형 가속 커브와 같은 물리적 개선이 포함됩니다.

CCL 활성화

CCL은 Studio의 아바타 설정 창을 통해 선택적입니다. 이를 활성화하려면:

  1. 아바타 탭에서 아바타 설정을 엽니다.

    Studio의 도구 모음에 표시된 아바타 설정
  2. 창의 왼쪽에서 움직임 탭을 선택하고, 능력 섹션에서 캐릭터 컨트롤러 라이브러리를 선택합니다.

    아바타 설정 창의 캐릭터 컨트롤러 라이브러리 토글
  3. 달리기, 점프, 클라임과 같은 모든 표준 능력은 기본적으로 활성화되어 있습니다. 런타임에 이들 중 어떤 것을 비활성화하려면 관련된 박스를 체크 해제하십시오.

구조

캐릭터 모델 내의 핵심 ControllerManager 인스턴스 아래에서 개별 컨트롤러인 GroundControllerAirController는 캐릭터에 적용되는 이동 방식을 정의합니다. 능력은 이후 ControllerManager 및 그 자식과 상호작용하여 컨트롤러 동작을 수정하거나 컨트롤러 간 전환을 수행합니다.

구성

게임이 실행 중일 때(또는 ServerScriptService에서 실행되는 스크립트를 통해) 핵심 ControllerManager 및 내장 컨트롤러를 실험할 수 있습니다.

런타임

런타임에서 컨트롤러 구성을 실험하려면:

  1. 플레이 테스트를 시작합니다.

  2. 탐색기에서 Workspace에 있는 캐릭터 모델을 찾아 ControllerManager 트리를 확장합니다:

  3. ControllerManager 또는 그 자식 컨트롤러 중 하나를 선택하고 속성 창에서 다음 표에 요약된 속성과 같이 속성을 사용자 정의합니다(이 표는 전체가 아니므로 추가 속성 옵션에 대해서는 API 클래스 문서를 참조하십시오).

    속성설명
    BaseMoveSpeed모든 컨트롤러에서 사용되는 기본 선형 이동 속도. 컨트롤러는 각각 MoveSpeedFactor 속성을 통해 이동 속도를 사용자 정의합니다.
    BaseTurnSpeed캐릭터가 원하는 방향을 향하도록 정렬하는 데 사용되는 모든 컨트롤러의 기본 각도 회전 속도. 일부 컨트롤러는 그들의 TurnSpeedFactor 속성을 통해 회전 속도를 각각 사용자 정의합니다.
    UpDirectionVector3ControllerManager.RootPart의 위쪽을 향하는 벡터를 나타냅니다.

스크립트

스크립트를 통해 모든 캐릭터에 대한 컨트롤러 구성을 설정하려면:

  1. ServerScriptService 내에 새로운 서버 사이드 Script를 생성하고 이를 ControllerScript로 이름을 변경합니다.

  2. 다음 코드를 새 스크립트에 복사하여 붙여 넣습니다. 이 예시는 지상에서의 이동/회전 속도를 증가시킬 뿐만 아니라 약간의 가속 및 감속 시간을 추가합니다. 위의 에 설명된 다른 속성이나 각 클래스에서 설명된 속성을 조정할 수 있습니다(ControllerManager; GroundController; AirController; ClimbController; SwimController).

    ServerScriptService의 스크립트

    local Players = game:GetService("Players")
    local function onCharacterAdded(character)
    local ControllerManager = character:FindFirstChildWhichIsA("ControllerManager")
    if ControllerManager then
    local GroundController = ControllerManager:FindFirstChild("GroundController")
    if GroundController then
    -- 이동 및 회전 속도를 두 배로 증가
    GroundController.MoveSpeedFactor *= 2
    GroundController.TurnSpeedFactor *= 2
    -- 약간의 가속 및 감속 추가
    GroundController.AccelerationTime = 0.2
    GroundController.DecelerationTime = 0.4
    end
    end
    end
    local function onPlayerAdded(player)
    if player.Character then
    onCharacterAdded(player.Character)
    end
    player.CharacterAdded:Connect(onCharacterAdded)
    end
    Players.PlayerAdded:Connect(onPlayerAdded)
©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.