PhysicsService

แสดงที่เลิกใช้งานแล้ว

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

ไม่สามารถสร้าง
บริการ

PhysicsService ประกอบด้วยวิธีการทำงานกับ กลุ่มความร่วมมือ ซึ่งจะกำหนดว่าชุดอะไหล่อาจหรืออาจ

การสร้าง, ลบ, และปรับแต่งความสัมพันธ์ของการชนกันระหว่างกลุ่มความร่วมชนกันจำกัดอยู่ที่ด้านเซิร์ฟเวอร์ Scripts

ดู การกรองการชน สำหรับรายละเอียดการใช้งานใน Studio และภายในสคริป

สรุป

วิธีการ

คุณสมบัติ

วิธีการ

CollisionGroupSetCollidable

void

ตั้งสถานะการชนกันระหว่างกลุ่มสองกลุ่ม วิธีนี้จะแสดงข้อผิดพลาดหากหนึ่งในกลุ่มไม่ได้ลงทะเบียน ดังนั้นจึงแนะนำให้คุณยืนยันการลงทะเบียนของแต่ละกลุ่มผ่าน Class.PhysicsService:IsCollisionGroupRegistered()</

พารามิเตอร์

name1: string
name2: string
collidable: bool

ส่งค่ากลับ

void

CollisionGroupsAreCollidable

กลับว่ากลุ่มความสามัคคีที่กำหนดจะชนกันหรือไม่ วิธีนี้จะกลับมาเป็นจริงหากหนึ่งในกลุ่มไม่ได้ลงทะเบียน เนื่องจากวิธีการความสามัคคีเริ่มต้นจะชนกับกลุ่มทั้งหมด

พารามิเตอร์

name1: string
name2: string

ส่งค่ากลับ

GetMaxCollisionGroups

กลับจำนวนกลุ่มสาธารณะการโชนสูงสุดที่รองรับโดยเครื่องยนต์ ค่านี้ปัจจุบันอยู่ที่ 32


ส่งค่ากลับ

GetRegisteredCollisionGroups

กลับตารางที่มีข้อมูลเกี่ยวกับกลุ่มความสามัคคีของสถานที่ทั้งหมด แต่ละค่าในตารางที่กลับมาเป็นตารางและประกอบด้วยสองสมาชิก:


<tbody>
<tr>
<td>หน้ากาก</td>
<td>ตัวเลข</td>
<td>หน้ากากกลุ่มความสามัคคี; สำหรับการใช้งานภายในเท่านั้น</td>
</tr>
<tr>
<td>ชื่อ</td>
<td>สตริง</td>
<td>ชื่อของกลุ่มความสามัคคี</td>
</tr>
</tbody>
สมาชิกชนิดคำอธิบาย

ส่งค่ากลับ

IsCollisionGroupRegistered

ตรวจสอบว่ามีกลุ่มความสามัคคีได้รับการลงทะเบียนหรือไม่ คุณควรเรียกวิธีนี้ก่อนที่จะเรียกวิธีที่โยนข้อผิดพลาดสำหรับกลุ่มความสามัคคีที่ไม่ได้ลงทะเบียน เช่น PhysicsService:CollisionGroupSetCollidable()

พารามิเตอร์

name: string

ส่งค่ากลับ

RegisterCollisionGroup

void

ลงทะเบียนกลุ่มความสามัคคีใหม่ด้วยชื่อที่กำหนด ชื่อไม่สามารถเป็น "Default" ได้

โปรดทราบว่าวิธีนี้มีประสิทธิภาพเล็กน้อยขึ้นอยู่กับจำนวน BaseParts ในพื้นที่ทำงานดังนั้นจึงแนะนำให

พารามิเตอร์

name: string

ส่งค่ากลับ

void

ตัวอย่างโค้ด

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

เปลี่ยนชื่อกลุ่มชนะลงทะเบียนที่กำหนด แต่ไม่ ไม่ได้ เปลี่ยนชื่อ CollisionGroup ขอ

วิธีนี้จะส่งข้อผิดพลาดในระหว่างการทำงานของตัวเรือ

  • ชื่อไม่ถูกต้องหรือว่างเปล่าที่ให้สำหรับข้อมูลทั้งสอง
  • วิธีการถูกเรียกจากลูกค้า

โปรดทราบว่าวิธีนี้มีประสิทธิภาพเล็กน้อยขึ้นอยู่กับจำนวน BaseParts ในพื้นที่ทำงานดังนั้นจึงแนะนำให้คุณลงทะเบียนกลุ่มความสัมพันธ์ทั้งหมดในเวลาการแก้ไขผ่าน

พารามิเตอร์

from: string
to: string

ส่งค่ากลับ

void

UnregisterCollisionGroup

void

ไม่ลงทะเบียนกลุ่มความสามัคคีสำหรับชื่อที่ให้ไว้ด้วยพฤติกรรมต่อไปนี้:

  • หากให้ชื่อที่ไม่ถูกต้อง วิธีนี้จะไม่ทำอะไร
  • หากชื่อที่จองไว้ "Default" หรือ หากวิธีการถูกเรียกจากลูกค้า จะส่งผลให้เกิดข้อผิดพลาด * หากมีส่วนใดในกลุ่มความสามัคคีเมื่อถูกลบออกไป ส่วนเหล่านั้นจะยังคงใช้ชื่อกลุ่มความสามัคคีเดียวกัน พฤติกรรมทางกายภาพของส่วนในกลุ่มที่ถูกลบออกไปยังกลุ่มอื่น เช่น

โปรดทราบว่าวิธีนี้มีประสิทธิภาพเล็กน้อยขึ้นอยู่กับจำนวน BaseParts ในพื้นที่ทำงานดังนั้นจึงแนะนำให้คุณลงทะเบียนกลุ่มความสามัคคีทั้งหมดในเวลาการแก้ไขผ่าน

พารามิเตอร์

name: string

ส่งค่ากลับ

void

อีเวนต์