Pemodelan padat adalah proses bergabung bagian bersama-sama dengan cara unik untuk membentuk bentuk yang lebih kompleks yang dikenal sebagai serikat atau persimpangan .Anda dapat melakukan empat operasi pemodelan solid menggunakan alat di tab Model dalam bilah alat.

Alat | Jalan pintas | Deskripsi |
---|---|---|
Persatuan | ShiftCtrlG (Windows) Shift⌘G (Mac) | Bergabung dua atau lebih bagian bersama untuk membentuk satu persatuan padat tunggal. |
Terpotong | ShiftCtrlI (Windows) Shift⌘I (Mac) | Menyilangkan bagian tumpang tindih ke dalam satu persimpangan padat. |
Menolak | ShiftCtrlN (Windows) Shift⌘N (Mac) | Tolak bagian, berguna untuk membuat lubang dan indentasi. |
Terpisah | ShiftCtrlU (Windows) Shift⌘U (Mac) | Pisahkan serikat atau persimpangan kembali ke bagian-bagian individunya. |
Bagian serikat
Alat Uni bergabung dengan dua atau lebih bagian bersama untuk membentuk satu solid UnionOperation.Secara default, serikat baru menghormati properti Color dari masing-masing bagiannya, meskipun Anda dapat mengaktifkan properti UsePartColor untuk mengubah seluruh serikat ke warna tertentu.

Untuk menggabungkan bagian bersama-sama menjadi serikat:
- Pilih semua bagian yang ingin Anda gabungkan bersama.
Interseks bagian
Alat Intersect memotong bagian tumpang tindih ke dalam satu solid IntersectOperation .Secara default, warna wajah dari persimpangan hasil dipinjam dari properti Color dari bagian asli, meskipun Anda dapat mengaktifkan properti UsePartColor untuk mengubah seluruh persimpangan menjadi warna tertentu.

Untuk menyilangkan bagian tumpang tindih bersama:
- Pilih semua bagian yang ingin Anda interseksikan.
- Klik tombol Intersect . Semua bagian bergabung menjadi satu solid IntersectOperation dengan nama Intersection .
Tolak bagian
Alat Menyangkal menyangkal bagian sehingga ketika digabungkan dengan bagian lain, bentuk bagian yang dieliminasi dikurangi dari bagian lain.

Untuk mengurangkan bagian dari bagian tumpangan lain:
- Pilih bagian yang ingin Anda singkirkan dari bagian lain.
- Klik Menyangkal . Bagian menjadi NegateOperation dengan nama Bagian Negatif dan berubah menjadi merah muda dan transparan untuk menunjukkan statusnya.
- Pilih bagian yang dibatalkan dan bagian yang ingin Anda kurangi dari.
- Klik Union . Bagian yang dibatalkan dipotong dari bagian tumpangan yang termasuk.
Serikat terpisah atau persimpangan
Alat Terpisah memisahkan kembali sebuah UnionOperation ke dalam bagian-bagiannya masing-masing, pada dasarnya berfungsi sebagai alat "membatalkan" untuk serikat dan persimpangan.
Untuk memisahkan serikat atau persimpangan kembali ke bagian-bagian individu:
- Pilih serikat atau persimpangan.
- Klik Terpisah . Bagian-bagian terpisah kembali ke bentuk aslinya.
Render kesetiaan
Secara default, operasi model solid baru akan selalu ditampilkan dalam render fidelitas Automatic, yang berarti rincian bagian didasarkan pada jaraknya dari kamera seperti yang dijelaskan dalam tabel berikut.
Jarak dari kamera | Render kesetiaan |
---|---|
Kurang dari 250 kancing | Tertinggi |
250-500 kancing | Sedang |
500 atau lebih kancing | Terendah |
Sudut mengkilap
Properti bagian berbentuk solid yang dimodelkan SmoothingAngle memperhalus sudut antara permukaan berdekatan dari warna atau bahan yang sama.Nilai yang lebih tinggi menghasilkan penampilan yang lebih halus sementara nilai yang lebih rendah menghasilkan penampilan yang lebih kasar dengan lebih banyak tepi tajam.
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 dan persimpangan dengan tepi tajam.


Pemodelan solid dalam Modeling
Selain dari Union , Intersect , dan Menyangkal alat di Studio, Anda dapat mengizinkan pemain menggunakan operasi pemodelan solid saat berada di dalam pengalaman melalui UnionAsync() , IntersectAsync() , dan SubtractAsync().Semua metode ini harus dipanggil pada BasePart dan mereka semua memerlukan array dari satu atau lebih bagian untuk bersatu, berinteraksi, atau dikurangi dari bagian yang dipanggil.
UnionAsync()
Untuk menunjukkan , berikut adalah menggunakan Bagian1 dari ruang kerja, menggabungkannya dengan Bagian2 , Bagian3 , dan Bagian4 , kemudian orangtuanya ke ruang kerja pada posisi asli dari Bagian1 .
local Workspace = game:GetService("Workspace")
local mainPart = Workspace.Part1
local otherParts = {Workspace.Part2, Workspace.Part3, Workspace.Part4}
-- Lakukan operasi persatuan
local success, newUnion = pcall(function()
return mainPart:UnionAsync(otherParts)
end)
-- Jika operasi berhasil, posisikan di lokasi yang sama dan berikan ke ruang kerja
if success and newUnion then
newUnion.Position = mainPart.Position
newUnion.Parent = Workspace
end
-- Hancurkan bagian asli yang tetap utuh setelah operasi
mainPart:Destroy()
for _, part in otherParts do
part:Destroy()
end
Interseksi Async()
Untuk menunjukkan , berikut menggunakan Bagian1 dari ruang kerja, melintasi dengan Bagian2 dan Bagian3 , kemudian orang tua hasilnya ke ruang kerja di posisi asli dari Bagian1 .
local Workspace = game:GetService("Workspace")
local mainPart = Workspace.Part1
local otherParts = {Workspace.Part2, Workspace.Part3}
-- Lakukan operasi intersepsi
local success, newIntersect = pcall(function()
return mainPart:IntersectAsync(otherParts)
end)
-- Jika operasi berhasil, posisikan di lokasi yang sama dan berikan ke ruang kerja
if success and newIntersect then
newIntersect.Position = mainPart.Position
newIntersect.Parent = Workspace
end
-- Hancurkan bagian asli yang tetap utuh setelah operasi
mainPart:Destroy()
for _, part in otherParts do
part:Destroy()
end
Subtraksi Async()
Untuk menunjukkan , berikut menggunakan Bagian1 dari ruang kerja, menyangkal Bagian2 , Bagian3 , dan Bagian4 dari itu, kemudian orang tua hasilnya ke ruang kerja di posisi asli dari Bagian1 .
local Workspace = game:GetService("Workspace")
local mainPart = Workspace.Part1
local otherParts = {Workspace.Part2, Workspace.Part3, Workspace.Part4}
-- Lakukan operasi kurang
local success, newSubtract = pcall(function()
return mainPart:SubtractAsync(otherParts)
end)
-- Jika operasi berhasil, posisikan di lokasi yang sama dan berikan ke ruang kerja
if success and newSubtract then
newSubtract.Position = mainPart.Position
newSubtract.Parent = Workspace
end
-- Hancurkan bagian asli yang tetap utuh setelah operasi
mainPart:Destroy()
for _, part in otherParts do
part:Destroy()
end