Dapatkan semua segitiga mesh dalam suatu objek
Aug 18 2020
Saya ingin berinteraksi dengan peta spasial / mesh yang saya akses melalui mrtk. Saya ingin membuat instance bola pada posisi kursor dan mendapatkan setiap segitiga jaring spasial yang ada di dalam bola, jadi saya bisa memotongnya dan menyimpannya untuk saya . Saya tahu cara membuat instance dan memposisikan bola dan saya tahu cara mendapatkan mesh spasial melalui sdk pemahaman adegan, tetapi saya tidak tahu cara melakukan pendekatan ini. Untuk lebih memahami apa yang ingin saya coba, saya telah menggambar sketsa kecil:

--Edit & Solusi--
- TriggerEnter & -Exit untuk mendapatkan objek bertabrakan
- Sphere / Cube / Apapun yang memiliki skrip manipulasi objek dari mrtk, yang memiliki event EndOfManipulation yang terpicu, setelah menempatkan objek apa pun.
- Mendapatkan semua meshfilter dan meshes
- Periksa melalui collider.bounds.contains jika titik ada di dalam collider saya dan simpan semua titik tersebut untuk membuat mesh baru melalui kode dari @Pluto .
- Menggabungkan mesh menjadi satu mesh dan menempatkannya di suatu tempat
Jawaban
1 Pluto Aug 17 2020 at 23:28
- Dapatkan indeks simpul dari
spatialMesh
yang ada di dalam bola ->indicesList
- Dari array segitiga
spatialMesh
dapatkan segitiga yang memiliki semua indeks simpul di dalamnyaindicesList
->triangleList
Dan Anda memiliki semua yang Anda butuhkan untuk membuat larik simpul dan larik segitiga untuk jaring elemen di dalam bola.
Sebagai contoh:
for i = 0 to triangleList.Count
newVertices[i] = spatialMesh.vertices[triangleList[i]];
newTriangles[i] = i;
Kiat Pemilik Anjing yang Bermanfaat: Mengapa Penting untuk Membiarkan Anjing Anda Mengendus di Jalan
Taylor Sheridan Baru Menambahkan 1 Bintang 'Yellowstone' Favoritnya ke Pemeran 'Lawmen: Bass Reeves'