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

บิตแมป (ภาพแรสเตอร์) ที่ใช้ในกระบวนการการทำแผนที่พื้นผิว

7
ทำไมพื้นผิวกำลังสองของกำลังสองเสมอ เกิดอะไรขึ้นถ้าพวกเขาไม่ได้?
ทำไมความละเอียดของพื้นผิวในเกมจึงมีกำลังสอง (128x128, 256x256, 512x512, 1024x1024 เป็นต้น) มันจะฉลาดหรือไม่ที่จะประหยัดขนาดไฟล์ของเกมและทำให้พื้นผิวพอดีกับรุ่นที่ UV ไม่ได้ห่อหุ้ม จะเกิดอะไรขึ้นหากมีพื้นผิวที่ไม่ใช่พลังของทั้งสอง มันจะไม่ถูกต้องหรือไม่ที่จะมีลวดลายเป็นแบบ 256x512 หรือ 512x1024 หรือสิ่งนี้จะทำให้เกิดปัญหาที่พื้นผิวที่ไม่ได้ใช้กำลังของทั้งสองอาจทำให้เกิด?
53 textures 

9
ขั้นตอนวิธีการบรรจุพื้นผิว
อัลกอริทึมการบรรจุพื้นผิวที่ดีคืออะไร ในทางเทคนิคถังขยะนั้นบรรจุยากมากดังนั้นการเรียนรู้ด้วยตนเองจึงเป็นสิ่งที่ฉันต้องการจริงๆ

5
วิธีการหลีกเลี่ยงการตกเลือดในพื้นผิวแผนที่?
ในเกมของฉันมีภูมิประเทศที่เหมือน Minecraft ทำจากก้อน ฉันสร้างบัฟเฟอร์จุดสุดยอดจากข้อมูล voxel และใช้แผนที่พื้นผิวสำหรับลักษณะของบล็อกที่แตกต่างกัน: ปัญหาคือพื้นผิวของลูกบาศก์ที่อยู่ห่างไกลสอดแทรกด้วยกระเบื้องที่อยู่ติดกันในแผนที่พื้นผิว ผลลัพธ์ในบรรทัดของสีที่ไม่ถูกต้องระหว่างคิวบ์ (คุณอาจต้องดูภาพหน้าจอด้านล่างในขนาดเต็มเพื่อดูข้อบกพร่องกราฟิก): ตอนนี้ฉันใช้การตั้งค่าการแก้ไขเหล่านี้ แต่ฉันลองทุกชุดรวมกันและแม้GL_NEARESTไม่มีการแมปแมปก็ไม่ได้ผลลัพธ์ที่ดี glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); ฉันได้ลองเพิ่มออฟเซ็ตในพิกัดพื้นผิวเพื่อเลือกพื้นที่เล็ก ๆ ของกระเบื้อง แต่เนื่องจากเอฟเฟกต์ที่ไม่ต้องการขึ้นอยู่กับระยะห่างจากกล้องจึงไม่สามารถแก้ปัญหาได้อย่างสมบูรณ์ ในระยะทางไกล ฉันจะแก้ไขการตกเลือดนี้ได้อย่างไร เนื่องจากการใช้แผนที่พื้นผิวเป็นเทคนิคที่นิยมอาจมีวิธีการทั่วไป น่าเศร้าด้วยเหตุผลบางอย่างที่อธิบายในความคิดเห็นฉันไม่สามารถเปลี่ยนเป็นพื้นผิวหรืออาร์เรย์พื้นผิวที่แตกต่างกันได้

3
ทำไมตัวอย่างของพื้นผิวเกมจึงมักแสดงในแบบจำลองทรงกลม
ฉันเพิ่งเริ่มทำงานกับ Unity และกำลังมองหาพื้นผิวสำหรับพื้นหลัง (กำแพงปราสาทและชิ้นส่วนต่าง ๆ ) ในเกมที่ฉันกำลังคิดเกี่ยวกับการสร้างในที่สุด ฉันสังเกตุว่าพื้นผิวนั้นมักจะถูกนำมาแสดงเป็นรูปลูกบอลเช่นในภาพตัวอย่างนี้ที่นี่: ตัวอย่างเช่นเหตุใดรูปแบบพื้นผิวจึงไม่แสดงเป็นสี่เหลี่ยมจตุรัสเรียบ ฉันเดาว่ามีเหตุผลเบื้องหลังสิ่งนี้ที่เกี่ยวข้องกับการทำแผนที่กับพื้นผิว 3 มิติ แต่ฉันไม่แน่ใจดังนั้นฉันจึงต้องการตรวจสอบที่นี่ เหตุใดพื้นผิวจึงมีรูปร่างเป็นทรงกลมในตัวอย่างและตัวอย่าง
45 textures 

1
เกม AAA ใช้เนื้อสัมผัสนี้ในส่วนของการจับคู่โทนเสียงได้อย่างไร
ฉันพบว่า Battlefield 3 และ Saint's Row the Third ใช้พื้นผิวนี้ในขั้นตอนสุดท้ายของการทำแผนที่โทนสี ทุกคนสามารถแชร์ลิงก์ไปยังบทความเกี่ยวกับวิธีใช้พื้นผิวนี้ได้หรือไม่? UPDATE:เนื่องจากมีตัวอย่างใด ๆ ของการใช้งานการจัดระดับสีในสุทธิฉันจะโพสต์ตัวอย่างที่รวดเร็วและสกปรกของฉันสำหรับ XNA 4.0 สิ่งนี้ไม่ทำอะไรนอกจากสร้าง colormap 2d เริ่มต้นตั้งแต่เริ่มต้นบน GPU คัดลอกเนื้อหาลงในพื้นผิว 3 มิติบน CPU และทำการแก้ไขสีจริงด้วยรหัส shader จากบทความที่ให้ไว้ในคำตอบ ตัวอย่างการแก้ไขสี XNA 4.0 หากคุณต้องการทราบว่าคุณสามารถทำอะไรกับสิ่งนี้ดูที่นี่: http://the-witness.net/news/2012/08/fun-with-in-engine-color-grading/ ในระยะสั้นผู้เขียนอธิบายว่าคุณสามารถสร้างภาพหน้าจอของภาพปกติในเกมของคุณด้วยจานสีเริ่มต้นที่ด้านบนดำเนินการแก้ไขภาพหน้าจอใน photoshop ตัดและคัดลอกจานแก้ไขสีที่ผิดรูปลงในเครื่องยนต์และมี การแก้ไขสีนั้นจะใช้สำหรับทุกฉากในเกมโดยอัตโนมัติ
43 textures  hlsl 

5
ฉันควรใช้พื้นผิวที่ไม่ได้มีขนาดเท่ากับกำลัง 2 หรือไม่?
ในวันแรก ๆ ของ OpenGL และ DirectX ขนาดของพื้นผิวจะต้องเป็นพลังของสอง นั่นหมายถึงการแก้ไขค่าลอยสามารถทำได้อย่างรวดเร็วโดยใช้การเลื่อนและเช่นนั้น ตั้งแต่ OpenGL 2.0 (และก่อนหน้านั้นผ่านมิติส่วนขยาย) ที่ไม่ใช่พลังงานของสองพื้นผิวได้รับการสนับสนุน พื้นผิวพลังแห่งสองมีข้อได้เปรียบด้านประสิทธิภาพการทำงานกับ GPU แบบรวมและแยกแบบใหม่หรือไม่? พื้นผิวที่ไม่มีพลังงานสองข้อได้เปรียบมีอะไรบ้าง ประชากรเดสก์ท็อปที่สำคัญมีการ์ดที่รองรับพื้นผิวที่ไม่ใช่พลังงานหรือไม่?

6
การสร้างเอฟเฟ็กต์การสลับสีแบบย้อนยุคใน OpenGL
ฉันกำลังทำงานกับเกมที่คล้ายกับMegamanซึ่งฉันต้องเปลี่ยนสีของพิกเซลบางตัวในขณะใช้งานจริง สำหรับการอ้างอิง : ในMegamanเมื่อคุณเปลี่ยนอาวุธที่คุณเลือกจากนั้นจานสีของตัวละครหลักจะเปลี่ยนไปตามอาวุธที่เลือก ไม่ทั้งหมดของผีสางของการเปลี่ยนแปลงสีเพียงบางคนทำ เอฟเฟกต์แบบนี้เป็นเรื่องปกติและค่อนข้างง่ายที่จะทำกับ NES เนื่องจากโปรแกรมเมอร์สามารถเข้าถึงพาเล็ตและการแมปโลจิคัลระหว่างพิกเซลและดัชนีพาเล็ต สำหรับฮาร์ดแวร์ที่ทันสมัยสิ่งนี้ค่อนข้างท้าทายกว่าเพราะแนวคิดของจานสีไม่เหมือนกัน พื้นผิวทั้งหมดของฉันเป็นแบบ 32 บิตและไม่ใช้จานสี มีสองวิธีที่ฉันรู้เพื่อให้ได้ผลตามที่ฉันต้องการ แต่ฉันอยากรู้ว่าถ้ามีวิธีที่ดีกว่าในการบรรลุผลนี้ได้อย่างง่ายดาย สองตัวเลือกที่ฉันรู้คือ: ใช้ shader และเขียน GLSL บางอย่างเพื่อดำเนินการ "palette swapping" หากไม่สามารถใช้เฉดสีได้ (เช่นเนื่องจากการ์ดกราฟิกไม่รองรับ) ก็เป็นไปได้ที่จะลอกแบบพื้นผิว "ดั้งเดิม" และสร้างรุ่นที่แตกต่างกันโดยมีการเปลี่ยนสีที่นำไปใช้ล่วงหน้า เป็นการดีที่ฉันต้องการใช้ shader เนื่องจากดูเหมือนว่าตรงไปตรงมาและต้องการงานเพิ่มเติมเล็กน้อยเมื่อเทียบกับวิธีการทำซ้ำพื้นผิว ฉันกังวลว่าพื้นผิวที่ซ้ำซ้อนเพียงเพื่อเปลี่ยนสีในพวกเขากำลังสูญเสีย VRAM - ฉันไม่ควรกังวลเกี่ยวกับสิ่งนั้นหรือ แก้ไข : ฉันลงเอยด้วยการใช้เทคนิคของคำตอบที่ยอมรับและนี่คือ shader ของฉันสำหรับการอ้างอิง uniform sampler2D texture; uniform sampler2D colorTable; uniform float paletteIndex; void main() …

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

4
พื้นผิว 3 มิติคืออะไร
Google ล้มเหลวฉันไม่พบข้อมูลใด ๆ เลย ดังนั้น GameDev อาจจะสามารถ :) พื้นผิว 3 มิติคืออะไร พวกเขาจะใช้เมื่อใด ต้นทุนประสิทธิภาพหรือไม่ พวกเขาเก็บไว้อย่างไร? ฉันมีความคิดที่คลุมเครือมากมาย แต่ไม่มีคำจำกัดความ 'ชัดเจน' การอ้างอิงถึงตัวอย่างหรือแบบฝึกหัดใด ๆ โดยเฉพาะอย่างยิ่งในการแสดงผลระบบอนุภาคผ่านพื้นผิว 3 มิติ
31 3d  textures 

4
Sprite กับ Texture แตกต่างกันอย่างไร?
ฉันมีงานที่ต้องส่งสำหรับมหาวิทยาลัยและงานของฉันคือการพูดคุยเกี่ยวกับพื้นผิวที่ใช้ในวิดีโอเกมและวิธีการที่พวกเขามีวิวัฒนาการ คำถามหลักของฉันคืออะไรแตกต่างพื้นฐานระหว่างการใช้สไปรต์หรือใช้วิธีการพื้นผิวอื่น ๆ คืออะไร? หลังจากทำวิจัยเล็กน้อยด้วยตัวเองฉันดูเหมือนว่า Sprites จะเก็บรูปภาพไว้ในไฟล์เดียวและสามารถใช้สำหรับการเคลื่อนไหวและอื่น ๆ และมักใช้กับวิดีโอเกมรุ่นเก่าโดยทั่วไปใช้ sprite เป็นภาพเกม ขณะนี้ด้วยเกมที่ทันสมัยสไปรต์ฉันเชื่อว่ามีแนวโน้มที่จะใช้น้อยลงเนื่องจากความก้าวหน้าทางเทคโนโลยีและพื้นผิวอื่น ๆ ที่มีอยู่เช่นการทำแผนที่การชน แม้ว่าสไปรท์ยังคงใช้มาจนถึงทุกวันนี้เพื่อรองรับคุณสมบัติเช่นแถบสุขภาพหรือพื้นผิวทางไกล แต่อะไรคือข้อได้เปรียบหลักของการใช้งานพื้นผิว

3
ทีมป้องกันการเขียนทับทำงานในไฟล์ต้นฉบับได้อย่างไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว มันเป็นไปได้สำหรับฉันที่มีหลายคนที่กำลังทำงานอยู่ในขณะเดียวกันเช่นเอ็นจิ้นเกม สมมติว่านักพัฒนาคนหนึ่งกำลังทำงานAudio.cppและนักพัฒนาที่สองก็กำลังทำงานอยู่Audio.cppสิ่งนี้จัดการโดยทั่วไปในทีมขนาดใหญ่เพื่อต่อสู้กับการเขียนทับได้อย่างไร (ในคำอื่น ๆ ที่จะหยุดสองนักพัฒนาจากการเปิดไฟล์จนกว่านักพัฒนาคนหนึ่งจะเสร็จสิ้น)
26 project-management  version-control  teamwork  java  2d  collision-detection  vector  collision-resolution  unity  directx  directx11  directx10  xna  ios  monogame  windows-phone-8  xamarin  design-patterns  oop  xna  collision-detection  collision-resolution  bounding-boxes  rotation  collision-detection  mathematics  javascript  algorithm  separating-axis-theorem  xna  2d  monogame  image  xna  directx  graphics  performance  opengl  2d  3d  c++  directx11  unity  c#  scale  c#  xna  collision-detection  collision-resolution  leaderboards  scoring  glsl  srgb  tilemap  three.js  tiled  unity  physics  xml  dialog-tree  xna  c#  .net  opengl  lwjgl  vbo  physics  graphics  procedural-generation  simulations  water  opengl  java  textures  lwjgl  frame-buffer  unity  unity  2d  collision-detection  collision-resolution  trigonometry  java  android  libgdx  xna  c#  frame-rate  c++  unreal-4  procedural-generation  java  graphics  lwjgl  slick  c++  software-engineering 

4
การทำแผนที่ UV และ UVW คืออะไร
พยายามเข้าใจแนวคิดพื้นฐาน 3 มิติบางอย่างในขณะนี้ฉันพยายามเข้าใจว่าพื้นผิวทำงานอย่างไร ฉันรู้ว่าการทำแผนที่ UV และ UVW เป็นเทคนิคที่ทำแผนที่พื้นผิว 2D ไปยังวัตถุ 3 มิติ - Wikipedia บอกฉันมาก ฉัน googled สำหรับคำอธิบาย แต่พบบทเรียนที่สมมติว่าฉันรู้แล้วว่ามันคืออะไร จากความเข้าใจของฉันแล้วแบบจำลองสามมิติแต่ละอย่างนั้นทำจากคะแนนและหลาย ๆ แต้มสร้างใบหน้าขึ้นมา? แต่ละจุดหรือใบหน้ามีพิกัดที่สองที่แมปไปยังตำแหน่ง ax / y ในพื้นผิว 2D หรือไม่? หรือวิธีการคลายเปิดใช้งานโมเดล? นอกจากนี้ W ใน UVW ทำอะไรได้จริงมันให้อะไรกับ UV? ตามที่ฉันเข้าใจแล้ว W แผนที่ไปที่พิกัด Z แต่ในสถานการณ์ใดฉันจะมีพื้นผิวที่แตกต่างกันสำหรับ X / Y เดียวกันและ Z ที่ต่างกันส่วน Z จะไม่ปรากฏให้เห็นหรือไม่ หรือฉันเข้าใจผิดอย่างนี้

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

2
โดยปกติฉันสามารถผูกกับพื้นผิวได้กี่ครั้ง?
ฉันกำลังพัฒนาเอ็นจิ้นเกมและมันจะทำงานกับฮาร์ดแวร์ที่ทันสมัย ​​(Shader model 4+) เท่านั้น ฉันคิดว่าตามเวลาที่ฉันทำกับมันจะไม่เป็นเช่นข้อกำหนดที่ไร้เหตุผล คำถามของฉันคือพื้นผิวฉันสามารถผูกในการ์ดกราฟิกที่ทันสมัยได้กี่ครั้ง? 16 ก็เพียงพอแล้ว ฉันสามารถคาดหวังว่าการ์ดกราฟิกสมัยใหม่ส่วนใหญ่จะรองรับพื้นผิวจำนวนนั้นได้หรือไม่ GTX 460 ของฉันดูเหมือนจะรองรับ 32 แต่ฉันไม่รู้ว่านั่นเป็นตัวแทนของการ์ดแสดงผลที่ทันสมัยที่สุดหรือไม่

6
เกิดอะไรขึ้นกับพื้นผิวที่สร้างขึ้นแบบขั้นตอน? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการ4 ปีที่แล้ว ฉันจำได้ว่าเมื่อไม่นานมานี้ว่าพื้นผิวที่สร้างตามกระบวนการได้กลายเป็นเรื่องใหญ่ที่ผู้คน / บริษัท จำนวนมากให้ความสนใจกับผลประโยชน์ที่จริงจัง (การปรับใช้ขนาดเล็กโหลดเร็วขึ้นคุณภาพสูงขึ้นพื้นผิวที่ปรับขนาดได้ ) จากสิ่งที่ฉันสามารถบอกได้ว่า Buzz นั้นตายแล้วและไม่มีเกมใดในเรดาร์ที่ใช้พวกเขา เกิดอะไรขึ้น? ฉันหวังว่าฉันจะเห็นพื้นผิวขั้นตอนเป็นไปตามที่สิ่งของของ NaturalMotion มี (การนำไปใช้อย่างช้า ๆ แต่คงที่)

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