การบดเคี้ยวโดยรอบคืออะไร?


55

ฉันเคยได้ยินเกี่ยวกับการบดเคี้ยวโดยรอบและมันดูดี แต่มันคืออะไรกันแน่?


เพียงแค่ต้องการเพิ่มข้อมูลเกี่ยวกับ Ambient Occlusion (AO) ที่สร้างโดยนักพัฒนาเกม VR: Ambient Occlusion: คำแนะนำที่กว้างขวางเกี่ยวกับอัลกอริทึมและการใช้งานใน VR
Pylypenko Elena

คำตอบ:


35

การบดเคี้ยวโดยรอบเป็นวิธีการประมาณว่าแสงที่สว่างควรส่องไปยังส่วนใดส่วนหนึ่งของพื้นผิวโดยขึ้นอยู่กับแสงและสภาพแวดล้อม สิ่งนี้ใช้เพื่อเพิ่มความสมจริง

Wikipediaมีย่อหน้าที่ดีที่จะอธิบายสิ่งที่ทำ

การบดเคี้ยวโดยรอบมักคำนวณโดยการหล่อด้วยรังสีในทุกทิศทางจากพื้นผิว รังสีที่ไปถึงฉากหลังหรือ "ท้องฟ้า" จะเพิ่มความสว่างของพื้นผิวในขณะที่รังสีที่กระทบวัตถุอื่น ๆ จะไม่มีแสงสว่าง เป็นผลให้จุดที่ล้อมรอบด้วยเรขาคณิตจำนวนมากแสดงผลมืดในขณะที่จุดที่มีเรขาคณิตเล็กน้อยในซีกโลกที่มองเห็นจะปรากฏเป็นแสง

นี่คือบทความทางเทคนิคอย่างมากเกี่ยวกับเรื่องนี้


6
ในขณะที่ฉันรู้ว่าคุณกำลังอ้างถึงบางสิ่งบางอย่างมันอธิบายถึงแสงสว่างโดยรอบไม่ใช่การบดล้อมรอบ ในขณะที่คล้ายกันมากตรรกะจะกลับด้าน (คุณลบแสงเมื่อรังสีกระทบวัตถุใกล้เคียงเพื่อให้เกิดการบดเคี้ยวโดยรอบ)
MickLH

67

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

ป้อนคำอธิบายรูปภาพที่นี่

หากไม่มี AO (ซ้าย) โปรดทราบว่าเงาในภาพด้านซ้ายเกิดจากแสงทิศทางโดยมี AO (ขวา)

ในแบบจำลองการติดตามเรย์โดยรอบโดยการสุ่มตัวอย่างรังสีเรย์จากจุดหนึ่งซึ่งเป็นรูปทรงของซีกโลกแล้วตรวจสอบการแยกกับฉาก (เรียกอีกอย่างว่าวัตถุอวกาศอ่าว)

ป้อนคำอธิบายรูปภาพที่นี่

สังเกตว่ามีการใช้ตัวอย่างรังสีอย่างไรเพื่อจำลองการรวมระบบ AO

ป้อนคำอธิบายรูปภาพที่นี่

สังเกตเห็นนามแฝง (จุด) ที่เกิดจากการบดเคี้ยวโดยรอบภายใต้การสุ่มตัวอย่าง

เนื่องจากเทคนิคการสุ่มตัวอย่างการติดตามเรย์ช้าเกินไปที่จะใช้ในคอมพิวเตอร์กราฟิกแบบเรียลไทม์วิธีอื่น ๆ จึงปรากฏขึ้นเพื่อจำลองพฤติกรรมนี้ วิธีการที่โดดเด่นอย่างหนึ่งเรียกว่า Screen Space Ambient Occlusion (SSAO)

SSAO เป็นเทคนิคพื้นที่หน้าจอที่พัฒนาโดย Crytek การคำนวณการล้อมรอบถูกคำนวณในการส่งผ่านแบบเต็มหน้าจอโดยใช้บัฟเฟอร์ Z เป็นอินพุตเท่านั้น

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

ค่าของkAขึ้นอยู่กับตัวอย่างที่อยู่ด้านหน้าของค่าในบัฟเฟอร์ Z หากตัวอย่างครึ่งหนึ่งหรือมากกว่านั้นผ่านการทดสอบความลึก (นั่นคือพวกมันอยู่ใกล้กับกล้องมากกว่าพิกเซลกลาง) จากนั้นkAจะได้รับค่า 1 ตัวอย่างที่kAน้อยกว่านั้นจะน้อยกว่า 1

ส่วนประกอบ SSAO ของฉากเกมทั่วไป

ส่วนประกอบ SSAO ของฉากเกมทั่วไป


7

http://en.wikipedia.org/wiki/Ambient_occlusion

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

ในการคำนวณข้อมูลวิธีที่พบบ่อยที่สุดคือการสร้างฉากด้วยพื้นผิวสีขาวทึบและแสง 1 จุดหลายครั้งย้ายจุดไฟในแต่ละครั้งไปยังตำแหน่งอื่นบนทรงกลมหรือซีกโลก ผลลัพธ์ของเรนเดอร์ทั้งหมดได้รับการเฉลี่ยและให้ข้อมูลเกี่ยวกับแต่ละตำแหน่งในฉากและแสงที่กระทบกับตำแหน่งนั้น

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


3

การบดล้อมโดยรอบเป็นวิธีการคำนวณแสงบนพื้นผิวของวัตถุที่คำนึงถึงความสว่างของแสงเนื่องจากการอุดของพื้นผิวที่สัมพันธ์กับแหล่งกำเนิดแสง

นั่นคือการบดเคี้ยวโดยรอบเป็นวิธีการแรเงาที่เป็นสากลในธรรมชาติซึ่งหมายถึงแสง / ไฟส่องสว่างจากแต่ละจุดในฉากสามารถมีอิทธิพลต่อจุดอื่น ๆ ในฉาก ตรงกันข้ามกับวิธีการแรเงาในพื้นที่เช่น Phong / Blinn หมายความว่าการแรเงาด้วยการบดเคี้ยวโดยรอบจะช่วยเพิ่มความสมจริงมากขึ้น

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

SSAO เป็นเพียงหนึ่งวิธีในการบดเคี้ยวสภาพแวดล้อม


1
"... ที่เกี่ยวข้องกับแหล่งกำเนิดแสง" เมื่อคุณพูดถึงแหล่งกำเนิดแสงมันจะแนะนำการส่องสว่างโดยตรง แม้ว่าแสงโดยรอบนั้นมาจากแหล่งกำเนิดแสงเช่นเดียวกับแสงอื่น ๆ แต่ก็ถือว่ามาจากทุกทิศทาง
muhuk

-2

การบดเคี้ยวโดยรอบหมายถึงที่ที่แสงไม่สามารถเข้าถึงได้ รอยย่นและรอยแยกจะไม่ได้รับแสงใด ๆ ที่อยู่รอบ ๆ ดังนั้นพวกเขามักจะขาดแสงส่วนใหญ่ที่สร้าง "ความมืดที่มืดที่สุด" ขึ้นอยู่กับบรรยากาศ


-7

Ambient Occlusion .. สำหรับผู้ที่ไม่คุ้นเคยกับเทคโนโลยีกราฟิกเกมมากนัก Ambient Occlusion จะเพิ่มปริมาณแสงเฉพาะในทุกวัตถุในฉาก รูปหลายเหลี่ยมทุกอันจะแสดงในมุมที่แตกต่างกันในกรณีนั้นปริมาณของแสงจะไม่สม่ำเสมอซึ่งทำให้เกมสมจริงมากขึ้นและดึงดูดสายตา


11
ฉันไม่คิดว่าคุณกำลังทำสิ่งใหม่ ๆ ที่น่ากล่าวถึง
Lasse

คำตอบนี้ดูเหมือนจะอธิบายว่า "แสงโดยรอบ" ไม่ใช่ "การบดบังโดยรอบ" การบดเคี้ยวโดยรอบช่วยลดแสงที่เพิ่มเข้ามาด้วยแสงรอบข้าง
DMGregory
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.