PartOperation

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.

Tüm parçaların katı modellenmeye dayanarak miras aldığı soyut bir sınıf.

Özet

Özellikler

  • Eklenti Güvenliği
    Paralel oku

    Katı modellenmiş parçayı görselleştirmek için kullanılan ayrıntı seviyesi.

  • Eklenti Güvenliği
    Paralel oku

    Katı modellenmiş bir parçanın pürüzsüz gölgelenmesini etkileyen derecelik bir açı.

  • Salt Okunur
    Çoğaltılmamış
    Paralel oku

    Bu katı modeldeki çokgen sayısı.

  • PartOperation 'nin miras alınan renk özellikleri kullanılarak yeniden renklendirilebilir olup olmadığını ayarlar.

Şuradan alınan Özellikler: TriangleMeshPartŞuradan alınan Özellikler: BasePartŞuradan alınan Özellikler: PVInstance

Yöntemler

Şuradan alınan Yöntemler: BasePartŞuradan alınan Yöntemler: PVInstance

Etkinlikler

Şuradan alınan Etkinlikler: BasePart

Özellikler

RenderFidelity

Eklenti Güvenliği
Paralel oku

Bu özellik, katı modellenmiş parçanın gösterileceği ayrıntı seviyesini belirler.Enum.RenderFidelity enum'in olası değerlerine ayarlanabilir.

Varsayılan değer Automatic , yani parçanın ayrıntıları aşağıdaki tabloda belirtildiği gibi kameradan uzaklığına dayanıyor.


<th>Görüntü Kalitesi Render Etme</th>
</tr>
</thead>
<tbody>
<tr>
<td>250'den az çiviler</td>
<td>En yüksek</td>
</tr>
<tr>
<td>250-500 çiviler</td>
<td>Orta düzey</td>
</tr>
<tr>
<td>500 veya daha fazla saplama</td>
<td>En Düşük</td>
</tr>
</tbody>
Kamera'dan mesafe

SmoothingAngle

Eklenti Güvenliği
Paralel oku

Bu özellik, katı modellenmiş bir parçada yüz normalleri arasında bir eşik değeri için derecelik bir açı temsil eder.Normal fark değeri değerden daha az ise, normaller farkı düzleştirmek için ayar edilecektir.30 ile 70 derece arasındaki bir değer genellikle iyi bir sonuç verirken, 90 ile 180 arasındaki değerler keskin kenarlı sendikalara "gölgeleme" etkisi yaratabileceğinden önerilmez.

Düzleştirmenin farklı malzemeler veya farklı renkler arasındaki normal değerleri etkilemediğini unutmayın.

Solid modeled part with SmoothingAngle of 0

<figcaption><code>Class.PartOperation.SmoothingAngle|SmoothingAngle</code> = 0</figcaption>
Solid modeled part with SmoothingAngle of 50

<figcaption><code>Class.PartOperation.SmoothingAngle|SmoothingAngle</code> = 50</figcaption>

TriangleCount

Salt Okunur
Çoğaltılmamış
Paralel oku

Bu katı modeldeki çokgen sayısı.

UsePartColor

Paralel oku

PartOperation ın BasePart.Color veya BasePart.BrickColor özelliklerini kullanarak yeniden renklendirilebilir olup olmadığını ayarlar.Gerçek olduğunda, tüm birlik şu şekilde renklenecektir: Color veya BrickColor.Yanlış olduğunda, birliğin parçaları soğan işlemi yapılmadan önce orijinal renklerini korur.

Yöntemler

SubstituteGeometry

()

Bu PartOperation ın geometrisini başka bir PartOperation geometrisiyle değiştirir.Bu, , veya gibi katı modelleme işlemlerinin geometrisini kullanmayı kolaylaştırır, ancak özellikleri, öznitelikleri, etiketleri ve ana parçanın çocuklarını korur, ışık nesneleri, resimler ve daha fazlası gibi ana parçanın özelliklerini korur.Bu yaklaşım ayrıca orijinal PartOperation 'yi başka biriyle tamamen değiştirmenin potansiyel "flicker"ini de atlar.

Bu yöntemi çocuk PartOperation veya çocuk Attachments veya çocuk Constraints ile çağırıyorsanız, etkilenen örnekleri CalculateConstraintsToPreserve() ile hesaplamalı ve önerilen ebeveyniniz nil olanları bırakmalısınız.

Parametreler

source: Instance

Geometrisi bu PartOperation 'in geometrisini değiştirecek olan PartOperation .

Varsayılan değer: ""

Dönüşler

()

Kod Örnekleri

The following example substitutes the geometry of one PartOperation with the geometry of another PartOperation, then drops constraints/attachments that should not be preserved after substitution.

Substitute Geometry and Drop Constraints

local GeometryService = game:GetService("GeometryService")
local mainPart = workspace.PurpleBlock
local otherParts = { workspace.BlueBlock }
local options = {
CollisionFidelity = Enum.CollisionFidelity.Default,
RenderFidelity = Enum.RenderFidelity.Automatic,
SplitApart = false,
}
local constraintOptions = {
tolerance = 0.1,
weldConstraintPreserve = Enum.WeldConstraintPreserve.All,
}
-- Perform union operation in pcall() since it's asyncronous
local success, newParts = pcall(function()
return GeometryService:UnionAsync(mainPart, otherParts, options)
end)
if success and #newParts > 0 and mainPart:IsA("PartOperation") then
-- Set first part in resulting operation as part to use for substitution
-- First part is simply an option; this can be any PartOperation
local substitutePart = newParts[1]
-- Reposition part to the position of main part
substitutePart.CFrame = mainPart.CFrame
-- Calculate constraints/attachments to either preserve or drop
local recommendedTable = GeometryService:CalculateConstraintsToPreserve(mainPart, newParts, constraintOptions)
-- Substitute main part's geometry with substitution geometry
mainPart:SubstituteGeometry(substitutePart)
-- Drop constraints/attachments that are not automatically preserved with substitution
for _, item in pairs(recommendedTable) do
if item.Attachment then
if item.ConstraintParent == nil then
item.Constraint.Parent = nil
end
if item.AttachmentParent == nil then
item.Attachment.Parent = nil
end
elseif item.WeldConstraint then
if item.Parent == nil then
item.WeldConstraint.Parent = nil
end
end
end
-- Destroy other parts
for _, otherPart in pairs(otherParts) do
otherPart.Parent = nil
otherPart:Destroy()
end
end

Etkinlikler