PartOperation
*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 pemodelan padat mewarisi dari.
Rangkuman
Properti
Tingkat rincian yang digunakan untuk menampilkan bagian berbentuk padat.
Sudut dalam derajat yang mempengaruhi pengecasan halus dari bagian berbentuk solid.
Jumlah poligon dalam model solid ini.
Mengatur apakah PartOperation dapat diubah warnanya menggunakan properti warna yang diwarisi.
Menentukan tingkat rincian fisika bagian akan mematuhi meshnya.
Menentukan representasi geometris yang digunakan untuk menghitung kekuatan aerodinamik dan torsi.
Menentukan apakah suku cadang tidak dapat dipindahkan oleh fisika.
Kecepatan sudut dari penggabungan bagian.
Pusat massa dari pengumpulan bagian di ruang dunia.
Kecepatan linier dari penggabungan bagian.
Massa total dari penggabungan bagian.
Referensi ke bagian akar dari kumpulan.
Menentukan jenis permukaan untuk Sisi Belakang suku cadang (+Z arah).
Menentukan jenis permukaan untuk wajah Bawah dari suku cadang (-Y arah).
Menentukan warna suku cadang.
Menentukan posisi dan orientasi BasePart di dunia.
Menentukan apakah bagian dapat bertabrakan dengan bagian lain.
Menentukan apakah bagian tersebut dianggap selama operasi pencarian spasial.
Menentukan apakah Touched dan TouchEnded peristiwa terbakar di bagian.
Menentukan apakah bagian itu melemparkan bayangan atau tidak.
Menggambarkan posisi dunia di mana pusat massa bagian terletak.
Menggambarkan nama grup tabrakan bagian.
Menentukan warna suku cadang.
Menunjukkan properti fisik saat ini dari bagian.
Menentukan beberapa properti fisik dari suku cadang.
Digunakan untuk mengaktifkan atau menonaktifkan kekuatan aerodinamik pada bagian dan kumpulan.
Ukuran fisik aktual dari BasePart sebagai dianggap oleh mesin fisika.
Menentukan jenis permukaan untuk wajah depan suku cadang (-Z arah).
Menentukan jenis permukaan untuk wajah Kiri dari suku cadang (-X arah).
Menentukan pengganda untuk BasePart.Transparency yang hanya terlihat oleh klien lokal.
Menentukan apakah bagian dapat dipilih di Studio.
Menggambarkan massa bagian, produk dari kepadatan dan volumenya.
Menentukan apakah bagian berkontribusi pada massa total atau inersia tubuh kaku.
Menentukan tekstur dan properti fisik default dari suku cadang.
Nama MaterialVariant .
Menggambarkan rotasi bagian di dunia.
Mengidentifikasi offset pivot bagian dari CFrame nya.
Menggambarkan posisi bagian di dunia.
Waktu sejak pembaruan fisika terakhir update.
Menentukan seberapa banyak bagian mencerminkan skybox.
Menggambarkan perubahan terkecil dalam ukuran yang diizinkan oleh metode Resize.
Menggambarkan wajah di mana bagian dapat diubah ukurannya.
Menentukan jenis permukaan untuk wajah Kanan dari suku cadang (+X arah).
Aturan utama dalam menentukan bagian akar dari sebuah kumpulan.
Rotasi bagian dalam derajat untuk tiga sumbu.
Menentukan dimensi suku cadang (panjang, lebar, tinggi).
Menentukan jenis permukaan untuk bagian atas wajah suku cadang (+Y arah).
Menentukan berapa banyak bagian yang dapat dilihat melalui (kebalikan dari oposisi bagian).
Metode
Menggantikan geometri dari ini PartOperation dengan geometri dari yang lain PartOperation .
Terapkan dorongan sudut ke kumpulan.
Terapkan impuls ke kumpulan di kumpulan center of mass .
Terapkan impuls ke kumpulan di posisi yang ditentukan.
Kembalikan apakah bagian dapat bertabrakan satu sama lain.
Memeriksa apakah Anda dapat mengatur kepemilikan jaringan bagian.
Kembalikan tabel bagian yang terhubung ke objek dengan jenis persambungan kaku apa pun.
Kembalikan semua Persyaratan atau Batasan yang terhubung ke Bagian ini.
Kembalikan nilai properti Mass .
Kembalikan pemain saat ini yang merupakan pemilik jaringan dari bagian ini, atau nil dalam kasus server.
Kembali benar jika mesin permainan secara otomatis memutuskan pemilik jaringan untuk bagian ini.
Kembalikan bagian dasar dari kumpulan bagian.
Kembalikan tabel semua bagian BasePart.CanCollide nyata yang berpotongan dengan bagian ini.
Kembalikan kecepatan linier penggabungan bagian pada posisi yang diberikan relatif terhadap bagian ini.
Kembalikan benar jika objek terhubung ke bagian yang akan menahan di tempatnya (sebagai contoh bagian Anchored), jika tidak maka kembalikan false.
Mengubah ukuran objek seperti menggunakan alat perubah ukuran Studio.
Atur pemain yang diberikan sebagai pemilik jaringan untuk ini dan semua bagian yang terhubung.
Membiarkan mesin permainan dinamis memutuskan siapa yang akan menangani fisika bagian (salah satu klien atau server).
- IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Membuat baru IntersectOperation dari geometri tumpang tindih dari bagian dan bagian lain dalam array yang diberikan.
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Membuat baru UnionOperation dari bagian, minus geometri yang ditempati oleh bagian dalam array yang diberikan.
- UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Membuat baru UnionOperation dari bagian, plus geometri yang ditempati oleh bagian dalam array yang diberikan.
Mendapatkan pivot dari PVInstance .
Mengubah PVInstance bersama dengan semua keturunannya PVInstances sehingga pivot sekarang terletak di lokasi yang ditentukan CFrame .
Acara
Acara diwarisi dari BasePartMelepaskan api ketika bagian berhenti menyentuh bagian lain sebagai hasil dari gerakan fisik.
Melepaskan api ketika bagian menyentuh bagian lain sebagai hasil dari gerakan fisik.
Properti
RenderFidelity
Properti ini menentukan tingkat rincian yang akan ditampilkan bagian berbentuk padat.Ini dapat ditetapkan ke nilai mungkin dari Enum.RenderFidelity enum.
Nilai default adalah Automatic , artinya rincian bagian berdasarkan jaraknya dari kamera seperti yang dijelaskan dalam tabel berikut.
<th>Render Akurasi</th></tr></thead><tbody><tr><td>Kurang dari 250 kancing</td><td>Tertinggi</td></tr><tr><td>250-500 kancing</td><td>Sedang</td></tr><tr><td>500 atau lebih kancing</td><td>Terendah</td></tr></tbody>
Jarak dari Kamera |
---|
SmoothingAngle
Properti ini mewakili sudut dalam derajat untuk nilai ambang batas antara normal wajah pada bagian model berpadat.Jika perbedaan normal kurang dari nilai, normals akan disesuaikan untuk meredam perbedaan.Sementara nilai antara 30 dan 70 derajat biasanya menghasilkan hasil yang baik, nilai antara 90 dan 180 tidak direkomendasikan karena dapat menyebabkan efek "pencahayaan" pada serikat dengan tepi tajam.
Perhatikan bahwa penyглаживаan tidak mempengaruhi normal antara berbagai materi atau warna yang berbeda.

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

<figcaption><code>Class.PartOperation.SmoothingAngle|SmoothingAngle</code> = 50</figcaption>
UsePartColor
Mengatur apakah PartOperation dapat diubah warnanya menggunakan properti BasePart.Color atau BasePart.BrickColor.Ketika benar, seluruh serikat akan diwarnai sesuai dengan Color atau BrickColor .Ketika palsu, bagian dalam serikat akan mempertahankan warna asli mereka sebelum operasi bawang dilakukan.
Metode
SubstituteGeometry
Menggantikan geometri dari ini PartOperation dengan geometri dari yang lain PartOperation .Ini membuat lebih mudah untuk memanfaatkan geometri dari operasi pemodelan padatan seperti UnionAsync() , SubtractAsync() , atau IntersectAsync() tetapi mempertahankan properti, atribut, tag, dan anak-anak dari bagian utama seperti Attachments , Constraints , ParticleEmitters , objek ringan, stiker, dan lainnya.Pendekatan ini juga mengelilingi "flicker" potensial penggantian sepenuhnya asli PartOperation dengan yang lain.
Perhatikan bahwa jika Anda memanggil metode ini pada PartOperation dengan anak Attachments atau Constraints , Anda harus menghitung instans yang terpengaruh dengan CalculateConstraintsToPreserve() , kemudian menjatuhkan mereka yang orangtuanya direkomendasikan adalah nil .
Parameter
The PartOperation yang geometrinya akan menggantikan geometri dari ini PartOperation .
Memberikan nilai
Contoh Kode
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.
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