คำถามติดแท็ก lighting

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

1
คณิตศาสตร์ที่อยู่เบื้องหลังเอฟเฟกต์แสงใน Krakatoa คืออะไร?
ฉันต้องการเรียนรู้คณิตศาสตร์หลังเอฟเฟกต์แสงใน krakatoa ( คลิกที่นี่เพื่อเป็นตัวอย่าง) แหล่งกำเนิดแสงเดินทางไปพร้อมกับอนุภาค แต่การแรเงาทำได้อย่างไร มันเป็นอะไรที่เรียบง่ายอย่างเช่นพงโป๊ะ เป็นไปได้ไหมที่จะใช้เอฟเฟ็กต์แบบเรียลไทม์กับ GPU?

2
ฉันจะติดตั้งไฟในเครื่องยนต์ voxel ได้อย่างไร
ฉันกำลังสร้าง MC เหมือนเครื่องยนต์ภูมิประเทศและฉันคิดว่าแสงจะทำให้มันดูดีขึ้นมากปัญหาคือบล็อกไม่สว่างอย่างเหมาะสมเมื่อวางบล็อกที่ปล่อยแสง (ดูภาพหน้าจอที่ด้านล่าง บนหน้า จนถึงตอนนี้ฉันต้องการใช้แสง "บล็อก" ของ minecraft ดังนั้นฉันจึงสร้าง VertexFormat: struct VertexPositionTextureLight { Vector3 position; Vector2 textureCoordinates; float light; public readonly static VertexDeclaration VertexDeclaration = new VertexDeclaration ( new VertexElement(0, VertexElementFormat.Vector3, VertexElementUsage.Position, 0), new VertexElement(sizeof(float) * 3, VertexElementFormat.Vector2, VertexElementUsage.TextureCoordinate, 0), new VertexElement(sizeof(float) * 5, VertexElementFormat.Single, VertexElementUsage.TextureCoordinate, 1) ); public …
15 c#  xna  lighting  raycasting 

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

1
แรเงาหรือแสงสว่างคืออะไร?
การแรเงาหรือแสงคืออะไร มันแตกต่างจากตูนแรเงาหรือเป็นแนวคิดเดียวกันหรือไม่ specularity ถูกคำนวณแตกต่างกันอย่างไรสำหรับการแรเงาบนทางลาดเทียบกับ blinn-phong หรือ lambert
14 shaders  lighting 

4
ฉันจะนำแสง voxel มาใช้กับการบดเคี้ยวในเกมสไตล์ Minecraft ได้อย่างไร
ฉันใช้ C # และ XNA อัลกอริทึมปัจจุบันของฉันสำหรับให้แสงสว่างเป็นวิธีเรียกซ้ำ อย่างไรก็ตามมันมีราคาแพงจนถึงจุดที่ก้อน 8x128x8 หนึ่งก้อนคำนวณทุก 5 วินาที มีวิธีการให้แสงแบบอื่นที่จะทำให้เกิดเงาแบบแปรผันได้หรือไม่? หรือวิธีการเวียนเกิดเป็นวิธีที่ดีและบางทีฉันอาจทำผิด ดูเหมือนว่าสิ่งที่เกิดขึ้นซ้ำ ๆ นั้นมีราคาแพง (ถูกบังคับให้ผ่านบล็อกประมาณ 25k ต่อก้อน) ฉันกำลังคิดเกี่ยวกับการใช้วิธีการคล้ายกับการติดตามรังสี แต่ฉันไม่รู้ว่ามันจะทำงานอย่างไร อีกสิ่งหนึ่งที่ฉันพยายามคือการจัดเก็บแหล่งกำเนิดแสงในรายการและสำหรับแต่ละบล็อกจะได้ระยะห่างจากแหล่งกำเนิดแสงแต่ละจุดและการใช้แสงนั้นไปยังระดับที่ถูกต้อง แต่แสงจะผ่านกำแพง รหัสการเรียกซ้ำปัจจุบันของฉันอยู่ด้านล่าง สิ่งนี้ถูกเรียกจากที่ใด ๆ ในก้อนที่ไม่มีระดับแสงเป็นศูนย์หลังจากการล้างและเพิ่มแสงแดดและคบไฟใหม่ world.get___atเป็นฟังก์ชั่นที่สามารถรับบล็อกด้านนอกของก้อนนี้ (นี่คือภายในชั้นเรียนชิ้น) Locationเป็นโครงสร้างของตัวเองที่คล้ายกับ a Vector3แต่ใช้จำนวนเต็มแทนค่าทศนิยม light[,,]เป็น lightmap สำหรับชิ้นข้อมูล private void recursiveLight(int x, int y, int z, byte lightLevel) { Location loc = new …

3
พยายามที่จะเข้าใจแสงบน OpenGL วิธีการจำลองแสงดวงอาทิตย์ที่เหมือนจริง?
ฉันไม่รู้ว่าฉันกำลังทำอะไรผิดพลาดหรือไม่ทำอะไรเลย แต่ฉันต้องการจำลองแสงของดวงอาทิตย์เช่นในวันแดดจ้า เมื่อวัตถุหันหน้าไปทางแสงไฟส่องสว่างและไม่มีปัญหาเกิดขึ้น ถ้าฉันเดินไปรอบ ๆ วัตถุแล้วมองกลับมันมืด มันไม่มืดมากเพราะฉันใช้GL_AMBIENTแต่มันมืดเกินไปสำหรับวันที่แดดจัด ถ้าฉันเพิ่มมูลค่ามันจะไม่ดูดีไปกว่านี้เพราะด้านของวัตถุที่หันหน้าไปทางแสงจะสว่างเกินไป และยังมีอีกปัญหาที่น่ารำคาญกับแสงโดยรอบเมื่อมองที่ด้านหลังของวัตถุฉันไม่เห็นรูปร่างใด ๆ เพียงสีธรรมดา ยากที่จะอธิบายนี่คือภาพบางส่วน: หน้าวัตถุ: http://i.stack.imgur.com/YW53X.png กลับด้านวัตถุ: http://i.stack.imgur.com/Qufha.png อย่างที่คุณเห็นได้ง่ายด้านหน้าด้านหน้าดูดีคุณสามารถเห็นรูปร่างของสิ่งแดงนั้น ด้านหลังมันธรรมดาคุณไม่สามารถเห็นรูปร่างเดียวกัน ตอนนี้ฉันรู้แล้วว่าฉันกำลังดูที่ด้านหลังของวัตถุและฉันกำลังมองไปในทิศทางของแสงและมันควรจะมืดกว่าด้านหน้า แต่มันก็ไม่ควรดูธรรมดาแบบนี้ นั่นไม่ใช่สิ่งที่เราเห็นเมื่อเปรียบเทียบกับแสงของดวงอาทิตย์ที่มองวัตถุบางอย่างเราเห็นว่าวัตถุนั้นมีรูปร่าง ฉันจะมีผลเหมือนกัน (หรือคล้ายกัน) ใน OpenGL ได้อย่างไร ปัจจุบันแสงของฉันถูกกำหนดเช่นนี้: float posLight0[4] = {-1.0f, 1.0f, 1.0f, 0.0f}; float ambLight0[4] = {0.5f, 0.5f, 0.5f, 0.5f}; glLightfv(GL_LIGHT0, GL_POSITION, posLight0); glLightfv(GL_LIGHT0, GL_AMBIENT, ambLight0);
13 opengl  lighting 

4
ฉันจะสร้างลำแสงเหมือนเดินทางใน Unity ได้อย่างไร
ฉันต้องการสร้างการ์ตูนที่ดูดวงอาทิตย์ / ลำแสงที่ดูใกล้เคียง (หรือเหมือน) กับเกมที่รู้จักกันดีและเป็นที่รักเช่น Journey: และ Ori: ฉันจะทำสิ่งนี้ได้อย่างไร
12 unity  lighting 

1
ฉันจะสร้างสปอตไลต์ 2D หลาย ๆ ตัวได้อย่างไร
ฉันต้องการสร้างเอฟเฟกต์ "สปอตไลท์" แบบ 2D ที่อนุญาตสปอตไลท์ให้กับเอนทิตีหลาย ๆ แห่ง คือราวกับว่าผีสางหลายตัวถือไฟฉายอยู่ สำหรับเอนทิตีเดียว (หนึ่งสปอตไลท์) ฉันใช้เทคนิคที่ฉันซ้อนทับสไปรต์ไล่ระดับสีและมีการไล่ล่าเซ็นเตอร์พอยท์นั้น เทคนิคนี้ใช้งานได้ดีสำหรับสปอตไลต์เดียว นี่เป็นภาพหน้าจอเพื่ออธิบายสิ่งที่ฉันพูดถึง: Spotlight เดียว - งาน ปัญหาที่ฉันพบคือเทคนิคนี้ไม่ขยายไปถึงหลายเอนทิตี หากฉันซ้อนทับภาพสปอตไลท์อื่นฉันพบปัญหาหลายอย่าง นี่เป็นภาพหน้าจอจำลอง: สปอตไลหลายตัว = ปัญหา ปัญหาที่ชัดเจนที่สุดคือมุมที่มองเห็นได้ สิ่งนี้สามารถแก้ไขได้ด้วยการทำให้ภาพสปอตไลต์มโหฬารครอบคลุมทั้งระดับ แต่ไม่รู้สึกว่าถูกต้อง ปัญหาที่สองและยากยิ่งขึ้นคือการที่ฉันเพิ่มความมืดด้วยเทคนิคนี้ได้อย่างมีประสิทธิภาพ ดังนั้นสไปรต์แต่ละอันที่เพิ่มเข้ามาจะมีผลทำให้คนอื่นมืด เห็นได้ชัดว่าฉันเข้าใกล้ปัญหานี้อย่างไม่ถูกต้อง ความคิดใด ๆ ความพยายามอย่างต่อเนื่อง มีการพูดคุยเกี่ยวกับตัวเลือกการผสมในความคิดเห็น นี่คือความคิดปัจจุบันของฉัน ในตัวอย่างสปอตไลต์เดียวของฉันด้านบนฉันใช้ไฟล์รูปภาพที่มีลักษณะดังนี้: (ฉันได้แทนที่ความโปร่งใสด้วยสีเขียวเพื่อให้ง่ายต่อการอธิบาย) ดังที่ได้อธิบายไว้ข้างต้นปัญหาคืออัลฟ่าผสมภาพนี้กับภาพอื่นจะไม่สร้างเอฟเฟกต์ที่ต้องการ แต่มันจะผลิตสิ่งนี้: แต่นั่นไม่ได้ทำให้ฉันเป็นปัญหาตัวเลือกการผสม ปัญหาที่เห็นได้ชัดสำหรับฉันก็คือภาพประเภทนั้นมีหน้ากากโปร่งใสและภาพ (สี่เหลี่ยมสีดำ) ติดตั้งอยู่ภายในเมื่อควรแยกออกจากกัน ดังนั้นแทนที่จะเป็นภาพสีดำที่มีความโปร่งใสแบบตัดออกในตัวฉันควรจะใช้มาสก์แบบโปร่งใสที่ใช้ในเวลาทำงานกับสี่เหลี่ยมสีดำ เมื่อทำเช่นนั้นฉันยังคงไม่สามารถใช้มาส์กแบบโปร่งใสสีขาวและสีดำแบบดั้งเดิมได้หรือจะพบปัญหาเดียวกัน นี่คือตัวอย่างในเวลานี้สีขาวและสีดำแสดงสีขาวและสีดำ: ดูเหมือนว่าโซลูชันจะใช้หน้ากากโปร่งใสที่ใช้ประโยชน์จากความโปร่งใส บางสิ่งเช่นนี้: (สีเขียว = โปร่งใส) …
12 2d  sprites  camera  lighting 

2
ทำไมระยะห่างจากวัตถุถึงไม่เกี่ยวข้องกับดวงตาในแบบจำลองการส่องสว่าง?
ตัวอย่างเช่นในรุ่นพงษ์และรุ่นBlinnความเข้มของแสงจะไม่เปลี่ยนแปลงขึ้นอยู่กับว่ากล้องอยู่ไกลแค่ไหน ทำไมถึงเป็นอย่างนั้น?

1
ฉันจะนำแสงและเงาไปใช้ในแผนที่ย่อยหลายชั้น 2 มิติได้อย่างไร
ฉันอยู่ในขั้นตอนการเขียนเกมมีมิติเท่ากันตั้งแต่เริ่มต้นและฉันต้องการทราบว่าฉันสามารถเพิ่มแสงและเงาได้อย่างไร รหัสที่ฉันได้จนถึงสามารถพบได้ที่นี่แต่มันควรจะเพียงพอที่จะรู้ว่าตอนนี้แผนที่มีอาร์เรย์ 3 มิติที่เรียบง่ายของจริง / เท็จค่า นี่คือภาพของสภาพแวดล้อม: หากเป็นเลเยอร์แผ่นเดียวมันจะตรงไปข้างหน้า ฉันสามารถเข้าใจ raycasting อย่างง่าย ๆ ใน 2d ที่จำเป็น อย่างไรก็ตามเนื่องจากแผนที่ของฉันมีความสูงหลายระดับเช่นเดียวกับบริเวณที่เป็นเหมือนถ้ำฉันจึงไม่รู้ว่าจะทำอย่างไรเพื่อให้เกิดเงาที่น่าเชื่อถือ บางทีวิธีต่อบล็อกเป็นวิธีที่เหมือนจริงหรือไม่?

2
PBR และ SSR ต่างกันอย่างไร
ฉันใหม่มากต่อการพัฒนาเกมและฉันพยายามเข้าใจถึงความแตกต่างระหว่าง Screen Space Reflection กับการแสดงผลทางกายภาพ ฉันได้อ่านเกี่ยวกับ PBR และจากสิ่งที่ฉันเข้าใจก็พยายามเลียนแบบว่าแสงสะท้อนในชีวิตจริงซึ่งปกติจะแบ่งออกเป็นสองส่วนคือ specular และกระจายขึ้นอยู่กับชนิดของวัสดุ สำหรับ SSR โปรดแก้ไขให้ฉันด้วยถ้าฉันผิดมันเป็นวิธีที่แสงสะท้อนบนพื้นผิว หากความเข้าใจใน SSR ของฉันถูกต้องแล้วพวกเขาจะไม่เหมือนกันหรือไม่? ฉันหมายถึงไม่ใช่วิธีการที่แสงสะท้อนบนพื้นผิวขึ้นอยู่กับความขรุขระของพื้นผิวและอื่น ๆ ซึ่งจะส่งผลต่อแสงที่สะท้อนออกมาเป็นพิเศษและสะท้อนออกมาเท่าใด อีกครั้งโปรดแก้ไขฉันได้ทุกที่ที่ฉันผิด

3
ฉันจะใช้แสงที่ถูกบดบังในเกม 2D แบบบล็อกได้อย่างไร
ฉันต้องการแสง 2D ที่สามารถถูกบล็อกโดยวัตถุในเกม เกมของฉันมีมุมมองจากบนลงล่างและวัตถุในเกมทั้งหมดได้รับการอธิบายเป็นรูปสี่เหลี่ยมผืนผ้า สมมติว่าฉันมีโลก 10x10 และฉันวางแสงที่ 1x1 และผนังรอบ ๆ แสงนั้น ฉันต้องการที่จะเห็นแหล่งกำเนิดแสงที่ 1x1 แต่ไม่ใช่ที่อื่นเพราะมันถูกบล็อกโดยกำแพง ฉันเคยได้ยินว่าการฉายรังสีแสงทำงาน แต่มันทำงานอย่างไรจริง ๆ ?

1
วิธีการรับแสงที่เปลี่ยนสีกลางทาง?
ฉันคิดถึงการสร้างแหล่งกำเนิดแสงและมีหน้าต่างสี ตอนนี้หน้าต่างนั้นกึ่งโปร่งใส ฉันจะทำให้มันเป็นเช่นไรเมื่อแสง (พูด, สีขาวบริสุทธิ์) ชนแก้วและผ่านไปเรื่อย ๆ แต่เปลี่ยนสีเป็นสีเดียวกับแก้วที่มันผ่านไป? ฉันรู้ว่าเอฟเฟกต์ที่อธิบายไว้ที่นี่สามารถแกล้งด้วยการใช้ไฟบริเวณด้านข้าง "สี" ของหน้าต่าง แต่ถ้าฉันต้องการมีแสงสีขาวจุดเดียว
11 opengl  lighting  color 

2
เนื่องจาก Table.drawDebug เลิกใช้แล้วใน libGDX ฉันควรใช้อะไรแทน
ฉันกำลังติดตามหนังสือ "Learning LibGDX Game Development" เพื่อสร้างเกมอย่างง่าย ฉันอยู่ในส่วนการสร้างเมนูที่เราสร้างสเตจและแสดงผลด้วยเส้นขอบการดีบัก หนังสือเล่มนี้บอกว่าจะใช้Table.drawDebug(stage)แต่วิธีการแบบคงที่นี้ดูเหมือนว่าจะถูกลบออกจากTableชั้นเรียนกรอบทั้งหมด ฉันกำลังนำเข้าcom.badlogic.gdx.scenes.scene2d.ui.Table; ด้านล่างคือรหัสของฉัน: @Override public void render(float deltaTime) { Gdx.gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); if (debugEnabled) { debugRebuildStage -= deltaTime; if (debugRebuildStage <= 0) { debugRebuildStage = DEBUG_REBUILD_INTERVAL; rebuildStage(); } } stage.act(deltaTime); stage.draw(); Table.drawDebug(stage); } บรรทัดสุดท้ายTable.drawDebug(stage);มีข้อผิดพลาดในการรวบรวม"The method drawDebug(ShapeRenderer) in the type Table is …

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

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