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

3
เราจะหลีกเลี่ยง“ เอฟเฟกต์บันได” ในการเคลื่อนไหวของภาพพิกเซลได้อย่างไร
ฉันกำลังแสดงสไปรต์ที่พิกัดพิกเซลที่แน่นอนเพื่อหลีกเลี่ยงผลเบลอที่เกิดจากการลดรอยหยัก (สไปรต์เป็นพิกเซลศิลปะและจะดูแย่หากกรอง) อย่างไรก็ตามเนื่องจากการเคลื่อนที่ของวัตถุนั้นเกี่ยวข้องกับความเร็วตัวแปรแรงโน้มถ่วงและปฏิกิริยาทางกายภาพวิถีจึงถูกคำนวณด้วยความแม่นยำระดับพิกเซลย่อย ที่ความเร็วหน้าจอขนาดใหญ่พอ (vΔtมากกว่า 2 หรือ 3 พิกเซล) นี้ทำงานได้ดีมาก อย่างไรก็ตามเมื่อความเร็วมีขนาดเล็กเอฟเฟกต์บันไดที่เห็นได้ชัดเจนสามารถปรากฏขึ้นได้โดยเฉพาะอย่างยิ่งในแนวเส้นทแยงมุม นี่ไม่ใช่ปัญหาที่ความเร็วหน้าจอช้ามาก (v << 1 พิกเซลต่อวินาที) ดังนั้นฉันจึงมองหาวิธีแก้ปัญหาสำหรับค่าความเร็วกลางเท่านั้น ทางด้านซ้ายเป็นเส้นทางที่พล็อตสำหรับความเร็วขนาดใหญ่ที่ได้จากการปัดเศษของพิกัดวัตถุ ตรงกลางคุณจะเห็นว่าเกิดอะไรขึ้นเมื่อความเร็วมีขนาดเล็กลงและเอฟเฟกต์บันไดที่ฉันกำลังพูดถึง ทางด้านขวาสถานทีของเส้นทางการเคลื่อนที่ที่ฉันต้องการ ฉันสนใจแนวคิดของอัลกอริทึมในการกรองวิถีเพื่อลดนามแฝงในขณะที่ยังคงพฤติกรรมเดิมที่ความเร็วสูงและขนาดเล็ก ฉันสามารถเข้าถึงΔtตำแหน่งทันทีและความเร็วเช่นเดียวกับจำนวนโดยพลการของค่าก่อนหน้า แต่เนื่องจากเป็นการจำลองแบบเรียลไทม์ฉันจึงไม่ทราบเกี่ยวกับค่าในอนาคต . โปรดทราบว่าเนื่องจากการจำลองทางฟิสิกส์การเปลี่ยนแปลงทิศทางอย่างฉับพลันอาจเกิดขึ้นได้เช่นกัน

1
สูตรแสง GLSL (ลดทอนสีและความเข้ม)
ฉันกำลังติดตั้งไฟจุดในเครื่องมือ Voxel ของฉันและฉันพยายามอย่างหนักเพื่อให้ได้แสงที่ดีจาก 100% ใกล้กับแหล่งกำเนิดแสงถึง 0% ที่รัศมีแสง ฉันมี 5 ข้อโต้แย้งสำหรับฟังก์ชั่น: สีอ่อน (Vec3) ความเข้มของแสง (ระยะทางจากแสงจนถึงระยะทางที่จุดตกหล่น 100%) ระยะทางจากแสงถึงชิ้นส่วน มุมจากชิ้นส่วนปกติถึงแสง ตำแหน่งของแสง ทุกคนสามารถผลักฉันไปในทิศทางที่ถูกต้องเพื่อสร้างฟังก์ชั่นสำหรับการคำนวณสีชิ้นส่วนได้หรือไม่? ภาพหนึ่งในการทดลองของฉัน: แก้ไข (รหัสปัจจุบันที่ขอโดย Byte) โปรดทราบว่านี่เป็นเพียงรหัสการทดสอบจากฝั่งฉัน ฉันได้รับข้อมูลจากเว็บไซต์และมันใช้งานได้ แต่ไกลจากความสมบูรณ์แบบ : void main() { // Light color vec3 torchColor = vec3(1.0f, 1.0f, 1.0f); float lightAdd = 0.0f; for (int i=0; i<5; i++) { vec3 …
17 opengl  glsl  lwjgl  lighting  pixel 

1
Unity 2D สามารถใช้สร้างเกมพิกเซลได้หรือไม่?
ฉันกำลังดูคุณสมบัติ 2D ใหม่ที่นำมาใช้ใน Unity 4.3 และฉันคิดว่าฉันอาจพลาดอะไรบางอย่าง สำหรับฉันดูเหมือนว่าพวกเขาได้รับการออกแบบมาสำหรับเกม 2D ความละเอียดสูงซึ่งการปรับสไปรต์นั้นโอเค แต่มันไม่เหมาะสมสำหรับเกมพิกเซลศิลปะ เทพดาพิกเซลศิลปะถูกออกแบบมาเพื่อแสดงผล 1: 1 พิกเซลบนหน้าจอ: การปรับสเกลทำลายมัน (ยกเว้นการขยายสเกลเชิงเส้นเป็นข้อยกเว้นนั่นคือคุณอาจขยายเป็น 2x, 3x, 4x และอื่น ๆ ) อย่างไรก็ตามฉันไม่พบวิธี "เพียงแค่แสดงตามที่เป็น" เห็นได้ชัดว่า Unity ยืนยันในการปรับขนาดตามความละเอียดที่เหมาะสม: ฉันอาจควบคุมพารามิเตอร์ Camera.size และพารามิเตอร์ "pixels to units" ของ sprite แต่ฉันไม่ได้รับผลลัพธ์นี้
16 2d  unity  sprites  pixel  pixel-art 

3
ฉันจะย่อขนาดศิลปะพิกเซลได้อย่างไร
มีความอุดมสมบูรณ์ของขั้นตอนวิธีการที่จะไต่ขึ้นศิลปะพิกเซล (ฉันชอบhqxส่วนตัว.) แต่จะมีผู้ใดขั้นตอนวิธีการที่โดดเด่นขนาดมันลง ? เกมของฉันออกแบบมาให้ทำงานด้วยความละเอียด1280x720แต่ถ้าเล่นด้วยความละเอียดต่ำกว่าฉันยังต้องการให้มันดูดี การอภิปรายพิกเซลของศิลปะส่วนใหญ่อยู่ที่รอบ ๆ320x200หรือ640x480ยกระดับเพื่อใช้ในคอนโซลอีมูเลเตอร์ แต่ฉันสงสัยว่าเกม 2D ที่ทันสมัยเช่นMonkey Island Remakeสามารถดูดีได้อย่างไรเมื่อความละเอียดต่ำลง? แน่นอนว่าไม่สนใจตัวเลือกในการมีเนื้อหาหลายเวอร์ชัน (เช่นการทำแผนที่ )

3
ฉันจะย้ายกล้องในช่วงพิกเซลเต็มได้อย่างไร
โดยทั่วไปฉันต้องการหยุดกล้องไม่ให้เคลื่อนไหวในรูปแบบย่อยเนื่องจากฉันคิดว่าสิ่งนี้นำไปสู่การสไปรต์ที่เปลี่ยนขนาดได้อย่างชัดเจนถ้าเพียงเล็กน้อยเท่านั้น (มีคำศัพท์ที่ดีกว่านี้หรือไม่) โปรดทราบว่านี่เป็นเกมภาพพิกเซลที่ฉันต้องการให้มีกราฟิกพิกเซลที่คมชัด นี่คือ gif ที่แสดงปัญหา: ตอนนี้สิ่งที่ฉันลองทำคือ: ย้ายกล้องฉายตำแหน่งปัจจุบัน (ดังนั้นจึงเป็นพิกัดของหน้าจอ) จากนั้นปัดหรือเหวี่ยงเป็น int หลังจากนั้นแปลงให้เป็นพิกัดโลกและใช้เป็นตำแหน่งกล้องใหม่ เท่าที่ฉันรู้สิ่งนี้ควรล็อคกล้องเป็นพิกัดหน้าจอจริงไม่ใช่เศษส่วน อย่างไรก็ตามด้วยเหตุผลบางอย่างyค่าของตำแหน่งใหม่ก็จะระเบิดออก 334756315000ในเรื่องของการวินาทีมันจะเพิ่มเพื่อสิ่งที่ต้องการ นี่คือ SSCCE (หรือ MCVE) ตามรหัสใน LibGDX wiki : import com.badlogic.gdx.ApplicationListener; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.Sprite; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.math.MathUtils; import com.badlogic.gdx.math.Vector3; import com.badlogic.gdx.utils.viewport.ExtendViewport; import …
13 libgdx  pixel 

3
ฉันจะทำซ้ำข้อ จำกัด สีของ NES ด้วยส่วนขยาย HLSL พิกเซลได้อย่างไร
ดังนั้นเนื่องจากโหมดสี 256 ค่าเสื่อมราคาและไม่รองรับภายใต้โหมด Direct3D อีกต่อไปฉันจึงมีแนวคิดที่จะใช้พิกเซล shader แทนเพื่อจำลองจานสี NES ของสีที่เป็นไปได้ทั้งหมดเพื่อให้วัตถุที่ซีดจางและสิ่งที่ไม่จางหายไปอย่างราบรื่น . (ฉันรู้ว่าวัตถุไม่สามารถจางหายไปจาก NES ได้จริง ๆ แต่ฉันมีวัตถุทั้งหมดที่เลือนเข้าและออกบนพื้นหลังสีดำทึบซึ่งเป็นไปได้ด้วย palette swapping นอกจากนี้หน้าจอจะจางหายไปเมื่อคุณหยุด ซึ่งฉันรู้ว่ายังเป็นไปได้ด้วยการเปลี่ยนพาเล็ตในเกม Mega Man สองสามเกม) ปัญหาคือฉันรู้อะไรเกี่ยวกับ HLSL shaders ฉันต้องทำอย่างไร?
13 shaders  pixel 

2
ฉันจะใช้ตัวกรอง xBR หรือ hqx ใน XNA ได้อย่างไร
ฉันต้องการทำให้สัดส่วนของเกมของฉันสูงขึ้นด้วยหนึ่งในตัวกรอง hqx (hq2x, hq3x หรือ hq4x) หรือตัวกรอง xBRใน shader ฉันจะทำสิ่งนี้ใน XNA 4.0 และ SM3 ได้อย่างไร หมายเหตุด้านข้าง: คำถามนี้ได้รับการแก้ไขอย่างหนักเพื่อเป็นสิ่งที่เป็นอยู่ในปัจจุบัน
11 xna  2d  shaders  pixel  scale 

6
คุณจะย้ายสไปรต์ด้วยการเพิ่มทีละพิกเซลย่อยได้อย่างไร
พิกเซลเปิดหรือปิด จำนวนขั้นต่ำที่คุณสามารถเคลื่อนย้ายสไปรท์คือพิกเซลเดียว ดังนั้นวิธีที่คุณทำให้สไปรต์เคลื่อนที่ช้ากว่า 1 พิกเซลต่อเฟรม? วิธีที่ฉันทำคือเพิ่มความเร็วให้กับตัวแปรแล้วทดสอบว่ามีค่าถึง 1 (หรือ -1) ถ้าเป็นเช่นนั้นฉันจะย้ายสไปรต์และรีเซ็ตตัวแปรเป็น 0 เช่น: update(dt): temp_dx += speed * dt temp_dy += speed * dt if (temp_dx > 1) move sprite reset temp_dx to 0 if (tempy_dy > 1) move sprite reset temp_dy to 0 ฉันไม่ชอบวิธีการนี้เพราะรู้สึกว่าโง่และการเคลื่อนไหวของสไปรต์นั้นดูกระตุกมาก ดังนั้นคุณจะใช้การเคลื่อนไหวย่อยพิกเซลในทางใด

5
ฉันจะขยายขนาดพิกเซลภาพโดยไม่ทำให้พร่ามัวใน GM Studio ได้อย่างไร
ฉันกำลังสร้างเกมใน Game Maker Studio ที่ใช้ภาพพิกเซล เมื่อฉันเปิดเกมพื้นผิวที่ขยายขนาดทั้งหมดนั้นพร่ามัวจริงๆ (ไม่เกิดกับเด็กเล็ก) ตัวอย่างเช่นภาพนี้ แสดงผลในเกมเช่นนี้: อย่างไรก็ตามมีการปรับขนาดพิกเซลขนาดเล็กเข้าไปในพิกเซลขนาดใหญ่แทนพิกเซลเบลอ ?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.