ในบางช่วงเวลาของฉันที่ e-on ฉันได้รักษา gizmos ของสายผลิตภัณฑ์Vue
ฉันสามารถบอกคุณได้ว่าจะใช้เวลาหลายวันเต็มเวลา
ถ้าคุณไม่พบไลบรารี่หรือซุปเปอร์ฉลาดวิธีคลาสสิกคือการประสานงานของเมาส์ในหน้าต่างเมื่อคุณคลิกถ้ามันเป็นพิกัดสัมพัทธ์กับวิวพอร์ตคุณสามารถหาร x และ y ตามความกว้างและความสูงได้ รับเวกเตอร์ (ลอย 2d) ในช่วง [0,1] ลบ (0.5,0.5) เพื่อให้เข้าสู่ช่วง [-0.5, 0.5] สำหรับทั้ง x และ y
จากนั้นคุณสร้างรังสีจากพิกัดนี้โดยใช้ x และ y เพียงแค่เป็นรังสี x และ y และคุณตั้งค่า z เป็นระยะโฟกัส บางครั้งอัตราส่วนภาพเป็นความเจ็บปวดในตูดในการดำเนินการนี้ ข้อผิดพลาดเล็กน้อยที่เล่นซอและการทดลองจะทำให้คุณได้รับการแก้ไข
จากนั้นคุณต้องตรวจสอบจุดตัดด้วยองค์ประกอบ gizmos ของคุณไม่ว่าคุณจะมีตาข่ายที่คุณสร้างขึ้นหรือสร้างแบบจำลองในเครื่องปั่นหรือ DCC อื่น ๆ หรือส่วนตาข่ายที่สามารถประกบกัน ... เพียงแค่ใช้ส่วนตาข่ายเหล่านั้นเป็นเรย์ / ข้อความค้นหาการแยกสามเหลี่ยม
หรือถ้าคุณมีมันเรย์ / สูบเรย์ / ทรงกลมตามลักษณะ Gizmo ของคุณและชิ้นส่วน คุณจำเป็นต้องมีขั้นตอนการแยกที่มีความสามารถที่จะใช้เมทริกซ์การเปลี่ยนแปลงในแบบดั้งเดิมที่พวกเขาชนกัน
สำคัญอย่างยิ่งเนื่องจาก gizmo ของคุณจะแปลด้วยวัตถุที่มันทำหน้าที่เคลื่อนที่มันจะหมุนและมันจะปรับขนาดด้วยระยะผกผันของกล้องเพื่อให้มันคงขนาดที่ฉายไว้บนหน้าจอ
จากนั้นคุณมีส่วนที่โต้ตอบได้ง่ายที่สุดคือเอาเดลต้าของจุดเมื่อเมาส์เป็นเหตุการณ์ "เมาส์ลง" ครั้งแรกและตำแหน่ง "เมาส์เลื่อน" ปัจจุบันใน 2D บริสุทธิ์และใช้เดลต้านี้เป็นการเคลื่อนไหวของแกนปัจจุบัน ในอวกาศโลกคูณด้วยบางอย่างk
ที่คุณตัดสินใจสังเกตุ ตามหน่วยภายในของคุณเทียบกับพิกเซลเทียบกับระดับการซูมปัจจุบัน ฯลฯ
ขั้นตอนสุดท้ายคือเพียงนำเมทริกซ์ของ gizmo ไปใช้กับวัตถุที่มีการจัดการเพื่อให้เป็นไปตามนั้น
ฉันบอกคุณว่ามันเป็นการเดินทางในนรกที่จะนำไปปฏิบัติและหากคุณกำลังทำมันในเวลาว่างของคุณจะต้องมากกว่าหนึ่งสัปดาห์ หลายสัปดาห์ถ้าคุณค้นพบสนามอย่างสมบูรณ์ มากกว่าหนึ่งเดือนถ้าสิ้นสุดสัปดาห์ของคุณไม่ว่างกับกิจกรรมอื่น ๆ :)
ฉันขอแนะนำให้คุณดาวน์โหลด Embree 2.0 จาก intel เพื่อทำแบบสอบถามการแยกเรย์ / สามเหลี่ยมสำหรับคุณดังนั้นคุณไม่ต้องกังวลกับการเขียนโค้ดนั้น หรือคุณสามารถคัดลอก / วางและปรับรหัสจากเครื่องปั่น ... อย่างไร้ความปราณีฉันคิดว่าพวกเขาย้ายไปที่ใบอนุญาต Apache? ควรเป็นไปได้อย่างถูกกฎหมาย