คำถามติดแท็ก decal-system

1
ปัญหาปกติที่สติ๊กเกอร์ค้างไว้
ฉันทำงานกับระบบรูปลอกที่รอการตัดบัญชี จนถึงตอนนี้ฉันได้ฉายส่วนที่เสร็จแล้วซึ่งหมายความว่าฉันสามารถคลิกที่บางสิ่งบางอย่างในฉากและมันจะฉายภาพรูปลอกบนพื้นผิวของวัตถุ มีอีกสองสิ่งที่ฉันต้องการเพิ่มในระบบนี้: การตัดปกติและสติ๊กเกอร์แมปปกติ การตัดปกติคือเมื่อฉันทิ้งชิ้นส่วนที่ทอดข้ามมุมคม การกระทำที่นี่ วิธีการแก้ปัญหานี้คือการทิ้งเศษชิ้นส่วนที่มีความแตกต่างอย่างมากระหว่างค่าปกติใน G-Buffer และค่าปกติของรูปลอก สิ่งนี้จะต้องมีการอ่านพื้นผิวปกติของ G-buffer ในการทำการแมปปกติของรูปลอกฉันต้องผสมผสานปกติของรูปลอก (จากแผนที่ปกติ) กับ G-บัฟเฟอร์ของปกติ ต้องเขียนไปยังพื้นผิวปกติของ G-buffer ฉันหวังว่ามันชัดเจนว่าเพื่อรองรับคุณสมบัติทั้งสองนี้ฉันต้องอ่านและเขียนลงบนพื้นผิวปกติใน shader pass เดียวกัน น่าเศร้านี่คือพฤติกรรมที่ไม่ได้กำหนดดังนั้นฉันสงสัยว่ามีวิธีอื่นที่จะใช้คุณสมบัติเหล่านี้

2
การใช้รูปลอก
ฉันมีปัญหาในการค้นหาข้อมูลเกี่ยวกับสติ๊กเกอร์ดังนั้นบางทีคำถามนี้อาจช่วยผู้อื่น การใช้งานมีไว้สำหรับการแสดงผลไปข้างหน้า มีคนยืนยันได้หรือไม่ว่าฉันได้ติดตั้งรูปลอก คุณกำหนดลูกบาศก์ของมิติใด ๆ ที่จะกำหนดปริมาณการฉายในพื้นที่ส่วนกลาง คุณตรวจสอบจุดตัดสามเหลี่ยมด้วยลูกบาศก์ที่กำหนดเพื่อรับสามเหลี่ยมที่การฉายจะมีผล คุณตัดสามเหลี่ยมเหล่านี้แล้วบันทึก จากนั้นคุณใช้เคล็ดลับเมทริกซ์เพื่อคำนวณพิกัดรังสียูวีสำหรับสามเหลี่ยมที่บันทึกไว้ซึ่งจะอ้างอิงพื้นผิวที่คุณกำลังฉาย เมื่อต้องการทำเช่นนี้คุณต้องใช้เวกเตอร์แทนความสูงความกว้างและความลึกของลูกบาศก์ในพื้นที่ส่วนกลางเพื่อให้มุมล่างซ้ายเป็นจุดกำเนิด คุณวางมันลงในเมทริกซ์เป็นเวกเตอร์หน่วย i, j, k, ตั้งค่าการแปลสำหรับคิวบ์จากนั้นคุณกลับเมทริกซ์นี้ คุณคูณจุดยอดของสามเหลี่ยมที่บันทึกด้วยเมทริกซ์นี้วิธีที่คุณจะได้รับพิกัดภายในลูกบาศก์ขนาด 0 ถึง 1 ที่คุณใช้เป็นพิกัด UV วิธีนี้คุณมีรูปสามเหลี่ยมดั้งเดิมที่คุณกำลังฉายอยู่และคุณมีพิกัด UV สำหรับพวกมัน (พิกัด UV นั้นอ้างอิงพื้นผิวที่คุณกำลังฉายอยู่) จากนั้นคุณนำรูปสามเหลี่ยมที่บันทึกไว้ไปยังฉากและพวกเขาเขียนทับพื้นที่ของการฉายด้วยภาพที่ฉาย ตอนนี้คำถามที่ฉันไม่สามารถหาคำตอบได้ เป็นจุดสุดท้ายใช่มั้ย ฉันไม่เคยทำการตัดซอฟต์แวร์ แต่ดูเหมือนว่าจะเกิดข้อผิดพลาดมากพอเนื่องจากความแม่นยำที่ จำกัด นั่นจะเป็นการต่อสู้ที่เกิดขึ้นกับพื้นผิวที่ฉาย วิธีการรับรังสี UV ถูกต้องหรือไม่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.