PhysicsService

Hiển Thị Bản Đã Lỗi Thời

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Không Thể Tạo
Dịch Vụ

PhysicsService chủ yếu chứa các phương thức làm việc với nhóm va chạm định xem một bộ phận có thể hay không va chạm với các bộ phận trong n

Tạo, xóa và điều chỉnh mối quan hệ va chạm giữa các nhóm va chạm là giới hạn ở phía máy chủ Scripts .

Xem Lọc va chạm để biết chi tiết sử dụng trong Studio và trong các tập lệnh.

Tóm Tắt

Phương Pháp

Thuộc Tính

Phương Pháp

CollisionGroupSetCollidable

void

Đặt tình trạng va chạm giữa hai nhóm. Phương thức này sẽ thả một lỗi nếu một trong những nhóm không được đăng ký, vì vậy nó được khuyến nghị rằng bạn xác nhận sự đăng ký của mỗi nhóm qua PhysicsService:IsCollisionGroupRegistered() trước khi thực hiện cuộc gọi n

Tham Số

name1: string
name2: string
collidable: bool

Lợi Nhuận

void

CollisionGroupsAreCollidable

Trả về whether the two specified collision groups will collide. This method will also return true if either of the groups are unregistered, as the default collision mask collides with all groups.

Tham Số

name1: string
name2: string

Lợi Nhuận

GetMaxCollisionGroups

Trả lại số lượng tối đa các nhóm va chạm mà máy chủ hỗ trợ. Giá trị này hiện tại là 32.


Lợi Nhuận

GetRegisteredCollisionGroups

Trả lại một bảng với các thông tin về tất cả các nhóm va chạm của địa điểmnày. Mỗi giá trị trong bảng trả lại là một bảng và chứa hai thành viên:


<tbody>
<tr>
<td>mặt nạ</td>
<td>số</td>
<td>Mặt nạ của nhóm va chạm; chỉ dùng cho mục đích nội bộ.</td>
</tr>
<tr>
<td>tên</td>
<td>chuỗi</td>
<td>Tên của nhóm va chạm.</td>
</tr>
</tbody>
Thành viênKiểuMô tả

Lợi Nhuận

IsCollisionGroupRegistered

Kiểm tra xem một nhóm va chạm đã được đăng ký không. Nên gọi phương thức này trước khi gọi các phương thức đổ lỗi cho nhóm va chạm không đăng ký, chẳng hạn như PhysicsService:CollisionGroupSetCollidable() .

Tham Số

name: string

Lợi Nhuận

RegisterCollisionGroup

void

Đăng ký một nhóm va chạm mới với tên đã được đặt. Tên không thể là "Default" .

Lưu ý rằng phương thức này có một lớp trên cùng mỏng dính dựa trên số lượng BaseParts trong workspace, vì vậy nó được khuyến nghị rằng bạn đăng nhậ

Tham Số

name: string

Lợi Nhuận

void

Mẫu mã

PhysicsService:RegisterCollisionGroup

local PhysicsService = game:GetService("PhysicsService")
local collisionGroupBall = "CollisionGroupBall"
local collisionGroupDoor = "CollisionGroupDoor"
-- Register collision groups
PhysicsService:RegisterCollisionGroup(collisionGroupBall)
PhysicsService:RegisterCollisionGroup(collisionGroupDoor)
-- Assign parts to collision groups
script.Parent.BallPart.CollisionGroup = collisionGroupBall
script.Parent.DoorPart.CollisionGroup = collisionGroupDoor
-- Set groups as non-collidable with each other and check the result
PhysicsService:CollisionGroupSetCollidable(collisionGroupBall, collisionGroupDoor, false)
print(PhysicsService:CollisionGroupsAreCollidable(collisionGroupBall, collisionGroupDoor)) --> false

RenameCollisionGroup

void

Đổi tên nhóm đăng ký đã đăng ký, nhưng không không đổi tên CollisionGroup property của các bộ phận sử dụng n

Phương thức này sẽ ném một lỗi lúc khởi động điều kiện sau:

  • Tên không hợp lệ hoặc trống cho một trong những lý do.
  • Phương thức được gọi từ một client.

Lưu ý rằng phương pháp này có một lớp trì hoãn hiệu suất nhỏ dựa trên số lượng BaseParts trong workspace, vì vậy nó được khuyến nghị rằng bạn đăng ký tất cả các nhóm va chạm ở thời điểm chỉnh sửa thông qua Studio editor và đổi tên chúng nh

Tham Số

from: string
to: string

Lợi Nhuận

void

UnregisterCollisionGroup

void

Không đăng nhập nhóm va chạm cho tên đã được đăng nhập, với các hành vi sau đây:

  • Nếu cung cấp một tên không hợp lệ, phương thức sẽ không làm bất cứ điều gì.
  • Nếu tên được dự phòng "Default" được cung cấp hoặc nếu phương thức được gọi từ một client, nó sẽ ném một lỗi.
  • Nếu có bất kỳ phần nào trong nhóm va chạm khi nó được xóa, những phần đó vẫn sẽ duy trì cùng một tên nhóm va chạm. Hành vi vật lý của các phần trong một nhóm bị xóa là không xác định, vì vậy đề nghị di chuyển bất kỳ phần nào trong một nhóm bị xó

Lưu ý rằng phương pháp này có một lớp trì hoãn hiệu suất nhỏ dựa trên số lượng BaseParts trong workspace, vì vậy nó được khuyến nghị rằng bạn đăng nhập tất cả các nhóm va chạm ở thời điểm chỉnh sửa thông qua Studio editor và gọi phương ph

Tham Số

name: string

Lợi Nhuận

void

Sự Kiện