รับสามเหลี่ยมทั้งหมดของตาข่ายภายในวัตถุ
Aug 18 2020
ฉันต้องการโต้ตอบกับแผนที่เชิงพื้นที่ / เมชที่ฉันสามารถเข้าถึงได้ผ่าน mrtk ผมอยากจะยกตัวอย่างทรงกลมที่ตำแหน่งของเคอร์เซอร์และได้รับสามเหลี่ยมตาข่ายเชิงพื้นที่ที่อยู่ภายในของทรงกลมทุกดังนั้นฉันสามารถตัดออกและบันทึกไว้สำหรับฉัน ฉันรู้วิธีสร้างอินสแตนซ์และวางตำแหน่งทรงกลมและฉันรู้วิธีรับตาข่ายเชิงพื้นที่ผ่านทาง sdk ที่เข้าใจฉาก แต่ฉันไม่รู้วิธีเข้าใกล้สิ่งนี้ เพื่อให้เข้าใจสิ่งที่ฉันต้องการลองดีขึ้นฉันได้วาดภาพร่างเล็ก ๆ :

- แก้ไขและแก้ไข -
- TriggerEnter & -Exit เพื่อรับวัตถุที่ชนกัน
- My Sphere / Cube / อะไรก็ตามที่มีสคริปต์การจัดการวัตถุจาก mrtk ที่มีเหตุการณ์ EndOfManipulation ที่ทริกเกอร์หลังจากวางวัตถุอะไรก็ได้ของฉัน
- รับ meshfilter และ meshes ทั้งหมด
- ตรวจสอบผ่านทางcollider.bounds.containsถ้าจุดอยู่ภายใน Collider ของฉันและบันทึกทุกจุดเหล่านั้นเพื่อสร้างตาข่ายใหม่รหัสผ่านจาก@Pluto
- การรวมตาข่ายเป็นตาข่ายเดียวและวางไว้ที่ไหนสักแห่ง
คำตอบ
1 Pluto Aug 17 2020 at 23:28
- รับดัชนีของจุดยอดจาก
spatialMesh
ที่อยู่ภายในทรงกลม ->indicesList
- จากอาร์เรย์สามเหลี่ยมของ
spatialMesh
รับสามเหลี่ยมที่มีดัชนีจุดยอดทั้งหมดอยู่ภายในindicesList
->triangleList
และคุณมีทั้งหมดที่คุณต้องการในการสร้างอาร์เรย์จุดยอดและอาร์เรย์สามเหลี่ยมสำหรับตาข่ายภายในทรงกลม
ดังตัวอย่าง:
for i = 0 to triangleList.Count
newVertices[i] = spatialMesh.vertices[triangleList[i]];
newTriangles[i] = i;