PhysicsService
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
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
Özellikler
Yöntemler
Çarpışma durumunu iki grubun arasında ayarlar.
İki grubun çarpışacağını döndürür.
Çarpışma gruplarının maksimum sayısını iade eder.
Tüm dünyaçarpışma grupları hakkında bilgi içeren bir tablo döndürür.
Çarpışma grubu kaydedildiğini kontrol eder.
Verilen isimle yeni bir çarpışma grubu kaydolur.
Belirli çarpışma grupyeniden adlandırılır.
Verilen isim için çarpıştırma grubunu kaydedilmez.
Özellikler
Yöntemler
CollisionGroupSetCollidable
Ç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
Dönüşler
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
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>
Üye | Tür | Açı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
Dönüşler
RegisterCollisionGroup
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
Dönüşler
Kod Örnekleri
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
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
Dönüşler
UnregisterCollisionGroup
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.