ฉันจะทำให้ PagedGeometry grass รับเงาได้อย่างไร


23

ฉันทำสลับไป Ogre3D (v1.7) และเพื่อใช้PagedGeometry สิ่งที่ฉันพยายามทำคือสร้างฉากที่เรียบง่ายด้วยภูมิประเทศต้นไม้และหญ้า โดยสังเขปฉันต้องการบรรลุผลเช่นนี้ใน Ogre:

หญ้าที่ได้รับเงา

โปร่งใส / คัตเอาท์ถูกนำมาใช้ในการสาธิต PagedGeometry แต่ฉันไม่สามารถหาวิธีแก้ปัญหาเกี่ยวกับวิธีการร่ายเงาบนหญ้าอย่างถูกต้องตามตัวอย่างด้านบน

ฉันสามารถใช้เทคนิคใดในการทำสิ่งนี้ให้สำเร็จ


1
วัสดุชนิดใด / หญ้าที่ใช้? เพื่อให้เงาในการทำงานหญ้า shader จำเป็นต้องอ่าน shadowmap (s) และทำการคำนวณเงาตามนี้ ...
VB_overflow

1
ขอบคุณอินพุตของคุณใน @VB_overflow นี้ แต่ความคิดเห็นที่มีวิธีแก้ไขปัญหารหัสจริงหรือตัวอย่างจะช่วยได้จริงๆ ไม่ว่าในกรณีใดฉันได้ย้ายไปยังเอ็นจิ้นที่ดีกว่าด้วยฟังก์ชั่นในตัวที่เสนอคุณสมบัตินี้ บางทีมันอาจช่วยผู้ที่หลงใหลใน Ogre คนอื่น ๆ ที่อยู่บนเรือลำเดียวกันกับฉันดังที่แสดงไว้ใน upvotes ที่นี่
scottyp

1
หากสิ่งเหล่านี้เป็นป้ายโฆษณาพวกเขามีแนวโน้มที่จะขี้ขลาดเล็กน้อยเมื่อคุณพยายามทำแรเงาต่อพิกเซล คุณสามารถใช้ metch หญ้าซึ่งมีลักษณะเหมือนเครื่องบินที่มีลำตัวยาวเหยียดและบิดเบี้ยว เนื้อสัมผัสจะทำให้ดูเหมือนหญ้า หลังจากนั้นตาข่ายควรจะสามารถรับแผนที่เงาได้
moonshineTheleocat

โพสต์นี้อธิบาย (และแก้ไข) ปัญหาของคุณหรือไม่ ogre3d.org/addonforums/14/t-8945.html
Tim Holt

คำตอบ:


3

นี่ไม่ใช่คำตอบของฉัน แต่อ้างอิงถึงสิ่งที่ฉันเชื่อว่าเป็นคำตอบสำหรับคำถาม

โพสต์ที่ฉันกำลังเชื่อมโยงไปยังด้านล่าง (ชื่อ "ต้นไม้เรขาคณิตและเงาของเพจ") อธิบายการแก้ปัญหาโดยตรงของการวางเงาต้นไม้บนหญ้าด้วยรูปทรงเรขาคณิตของเพจ มันเกี่ยวข้องกับการเรียก m_sceneMgr-> setShadowTechnique (SHADOWTYPE_TEXTURE_ADDITIVE) ด้วย shader ที่กำหนดเองสำหรับเงา

https://www.ogre3d.org/addonforums/14/t-8945.htmlหรือ รุ่น Archive.org

บทช่วยสอนนี้ยังอ้างอิงถึงเรขาคณิตแบบเพจต้นไม้หญ้าและเงา มันใช้ lightmap กับหญ้าใช้ฟังก์ชัน setColorMap ()

https://ogrecave.github.io/ogre-pagedgeometry/tut3.htmlหรือรุ่น Archive.org โดยเฉพาะอย่างยิ่งแสดงให้เห็นว่า lightmap เป็นหญ้าใช้ฟังก์ชัน setColorMap ()


คำตอบนี้จะดีกว่าถ้าคุณนำรายละเอียดที่เกี่ยวข้องจากเว็บไซต์ที่คุณเชื่อมโยงและสรุปไว้ในเนื้อหาของคำตอบนั้น เมื่อสิ่งต่าง ๆ เกิดขึ้นถ้าลิงก์หยุดชะงักคำตอบก็จะไม่มีข้อมูลที่เป็นประโยชน์
DMGregory

1
ฉันพิจารณารวมถึงเนื้อหาจากโพสต์ แต่ไม่ต้องการเพียงแค่ทำซ้ำเนื้อหาของใครบางคนและเรียกมันว่าคำตอบ โซลูชันยังมีรหัสค่อนข้างหนักและการอ้างอิงจะเกี่ยวข้องกับเนื้อหาที่คัดลอกจำนวนมากซึ่งไม่ใช่การสร้างของฉัน ฉันยังพิจารณาการติดตั้ง Ogre และพยายามที่จะทำซ้ำ แต่นั่นเป็นงานที่ต้องทำหลาย ๆ ครั้ง โดยไม่คำนึงถึงฉันคิดว่าลิงก์เหล่านั้นจะช่วยกลุ่มผู้ใช้นอกและใครก็ตามที่พยายามแก้ไขปัญหาเหล่านั้น ผมคิดว่าการเชื่อมโยงเพื่อป้องกันไม่ให้ตายฉันสามารถเชื่อมโยงไปยังรุ่น archive.org ...
ทิมโฮลท์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.