MeshPart
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
MeshPart adalah bentuk BasePart yang termasuk mesh khusus yang disimulasikan secara fisik.Tidak seperti dengan Kelasmesh lain, seperti SpecialMesh dan BlockMesh, mereka tidak diwarisi ke BasePart tetapi lebih berperilaku sebagai BasePart di hak mereka sendiri.
Mesh dan tekstur dari MeshPart ditentukan oleh properti MeshId dan TextureID . Untuk informasi lebih lanjut, lihat Meshes .
Rangkuman
Properti
Menentukan apakah akan menampilkan kedua wajah poligon di mesh.
Mesh yang ditampilkan di MeshPart . Mendukung URI aset dan EditableMesh.
URI aset dari mesh yang ditampilkan di MeshPart . Membaca dan menulis ke MeshContent.
Tingkat rincian yang digunakan untuk menampilkan MeshPart .
Tekstur yang diterapkan ke MeshPart . Mendukung URI aset dan EditableImage.
Tekstur yang diterapkan ke MeshPart . Membaca dan menulis ke TextureContent .
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 apakah bagian akan berinteraksi secara fisik dengan simulasi audio, mirip dengan CastShadow untuk pencahayaan.
Menentukan jenis permukaan untuk bagian belakang suku cadang.
Menentukan jenis permukaan untuk wajah bagian bawah suku cadang.
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.
Menentukan jenis permukaan untuk wajah kiri dari suku cadang.
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.
Menentukan offset dari 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 suku cadang.
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.
Menentukan berapa banyak bagian yang dapat dilihat melalui (kebalikan dari oposisi bagian).
Metode
Menggantikan MeshContent , TextureContent , dan properti geometri tabrakan dari sumber yang diberikan ini MeshPart dari sumber yang diberikan meshPart .
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
DoubleSided
Properti ini menentukan apakah akan menampilkan kedua wajah poligon di dalam mesh.Ini hanya dapat diubah di Studio.Ini berguna untuk meshes yang biasanya dibuat sebagai "kartu" seperti daun, rambut, atau kain.
HasJointOffset
HasSkinnedMesh
JointOffset
MeshContent
Mesh yang ditampilkan di MeshPart . Mendukung URI aset dan EditableMesh.
Perhatikan bahwa properti ini tidak dapat diubah langsung oleh skrip, karena geometri tabrakan dari mesh tidak dapat dihitung ulang secara real time.Lihat AssetService:CreateMeshPartAsync() sebagai metode untuk membuat baru MeshPart dari yang diberikan Content dengan CollisionFidelity tertentu. MeshPart:ApplyMesh() dapat digunakan untuk menghapus ulang MeshContent , TextureContent , dan geometri tabrakan dari sebuah MeshPart yang ada.
MeshId
URI aset dari mesh yang ditampilkan di MeshPart . Membaca dan menulis ke MeshContent.
Perhatikan bahwa properti ini tidak dapat diubah langsung oleh skrip, karena geometri tabrakan dari mesh tidak dapat dihitung ulang secara real time.Lihat AssetService:CreateMeshPartAsync() sebagai metode untuk membuat baru MeshPart dari yang diberikan Content dengan CollisionFidelity tertentu. MeshPart:ApplyMesh() dapat digunakan untuk menghapus ulang MeshContent , TextureContent , dan geometri tabrakan dari sebuah MeshPart yang ada.
RenderFidelity
Properti ini menentukan tingkat rincian yang akan ditampilkan oleh MeshPart . Ini dapat disetel ke nilai mungkin dari Enum.RenderFidelity enum.
Nilai default adalah Automatic , artinya rincian mesh didasarkan pada jaraknya dari kamera seperti yang dijelaskan dalam tabel berikut.
<th>Render Akurasi</th><th>Contoh</th></tr></thead><tbody><tr><td>Kurang dari 250 kancing</td><td>Tertinggi</td><td><img src="../../../assets/modeling/meshes/Render-Fidelity-High.jpg" width="200"></img></td></tr><tr><td>250-500 kancing</td><td>Sedang</td><td><img src="../../../assets/modeling/meshes/Render-Fidelity-Medium.jpg" width="200"></img></td></tr><tr><td>500 atau lebih banyak stud</td><td>Terendah</td><td><img src="../../../assets/modeling/meshes/Render-Fidelity-Low.jpg" width="200"></img></td></tr></tbody>
Jarak dari Kamera |
---|
TextureContent
Tekstur yang diterapkan ke MeshPart . Mendukung URI aset dan EditableImage.
Ketika properti ini diatur ke Content.none, tidak ada tekstur yang akan diterapkan ke mesh.
local Workspace = game:GetService("Workspace")local meshPart = Workspace.MeshPartmeshPart.TextureContent = Content.none -- No texture
Perhatikan bahwa properti MeshContent tidak dapat diubah langsung selama runtime tetapi teksturnya dapat.
Mengubah Teks Mesh
Menggunakan properti TextureContent, tekstur meshes dapat diubah tanpa harus mengunggah ulang meshes.Untuk melakukan ini, gambar baru dapat diunggah ke Roblox dengan tekstur yang diinginkan.File gambar tekstur asli dapat diperoleh dengan mengekspor mesh menggunakan opsi Ekspor Pilihan di Studio.File gambar akan disimpan bersama dengan file diekspor .obj .
Tekstur baru kemudian dapat diunggah ke Roblox sebagai stiker dan URI asetnya dapat diterapkan ke mesh menggunakan properti TextureContent atau TextureID.
TextureContent juga dapat ditetapkan untuk merujuk pada EditableImage yang belum dipublikasikan.
local AssetService = game:GetService("AssetService")local Workspace = game:GetService("Workspace")local meshPart = Workspace.MeshPartlocal editableImage = AssetService:CreateEditableImageAsync(meshPart.TextureContent)meshPart.TextureContent = Content.fromObject(editableImage) -- Live updates
Ketika TextureContent merujuk pada EditableImage , tekstur akan hidup diperbarui dengan setiap perubahan pada objek EditableImage.
Membuat Mesh Bertekstur
Mesh hanya dapat diberi tekstur jika mesh telah dipeta UV, mengacu pada praktik memproyeksikan peta tekstur ke mesh.Ini tidak dapat dilakukan menggunakan Roblox Studio dan harus dilakukan menggunakan aplikasi pemodelan 3D eksternal seperti Blender.
TextureID
Tekstur yang diterapkan ke MeshPart . Membaca dan menulis ke TextureContent .
Ketika properti ini diatur ke string kosong, tidak ada tekstur yang akan diterapkan ke mesh.
local Workspace = game:GetService("Workspace")local meshPart = Workspace.MeshPartmeshPart.TextureID = "" -- No texture
Perhatikan bahwa properti MeshPart.MeshId tidak dapat diubah selama runtime tetapi teksturnya dapat. Lihat TextureContent untuk rincian.
Metode
ApplyMesh
Menggantikan MeshContent , TextureContent , dan properti geometri tabrakan dari sumber yang diberikan ini MeshPart dari sumber yang diberikan meshPart .
Sebagian besar properti ini hanya dibaca dan tidak dapat diubah selama runtime sendiri secara langsung.Untuk menjaga MeshContent dan data fisika sinkron, mereka harus diperbarui bersama.
Menyalin properti berikut:
- MeshPart.MeshContent (implisit memperbarui MeshId )
- MeshPart.TextureContent (implisit memperbarui TextureID )
- MeshPart.CollisionFidelity (dengan geometri tabrakan internal apa pun)
- MeshPart.FluidFidelity (dengan geometri aero internal apa pun)