PhysicsService

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Oluşturulamaz
Hizmet

PhysicsService öncelikle çarpışma grupları ile çalışma yöntemleri içerir. Bu, bir setin parçalarının diğer çarpışma gruplarıyla çarpışıp çarpışmad

Çarpışma grupları arasındaki çarpışma ilişkilerinin oluşturulması, silinmesi ve modifiyesi Scripts sunucusu tarafından sınırlıdır.

Stüdyo ve kodlardaki kullanım ayrıntıları için Çarpışma Filtresi bakın.

Özet

Yöntemler

Özellikler

Yöntemler

CollisionGroupSetCollidable

void

Çarpışma durumunu iki grubun arasında ayarlar. Bu yöntem, bir grupun kaydedilmemesi durumunda bir hata oluşturur, bu nedenle bu çağrıyı yapmadan önce PhysicsService:IsCollisionGroupRegistered() aracılığıyla her grupun kaydını onaylamanız önerilir.

Parametreler

name1: string
name2: string
collidable: bool

Dönüşler

void

CollisionGroupsAreCollidable

İki belirlenen çarpışma grubunun çarpışacağını döndürür. Bu yöntem, eğer herhangi bir grup unregistered ise, varsayılan çarpışma masasının tüm gruplarla çarpıştığından dolayı da doğrudur.

Parametreler

name1: string
name2: string

Dönüşler

GetMaxCollisionGroups

Motorun desteklediği çarpışma grubunun maksimum sayısını döndürür. Bu değer şu anda 32'dir.


Dönüşler

GetRegisteredCollisionGroups

dünyaçarpışma grupları hakkında tüm bilgileri içeren bir tablo döndürür. Döndürilen her değerin kendisi bir tablo ve iki üye içerir:


<tbody>
<tr>
<td>maske</td>
<td>sayı</td>
<td>Çarpıştırma grupmaske; sadece dahili kullanım için.</td>
</tr>
<tr>
<td>i̇sim</td>
<td>dizi</td>
<td>Çarpıştırma grupadı.</td>
</tr>
</tbody>
ÜyeTürAçıklama

Dönüşler

IsCollisionGroupRegistered

Çarpışma grubu kaydedildiğini kontrol eder. Bu, hatalı olmayan çarpışma grupları için yöntemleri çağırmadan önce bu yöntemi çağırmanızı tavsiye ederiz, örneğin PhysicsService:CollisionGroupSetCollidable() .

Parametreler

name: string

Dönüşler

RegisterCollisionGroup

void

Verilen isimle yeni bir çarpışma grubu kaydolur. İsim "Default" ile şu kadar yazılabilir.

Bu yöntemin çalışma alanındaki BaseParts sayısına bağlı olarak hafif bir performans üstesinden sahip olduğunu unutmayın, bu yüzden Studio editör aracılığıyla tüm çarpışma gruplar

Parametreler

name: string

Dönüşler

void

Kod Örnekleri

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

Belirli kayıtlı çarpışma grupyeniden adlandırır, ancak değil grubun kullandığı CollisionGroup özelliğini yeniden adlandırır. Bu yöntemin

Bu yöntem aşağıdaki durumlarda bir çalışma hatası oluşturur:

  • Herhangi bir argüman için geçersiz veya boş bir isim sağlar.
  • Yöntem bir klijeden çağrılır.

Bu yöntemin çalışma alanındaki BaseParts sayısına dayalı biraz performans üstelik olduğunu lütfen edinin, bu yüzden Studio editör aracılığıyla tüm çarpışma gruplarınızı kaydedin ve ismini olabildiğince sık değiştirin.

Parametreler

from: string
to: string

Dönüşler

void

UnregisterCollisionGroup

void

Verilen isim için çarpıştırma grubunu, aşağıdaki davranışlar ile kaydedilmez:

  • Geçersiz bir isim sağlanırsa, yöntem hiçbir şey yapmaz.
  • Yerleştirilen isim "Default" sağlanırsa ya da metodu bir istemci tarafından çağrılırsa bir hata oluşur.
  • Kaldırıldığında çarpışma grubunda herhangi bir parça varsa, bu parçalar hala aynı çarpışma grubu ismini korur. Fiziksel olarak kaldırılan bir parçanın bir grupa başka bir grupa taşınması önerilir, böylece "Default" grubu gibi bir grup başka bir grupa taşınır.

Bu yöntemin çalışma alanındaki BaseParts sayısına dayalı biraz performans üstelik olduğunu unutmayın, bu yüzden Studio 編輯器 aracılığıyla tüm çarpışma gruplarını kaydedin ve bu yöntemi olabildiğince sık çağırın.

Parametreler

name: string

Dönüşler

void

Etkinlikler