엘리베이터는 사용자가 경험의 한 부분에서 다른 부분으로 이동할 수 있도록 조작할 수 있는 플랫폼입니다. 이 장치는 사용자가 여러분이 만든 세계 내에서 새로운 영역에 도달할 수 있도록 허용할 때 유용합니다. 이 가이드에서는 사용자가 근접 프롬프트와 상호작용할 때 위아래로 이동하는 엘리베이터를 신속하게 만들 수 있습니다.
엘리베이터를 만드는 다음 방법을 따라가며 각 섹션을 학습하세요:
- 기본 파트를 사용하여 사용자가 서 있을 수 있는 플랫폼과 위아래로 이동할 수 있는 트랙을 만듭니다.
- 플랫폼의 움직임을 유도하기 위해 PrismaticConstraint를 구성합니다.
- 사용자가 플랫폼의 움직임을 시작하기 위해 상호작용할 수 있는 ProximityPrompt를 만듭니다.
- 모든 엘리베이터 구성 요소를 연결하고 플랫폼이 트랙을 따라 이동할 수 있도록 하는 Script를 만듭니다.
플랫폼 및 트랙 만들기
Part는 Roblox의 기본 빌딩 블록으로, 이동할 수 있고 크기를 조정하며 회전과 사용자 정의가 가능합니다. 엘리베이터의 플랫폼과 트랙은 기본 형태만 필요하기 때문에 기본 파트를 사용하여 엘리베이터의 기초를 만드는 것이 유용합니다.
엘리베이터의 플랫폼과 트랙을 만들기 위해:
스튜디오의 홈 또는 모델 탭 툴바로 이동합니다.
Part 아래의 드롭다운 화살표를 클릭하고 Block을 선택합니다. 블록 파트가 작업공간에 표시되며 이는 사용자가 엘리베이터를 타고 위아래로 이동할 플랫폼이 될 것입니다.
탐색기 창에서 블록을 선택한 후, 속성 창에서,
- 이름을 Platform으로 설정합니다.
- 크기를 **[8,1,4]**로 설정합니다.
탐색기 창에서 플랫폼을 선택한 후 CtrlD (⌘D)를 눌러 부품을 복제합니다. 이 복제된 부품은 플랫폼이 위아래로 이동하는 데 사용할 트랙이 될 것입니다.
툴바에서 이동 도구를 선택한 후 축 화살표 중 하나를 사용하여 복제된 부품을 원래 위치에서 끌어내어 각 객체 간에 작은 간격이 생기도록 합니다.
속성 창에서,
- 이름을 Track으로 설정합니다.
- 크기 속성에서 Y 축을 20 스터드 높이로 설정합니다.
- 고정됨 속성을 활성화합니다.
탐색기 창에서 두 부품을 모두 선택한 후 CtrlG (⌘G)를 눌러 그룹화합니다.
모델 이름을 Elevator로 변경합니다.


뷰포트에서 모델은 두 개의 개별 객체로 표시됩니다. 탐색기 창에서 모델은 개별 플랫폼 및 트랙 객체를 포함하고 있습니다.
프리즘 연결 구성하기
이제 엘리베이터의 기초를 구성하는 두 개의 부품이 있으므로 PrismaticConstraint를 생성하고 관련 부착물을 정렬하여 플랫폼이 이상적인 경로를 따라 이동하도록 하고, 플랫폼이 트랙을 따라 위아래로 이동하도록 하기 위해 제약값을 설정합니다.
프리즘 연결 및 부착물 만들기
PrismaticConstraint는 두 개의 Attachments 사이에 강력한 조인트를 생성하여 부착물이 회전하지 않고 한 축을 따라 미끄러질 수 있게 합니다. 이 유형의 제약 조건은 엘리베이터에 적합합니다. 왜냐하면 플랫폼이 단일 방향으로 유지되면서도 위아래로 이동할 수 있도록 하기 때문입니다.
프리즘 연결 및 부착물을 만들기 위해:
탐색기 창에서 Track에 프리즘 연결을 삽입합니다.
- Track 위에 마우스를 올리고 ⊕ 버튼을 클릭합니다. 컨텍스트 메뉴가 표시됩니다.
- 메뉴에서 PrismaticConstraint를 삽입합니다.
트랙 및 플랫폼에 부착물을 삽입합니다.
Track 위에 마우스를 올리고 ⊕ 버튼을 클릭합니다. 컨텍스트 메뉴가 표시됩니다.
메뉴에서 Attachment를 삽입합니다.
Platform에 대해서도 이 과정을 반복합니다.
두 부착물의 이름을 각각 TrackAttachment 및 PlatformAttachment로 변경합니다.

프리즘 연결을 선택합니다.
속성 창에서 프리즘 연결에 부착물을 할당합니다.
PrismaticConstraint.Attachment0 속성을 선택합니다. 커서가 변경됩니다.
탐색기 창에서 TrackAttachment를 선택합니다.
PrismaticConstraint.Attachment1 속성을 선택합니다. 커서가 변경됩니다.
탐색기 창에서 PlatformAttachment를 선택합니다.

부착물 정렬하기
부착물이 각 부모 부품의 중앙에 있는 기본 위치에 그대로 있으면 부착물들이 각 부품을 쇄도하려고 시도하여 두 부품의 물리적 충돌로 인해 엘리베이터가 작동하지 않을 수 있습니다. 이러한 일이 발생하지 않도록 하려면, 부착물을 자식 부품의 외부로 옮겨 플랫폼이 트랙 외부를 따라 자유롭게 이동할 수 있는 방해가 없는 공간을 확보한 후, X 및 Z 축을 따라 부착물을 정렬하여 플랫폼이 Y 축을 따라 위아래로만 이동하도록 해야 합니다.
부착물을 재배치하고 정렬하기 전에 스튜디오의 보기 메뉴에서 제약 세부정보 표시를 활성화하여 뷰포트 내에서 부착물을 볼 수 있는지 확인하십시오.
제약 조건의 부착물을 정렬하기 위해:
툴바에서 회전 도구를 선택하고 TrackAttachment 및 PlatformAttachment를 회전시켜 각 부착물의 노란색 화살표가 Y 축으로 위를 향하도록 합니다.

이동 도구를 선택하고 부착물의 위치를 이동하여 두 부착물이 부모 부품의 외부에 있으며 X 및 Z 축에 정렬되도록 합니다.

프리즘 연결 값 설정하기
이제 PrismaticConstraint가 있고 관련 Attachments이 정렬되었으므로, Script가 플랫폼이 트랙을 따라 위아래로 이동하도록 허용할 수 있는 제약 조건의 값을 설정해야 합니다. 이는 트랙의 아래쪽과 위쪽과 관련된 초기 및 최종 범위를 따릅니다. 트랙의 아래쪽과 위쪽은 각각 TrackAttachment가 있는 트랙 중간에서 10 스터드 떨어져 있으므로, 제약의 하한과 상한은 각각 -10 및 10이어야 합니다.


엘리베이터 이동을 활성화하기 위해 제약의 값을 설정하려면:
탐색기 창에서 PrismaticConstraint를 선택합니다.
속성 창에서 슬라이더 섹션으로 이동한 후 플랫폼의 운동 범위를 서보 스타일 모터로 제한할 수 있도록 합니다. 새로운 속성 필드가 표시됩니다.
- 제한 활성화를 True로 설정합니다.
- 구동기 유형을 Servo로 설정합니다.
제한 섹션으로 이동한 후, 플랫폼의 이동 범위를 트랙의 가운데에서 위로 10 스터드, 아래로 10 스터드로 설정하며, 상한 및 하한에 도달할 때 탄성이 없도록 설정합니다. 다음 속성을 설정한 후, 하한 및 상한 시각적 보조 기구가 새 값을 충족하도록 연장됩니다.
- 하한을 -10으로 설정합니다.
- 복원력을 0으로 설정합니다.
- 상한을 10으로 설정합니다.
서보 섹션으로 이동한 후, 플랫폼이 물리의 저항에 맞춰 무게를 지탱할 수 있도록 하고, 위아래로 적절한 속도로 이동하며, 초기화 지점이 제약의 하한에 있도록 설정합니다.
- 서보 최대 힘을 10000으로 설정합니다.
- 속도를 10으로 설정합니다.
- 대상 위치를 -10으로 설정합니다.
근접 프롬프트 만들기
ProximityPrompt는 사용자 상호작용을 유도하여 사용자가 블록, 스위치, 버튼 등과 같은 경험 내 객체에 접근할 때 행동을 트리거하는 객체입니다. 이 과정에서는 근접 프롬프트를 사용하여 사용자가 플랫폼 근처에 있을 때 키를 눌러 엘리베이터의 움직임을 활성화할 수 있도록 합니다.
근접 프롬프트를 만들기 위해:
탐색기 창에서 Platform 위에 마우스를 올리고 ⊕ 버튼을 클릭합니다. 컨텍스트 메뉴가 표시됩니다.
메뉴에서 ProximityPrompt를 삽입합니다.

엘리베이터 움직임 스크립트 작성하기
이제 엘리베이터의 모든 요소가 준비되었으므로, 플랫폼을 위아래로 트랙을 따라 이동시키기 위해 모든 것을 함께 작동하도록 하는 Script를 생성할 시간입니다.
엘리베이터의 움직임을 스크립트화하려면:
- 탐색기 창에서 Elevator 위에 마우스를 올리고 ⊕ 버튼을 클릭합니다. 컨텍스트 메뉴가 표시됩니다.
- 메뉴에서 Script를 삽입합니다.
- 새 스크립트에 다음을 입력합니다:
local platform = script.Parent.Platform
local prismaticConstraint = script.Parent.Track.PrismaticConstraint
platform.ProximityPrompt.Triggered:Connect(function(player)
print(prismaticConstraint.CurrentPosition)
if prismaticConstraint.CurrentPosition <= -9 then
prismaticConstraint.TargetPosition = 10
elseif prismaticConstraint.CurrentPosition >= 9 then
prismaticConstraint.TargetPosition = -10
end
end)
여러분의 경험을 플레이테스트하고 엘리베이터의 근접 프롬프트에 대한 키를 입력하면, 스크립트가 실행되어 플랫폼이 제약 조건에서 9 스터드 위 또는 아래에 있는지 확인합니다. 만약 플랫폼이 9 스터드 이하라면 사용자가 근접 프롬프트에 상호작용할 때 플랫폼은 위로 이동하여 제약 조건의 상한에 도달합니다; 반대로 플랫폼이 9 스터드 이상이라면 사용자가 근접 프롬프트에 상호작용할 때 플랫폼은 아래로 이동하여 제약 조건의 하한에 도달합니다.