Thang máy là các nền tảng mà người dùng có thể điều khiển để di chuyển từ một phần của trải nghiệm này sang một phần khác. Thiết bị này hữu ích khi bạn muốn cho phép người dùng tiếp cận các khu vực mới trong các thế giới mà bạn tạo ra. Trong hướng dẫn này, bạn có thể nhanh chóng tạo thang máy của riêng bạn mà nâng người dùng lên và hạ xuống khi họ tương tác với một thông báo gần.
Trong phương pháp tạo thang máy dưới đây, hãy làm theo từng phần để tìm hiểu cách:
- Sử dụng các phần cơ bản, tạo một nền tảng để người dùng đứng trên đó và một đường ray mà nền tảng có thể theo để di chuyển lên và xuống.
- Cấu hình một PrismaticConstraint để điều khiển chuyển động của nền tảng.
- Tạo một ProximityPrompt để người dùng tương tác với nó để bắt đầu chuyển động của nền tảng.
- Tạo một Script để kết nối tất cả các thành phần của thang máy và cho phép nền tảng di chuyển dọc theo đường ray.
Tạo nền tảng và đường ray
Một Part là khối xây dựng chính của Roblox mà bạn có thể di chuyển, thay đổi kích thước, xoay và tùy chỉnh để thay đổi hình thức của nó, chẳng hạn như màu sắc và vật liệu của nó. Sử dụng các phần cơ bản để tạo nền tảng của thang máy là hữu ích vì nền tảng và đường ray của thang máy chỉ cần các hình dạng cơ bản.
Để tạo nền tảng và đường ray cho thang máy của bạn:
Điều hướng đến thanh công cụ Home hoặc Model trong Studio.
Nhấp vào mũi tên thả xuống dưới Part và chọn Block. Một phần khối hiển thị trong không gian làm việc sắp trở thành nền tảng mà người dùng đi lên và xuống thang máy.
Trong cửa sổ Explorer, chọn khối, sau đó trong cửa sổ Properties,
- Đặt Name thành Platform.
- Đặt Size thành [8,1,4].
Trong cửa sổ Explorer, chọn nền tảng, sau đó nhấn CtrlD (⌘D) để sao chép phần này. Phần sao chép này sắp trở thành đường ray mà nền tảng sử dụng để di chuyển lên và xuống.
Trong thanh công cụ, chọn công cụ Move, sau đó sử dụng một trong các mũi tên trục để kéo phần sao chép ra khỏi vị trí ban đầu để có một khoảng cách nhỏ giữa mỗi đối tượng.
Trong cửa sổ Properties,
- Đặt Name thành Track.
- Trong thuộc tính Size, đặt trục Y thành 20 studs cao.
- Bật thuộc tính Anchored.
Trong cửa sổ Explorer, chọn cả hai phần, sau đó nhấn CtrlG (⌘G) để nhóm chúng lại.
Đổi tên mô hình thành Elevator.


Trong viewport, mô hình xuất hiện như hai đối tượng riêng biệt. Trong cửa sổ Explorer, mô hình chứa các đối tượng Platform và Track tách biệt.
Cấu hình PrismaticConstraint
Bây giờ mà bạn đã có hai phần tạo thành nền tảng của thang máy, bạn có thể tạo một PrismaticConstraint, căn chỉnh các gắn kết liên quan để nền tảng di chuyển theo một đường lý tưởng, và đặt giá trị cho ràng buộc để cho phép nền tảng di chuyển lên và xuống đường ray.
Tạo PrismaticConstraint và các gắn kết
Một PrismaticConstraint tạo một khớp cứng giữa hai Attachments, cho phép các gắn kết trượt dọc theo một trục mà không xoay. Loại ràng buộc này rất lý tưởng cho thang máy vì nó giữ cho nền tảng ở một góc độ duy nhất trong khi vẫn có thể di chuyển lên và xuống.
Để tạo PrismaticConstraint và các gắn kết của nó:
Trong cửa sổ Explorer, chèn một PrismaticConstraint vào Track.
- Di chuột qua Track và nhấp vào nút ⊕. Một menu ngữ cảnh hiển thị.
- Từ menu, chèn một PrismaticConstraint.
Chèn một gắn kết vào Track và Platform.
Di chuột qua Track và nhấp vào nút ⊕. Một menu ngữ cảnh hiển thị.
Từ menu, chèn một Attachment.
Lặp lại quá trình này cho Platform.
Đổi tên cả hai gắn kết thành TrackAttachment và PlatformAttachment, tương ứng.

Chọn PrismaticConstraint.
Trong cửa sổ Properties, gán các gắn kết cho PrismaticConstraint.
Chọn thuộc tính PrismaticConstraint.Attachment0. Con trỏ của bạn sẽ thay đổi.
Trong cửa sổ Explorer, chọn TrackAttachment.
Chọn thuộc tính PrismaticConstraint.Attachment1. Con trỏ của bạn sẽ thay đổi.
Trong cửa sổ Explorer, chọn PlatformAttachment.

Căn chỉnh các gắn kết
Nếu bạn giữ cả hai gắn kết ở vị trí mặc định của chúng trong trung tâm của các phần cha, các gắn kết sẽ cố gắng kéo mỗi phần vào bên trong phần khác, gây ra vật lý của cả hai phần va chạm và làm cho thang máy không hoạt động. Để đảm bảo điều này không xảy ra, bạn phải di chuyển các gắn kết ra ngoài các phần cha của chúng để nền tảng có thể tự do di chuyển qua một không gian không bị cản trở dọc theo bên ngoài đường ray, sau đó căn chỉnh chúng dọc theo các trục X và Z của chúng để nền tảng chỉ di chuyển lên và xuống trục Y.
Trước khi bạn bắt đầu di chuyển và căn chỉnh các gắn kết của mình, hãy đảm bảo bạn có thể xem chúng trong viewport bằng cách bật Show Constraint Details từ menu View của Studio.
Để căn chỉnh các gắn kết của ràng buộc:
Trong thanh công cụ, chọn công cụ Rotate và xoay TrackAttachment và PlatformAttachment để mũi tên vàng của mỗi gắn kết chỉ lên trên trục Y.

Chọn công cụ Move và định vị lại các điểm gắn kết để chúng đều nằm ngoài các phần cha của chúng và được căn chỉnh trên các trục X và Z của chúng.

Đặt giá trị cho PrismaticConstraint
Bây giờ mà bạn đã có một PrismaticConstraint và đã căn chỉnh các Attachments liên quan của nó, đã đến lúc đặt các giá trị của ràng buộc mà một Script có thể sử dụng để cho phép nền tảng di chuyển lên và xuống đường ray trong một phạm vi chuyển động nhất định tương ứng với đáy và đỉnh của đường ray. Vì đáy và đỉnh của đường ray cách nhau 10 studs từ TrackAttachment ở giữa đường ray dài 20 studs, các giới hạn dưới và trên của ràng buộc phải là -10 và 10, tương ứng.


Để đặt giá trị cho ràng buộc của bạn nhằm cho phép thang máy di chuyển trong một phạm vi chuyển động đã định:
Trong cửa sổ Explorer, chọn PrismaticConstraint.
Trong cửa sổ Properties, điều hướng đến phần Slider, sau đó bật khả năng đặt giới hạn cho phạm vi chuyển động của nền tảng bằng một động cơ kiểu servo. Các trường thuộc tính mới hiển thị.
- Đặt Limits Enabled thành True.
- Đặt ActuatorType thành Servo.
Điều hướng đến phần Limits, sau đó đặt phạm vi chuyển động của nền tảng lên 10 studs phía trên và dưới giữa của đường ray mà không có đàn hồi (nảy) khi nó đạt đến giới hạn trên và dưới. Sau khi bạn đặt các thuộc tính sau, các hướng dẫn giới hạn dưới và trên sẽ kéo dài để đáp ứng với các giá trị mới của chúng.
- Đặt LowerLimit thành -10.
- Đặt Restitution thành 0.
- Đặt UpperLimit thành 10.
Điều hướng đến phần Servo, sau đó đảm bảo rằng nền tảng có thể giữ trọng lượng trước sự tác động của vật lý chống lại nền tảng, di chuyển với tốc độ tốt lên và xuống, và điểm khởi đầu của nó là ở đáy giới hạn dưới của ràng buộc.
- Đặt ServoMaxForce thành 10000.
- Đặt Speed thành 10.
- Đặt TargetPosition thành -10.
Tạo thông báo gần
Một ProximityPrompt là một đối tượng khuyến khích tương tác của người dùng để kích hoạt một hành động khi họ tiếp cận các đối tượng trong trải nghiệm như cửa, công tắc đèn và nút bấm. Quy trình này sử dụng một thông báo gần để cho phép người dùng nhấn một phím khi họ gần nền tảng để kích hoạt chuyển động của thang máy.
Để tạo một thông báo gần:
Trong cửa sổ Explorer, di chuột qua Platform và nhấp vào nút ⊕. Một menu ngữ cảnh hiển thị.
Từ menu, chèn một ProximityPrompt.

Lập trình chuyển động của thang máy
Bây giờ mà bạn đã có tất cả các thành phần của thang máy sẵn sàng, đã đến lúc tạo một Script để kết nối mọi thứ hoạt động cùng nhau và di chuyển nền tảng lên và xuống đường ray.
Để lập trình chuyển động của thang máy:
- Trong cửa sổ Explorer, di chuột qua Elevator và nhấp vào nút ⊕. Một menu ngữ cảnh hiển thị.
- Từ menu, chèn một Script.
- Trong script mới, nhập đoạn mã sau:
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)
Khi bạn kiểm tra chơi trải nghiệm của mình và nhập phím cho thông báo gần của thang máy, script sẽ chạy để kiểm tra xem nền tảng có dưới hoặc trên 9 studs từ ràng buộc hay không. Nếu nền tảng ở dưới 9 studs và một người dùng tương tác với thông báo gần, nền tảng sẽ di chuyển lên cho đến khi đạt giới hạn trên của ràng buộc; ngược lại, nếu nó ở trên 9 studs và một người dùng tương tác với thông báo gần, nền tảng sẽ di chuyển xuống cho đến khi đạt giới hạn dưới của ràng buộc.