PartOperation

Tampilkan yang Tidak Digunakan Lagi

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Kelas abstrak yang semua bagian berdasarkan model solid mewarisi dari.

Rangkuman

Properti

Properti diwarisi dari TriangleMeshPartProperti diwarisi dari BasePartProperti diwarisi dari PVInstance

Metode

  • Mengganti geometri dari Class.PartOperation ini dengan geometri dari Class.PartOperation lainnya.

Metode diwarisi dari BasePartMetode diwarisi dari PVInstance

Acara

Acara diwarisi dari BasePart

Properti

RenderFidelity

Keamanan Plugin
Baca Paralel

Item ini menentukan tingkat rincian yang akan ditunjukkan bagian yang dibuat kuat. Ini dapat diatur ke nilai kemungkinan dari Enum.RenderFidelity 枚.

Nilai default adalah Automatic, yang berarti rincian bagian didasarkan pada jaraknya dari kamera seperti yang ditunjukkan dalam tabel berikut.


<tbody>
<tr>
<td>Kurang dari 250 stud</td>
<td>Tertinggi</td>
</tr>
<tr>
<td>250-500 stud</td>
<td>Sedang</td>
</tr>
<tr>
<td>500 atau lebih banyak stud</td>
<td>Tertendah</td>
</tr>
</tbody>
Jarak Dari KameraKesesuaian Rendah

SmoothingAngle

Keamanan Plugin
Baca Paralel

Properti ini mewakili sudut dalam derajat untuk nilai umum antara normal wajah di bagian berwarna tertentu. Jika perbedaan normal kurang dari nilai, normal akan disesuaikan untuk menyamarkan perbedaan. Sementara nilai antara 30 dan 70 derajat biasanya menghasilkan hasil yang baik, nilai antara 90 dan 180 tidak direkomendasikan karena d

Catat bahwa penyглаian tidak mengubah normals antara berbagai material atau warna yang berbeda.

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

Hanya Baca
Tidak Direplikasi
Baca Paralel

Jumlah pola dalam model kubus ini.

UsePartColor

Baca Paralel

Tetapkan apakah PartOperation dapat diubah menggunakan propperti BasePart.Color atau BasePart.BrickColor. Saat benar, seluruh uni akan diubah sesuai dengan 1> Class.

Metode

SubstituteGeometry

void

Mengganti geometri dari PartOperation ini dengan geometri dari PartOperation lainnya. Ini membuat lebih mudah untuk menggunakan geometri

Catat bahwa jika Anda menelepon metode ini di PartOperation dengan anak anjing Attachments atau Constraints, Anda harus menghitung instans yang terpengaruh dengan 1> Class.GeometryService:CalculateSecondsToPreserve()|CalculateSecondsToPreserve()

Parameter

source: Instance

The PartOperation whose geometry will substitute the geometry of this PartOperation .


Memberikan nilai

void

Contoh Kode

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

Acara