Roblox 的物理系統允許你構造像門、旋轉平台甚至車輛的移動機構,使用 約束條件。例如,可以使用 HingeConstraint 來構建一扇搖擺的門。
門的設置
首先創建門及其附加件的部件。附加件是指一個物體可以連接到另一個物體的地方。這些附加件稍後將被用來將門連接到其框架上並使用鉸鏈。
創建兩個部件,名稱如下Door和DoorFrame。

選擇DoorFrame。在屬性窗口中,啟用Anchored,以使其不會移動。

在Explorer中,將鼠標懸停在DoorFrame上並添加一個新的Attachment。重複同樣的操作以將一個附加件添加到Door。

將附加件重命名以指示它們所附加的位置,例如DoorAttachment和FrameAttachment。

移動附加件
新的附加件是在部件的中心創建的。因此,為了使它們能夠正常工作,這兩個附加件需要移動以面對彼此。
為了查看約束和附加件,從 Studio 的視圖菜單中切換到顯示約束詳情。
在Explorer中選擇FrameAttachment。

按 F 專注於該附加件,並在需要時進行縮放。然後,使用移動工具將附加件放置在門框的表面上,面對門。
對DoorAttachment重複同樣的操作。你的附加件應該被定位在面向其對應物的表面上。

旋轉附加件
附加件的取向影響約束的運動方式。對於這扇門,兩個附加件都必須旋轉,以便鉸鏈可以左右擺動,就像標準門那樣。
在門框上,將鼠標懸停在FrameAttachment上。注意黃色箭頭。這個箭頭,即軸心,決定了鉸鏈的旋轉。

為了精確旋轉,在 Studio 的工具欄中打開旋轉吸附,並檢查旋轉,然後將值設置為 90。

使用旋轉工具使 兩個黃色附加件指向向上。如果你的軸已經是垂直的,則不需要進行任何操作。

添加約束
記住,約束是一種連接兩個附加件以可特定方式運動的方法。這扇門將使用 HingeConstraint,一種常見的約束,可以沿著兩個附加件的軸旋轉物體。
在DoorFrame下,創建一個新的HingeConstraint。

在約束的屬性中,找到Attachment0。點擊屬性右側的空白框,然後在Explorer中點擊DoorAttachment。
重複同樣的過程,將Attachment1連接到FrameAttachment。屬性應如下所示。

測試項目,讓你的角色走進門中。
調整門
門目前能夠越過門框擺動。可以通過調整鉸鏈限制來修正這一點。
在HingeConstraint的屬性中,查找並切換LimitsEnabled。當啟用時,你可以設置鉸鏈的旋轉限制。

為了確保這一點正確對準,選擇DoorAttachment並使用旋轉工具使橙色箭頭指向門框,如下所示。

在屬性的限制部分,將 LowerAngle 和 UpperAngle 分別設置為 -90 和 90。這會創建一個運動範圍,如左側圖片所示。


測試門並注意到鉸鏈現在受到限制。
完成門後,花一些時間探索在不同情況下使用鉸鏈約束,例如陷阱門或搖擺的斧頭陷阱。
