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

คอลเลกชันของสไปรต์ที่โหลดลงในหน่วยความจำเป็นภาพเดียว

9
คุณจะวางรูปภาพทั้งหมดจากเกมหนึ่งไฟล์ได้อย่างไร?
ฉันเพิ่งเล่นเกม RPG พื้นฐานที่เขียนด้วย C ++ SFML แล้วฉันได้พยายามอย่างมากในเกมและฉันต้องการเผยแพร่เกมนี้ แต่ฉันพบปัญหาเล็กน้อย ปัญหาคือฉันมีภาพและไฟล์แผนที่มากกว่า 200 ภาพ (เป็นไฟล์. txt ซึ่งมีรหัสแผนที่) ทั้งหมดในโฟลเดอร์เดียวกับไฟล์เรียกทำงานเมื่อฉันดูในโฟลเดอร์มันทำให้ฉันอยากร้องไห้เล็กน้อยที่เห็น แหล่งข้อมูลมากมายฉันไม่เคยเห็นเกมที่แสดงทรัพยากรทั้งหมดให้คุณโดยตรง แต่ฉันเชื่อว่าพวกเขาเก็บทรัพยากรไว้ในไฟล์ที่แน่นอน นั่นคือสิ่งที่ฉันพยายามทำให้สำเร็จ: ฉันหวังว่าจะบรรจุภาพทั้งหมดใน 1 ไฟล์ (อาจเป็นไฟล์. txt ด้วย) จากนั้นสามารถอ่านจากไฟล์นั้นหรือเพิ่มได้อย่างง่ายดาย
67 c++  assets  sfml  spritesheet 

2
ในเบราว์เซอร์ควรใช้สเปรดชีทขนาดใหญ่หรือ PNG ที่แตกต่างกัน (10,000) ตัวหรือไม่
ฉันกำลังสร้างเกมใน jQuery ที่ฉันใช้แผ่นประมาณ 10,000 32x32 แผ่น จนถึงตอนนี้ฉันใช้มันแยกกันหมด (ไม่มีแผ่นสไปรต์) แผนที่เฉลี่ยใช้ประมาณ 2,000 ไทล์ (บางครั้งใช้ PNG ใหม่ แต่แยก Divs ทั้งหมด) และประสิทธิภาพการทำงานมีตั้งแต่เสถียร (Chrome) ไปจนถึงความล่าช้าเล็กน้อย (Firefox) แต่ละ divs เหล่านี้อยู่ในตำแหน่งที่ใช้ CSS อย่างแน่นอน พวกเขาไม่จำเป็นต้องได้รับการอัพเดททุกเห็บเพียงแค่โหลดแผนที่ใหม่ มันจะดีกว่าหรือที่ประสิทธิภาพจะใช้วิธี spritesheet สำหรับ div โดยใช้การวางตำแหน่งพื้นหลัง CSS เหมือน gameQuery ขอบคุณล่วงหน้า!

3
ทำไมเอ็นจิ้นเกมส่วนใหญ่ไม่ใช้ gif สำหรับพื้นผิวเคลื่อนไหว?
อะไรจะดีไปกว่าการใช้ Animation ชีตหรือ Gif ข้อดีอย่างหนึ่งของ Gif ที่มีเหนือแผ่นภาพเคลื่อนไหวคือคุณไม่ต้องคิดเกี่ยวกับเฟรมที่จะเร็วหรือช้าเกินไปเพราะรหัสของคุณและการอัพเดทในเห็บที่เหมาะสม อะไรคือข้อเสียของการใช้ Gif และข้อดีของ Animation Sheet มีมากกว่า Gif

9
มีเครื่องมือในการสร้าง Spritesheet จาก 1,000 PNG หรือไม่ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว ผู้ออกแบบกราฟิกของฉันทำกราฟิกในไฟล์ PNG แยกต่างหาก มีเครื่องมือ / สคริปต์ที่ชาญฉลาดที่จะทำให้มันกลายเป็น spritesheet หรือไม่? ฉันอาจเขียนโค้ดเองได้ แต่ทำไมต้องคิดค้นวงล้อใหม่ :)

9
เคล็ดลับและเครื่องมือสำหรับการสร้างภาพเคลื่อนไหว Spritesheet
ฉันกำลังมองหาเครื่องมือที่ฉันสามารถใช้เพื่อสร้างสไปรต์ชีทได้อย่างง่ายดาย ตอนนี้ฉันกำลังใช้ Illustrator แต่ฉันไม่สามารถรับจุดศูนย์กลางของตัวละครในตำแหน่งที่แน่นอนดังนั้นดูเหมือนว่ามันจะเคลื่อนที่ไปมา มีเครื่องมือที่ดีกว่าที่ฉันสามารถใช้ได้หรือไม่? นอกจากนี้คุณยังมีเคล็ดลับประเภทไหนที่คุณจะให้กับสไปรต์ชีท? ฉันควรสร้างอักขระแต่ละส่วนในแต่ละเลเยอร์ (แขนซ้าย, แขนขวา, ร่างกาย ฯลฯ ) หรือทุกอย่างพร้อมกันหรือไม่? เคล็ดลับอื่น ๆ ก็จะมีประโยชน์เช่นกัน! ขอขอบคุณ

2
ฉันจะปิดการใช้งานการกรองพื้นผิวสำหรับสไปรท์สเกลใน XNA 4.0 ได้อย่างไร
ฉันมีเทพดาที่ฉันพยายามไต่ระดับขึ้นใน XNA แต่ XNA กำลังใช้การกรองพื้นผิวบางชนิดที่ทำให้มันเรียบและทำให้ดูน่าเกลียด ฉันต้องการให้พิกเซลเพิ่มเป็นสองเท่าแทนการแก้ไข ฉันจะทำให้สำเร็จได้อย่างไร

4
อะไรคือความแตกต่างระหว่างสไปรต์ชีทกับแผนที่พื้นผิว?
ฉันสงสัยว่าความแตกต่างระหว่างแผ่นสไปรต์และแผนที่พื้นผิวคืออะไร ไม่เหมือนกันทั้งคู่หรือ ในแผ่นสไปรต์คุณมีสไปรต์และแผนที่พื้นผิวคุณยังมีสไปรต์ด้วยดังนั้นอะไรคือความแตกต่าง?

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

3
แกล้งทำกราฟิกสามมิติในเกมอวกาศ 2 มิติ
ปิดครั้งแรกผมรู้ว่าสิ่งที่ปัญหาภาพวาดของฉันเป็นและฉันมีความคิดที่แตกต่างกันเกี่ยวกับวิธีการแก้มัน ฉันมาที่นี่เพื่อหาวิธีการปรับเฟรมที่ถูกวาดเพื่อให้ "ภาพลวงตา" มีมิติเท่ากันได้รับการดูแล ฉันกำลังเขียนเกมดูนกแบบ 2 มิติที่เกิดขึ้นในอวกาศ ฉันกำลังพยายามใช้กราฟิกสามมิติในโลกที่อัพอยู่เหนือไม่มีโลกหมุนของเกมเหมือนในเกมไอโซโทปดั้งเดิม (โปรดจำไว้ว่าเกมเกิดขึ้นในอวกาศไม่มีภูมิประเทศ) นี่คือตัวอย่างสไปรต์ที่ฉันพยายามใช้: http://cell.stat-life.com/images/stories/AsteroidOutpost/Spaceship64.pngหมุน 64 ครั้งเกี่ยวกับแกนตั้งของมันในมุมมอง 35 องศา (aka, ISO) ภาพถูกสร้างขึ้นดังนั้นสิ่งนี้สามารถเปลี่ยนแปลงได้ เพื่อความชัดเจนฉันได้บอกว่าทิศเหนือ (ขึ้น) คือ 0 องศาและทิศตะวันออก (ขวา) คือ 90 ปัญหาของฉันคือผีสางของฉันไม่ได้ดูเหมือนว่ามันจะหันหน้าไปทางที่เกมคิดว่าเป็นเพราะความแตกต่างในเครื่องบิน 3 มิติที่ใช้ ไม่แน่ใจว่าฉันใช้คำศัพท์อย่างถูกต้องหรือไม่ยานอวกาศของฉันหมุนไปในระนาบเดียวและระนาบมุมมองกำลังคาดหวังว่าสิ่งต่าง ๆ จะหมุนบนเครื่องบินของตัวเอง นี่คือภาพของปัญหา: http://cell.stat-life.com/images/stories/AsteroidOutpost/ProjectIssue.png ด้านซ้ายฉันมีมุมมองด้านข้างทางขวาฉันมีมุมมองจากบนลงล่าง ด้านบนฉันมีมุมมองของยานอวกาศ / แผ่นสไปรต์ของโลก ที่ด้านล่างฉันมีสิ่งที่เทพดาดูเหมือนเมื่อวาดลงบนหน้าจอ ที่ด้านบนขวาเป็นเวอร์ชั่นที่เรียบง่ายของวิธีการหมุนยานอวกาศของฉัน (แม้จะมีการแยกองศาระหว่างแต่ละเฟรม) ที่มุมล่างขวาคือมุมที่สไปรต์ดูเหมือนว่ากำลังหันหน้าไปเมื่อวาดมุมใดมุมหนึ่งบนหน้าจอ ปัญหานี้เกิดขึ้นอย่างชัดเจนที่สุดประมาณ 45 องศา นี่คือภาพที่วางซ้อนกับเส้น "ระนาบหน้าจอ" ซึ่งชี้ไปในทิศทางที่เรือควรหันเข้าหา: http://cell.stat-life.com/images/stories/AsteroidOutpost/Spaceship64RedLine.pngเส้นสีแดงควรเสมอจะชี้ไปในทิศทางเดียวกันกับเรือ แต่เป็นคุณสามารถมองเห็นปัญหาการฉายที่เป็นสาเหตุของปัญหา …

5
ฉันจะจัดการกับสไปรต์ชีตที่มีขนาดสไปรต์ที่ไม่ใช่แบบฟอร์มได้อย่างไร
สำหรับชุดสไปรต์ที่มีขนาดสไปรต์ที่ไม่สม่ำเสมอฉันจะหารูปสี่เหลี่ยมมุมฉากสำหรับสไปรต์แต่ละตัวได้อย่างไร (เช่นกล่องสีน้ำเงินในภาพต่อไปนี้ / ฉันวาดตัวอย่างเพียงไม่กี่ชิ้น)? สิ่งที่ฉันต้องการตรวจสอบคือ: offset_x, offset_y, width, height จนถึงตอนนี้ฉันได้ใช้ Spriteheets ที่ Sprite ทั้งหมดมีขนาดเท่ากัน ในกรณีนั้นเราต้องการเพียงระบุ x และ y-offset เพื่อรับ sprite เฉพาะ อย่างไรก็ตามสำหรับสไปรต์ของชุดที่มีขนาดไม่เท่ากันก็ไม่สามารถใช้งานได้ แก้ไข: หลังจากอ่านความคิดเห็นและคำตอบแล้วฉันได้ปรับปรุงคำถามของฉันอีกครั้งเพื่อให้มีความครอบคลุมมากขึ้น กระบวนการจริงของการใช้สไปรต์แผ่นชีทในเกม ก่อนหน้านี้คำถามมีประเด็นที่ว่าทำไมผู้คนถึงผลิตสไปรต์แบบแผ่นขนาดไม่เท่ากันและฉันจะจัดการกับเรื่องนั้นได้อย่างไร

1
ฉันจะเข้าถึงเทพดาเดี่ยวโดยทางโปรแกรมได้อย่างไรเมื่อโหมด Sprite เป็นหลาย ๆ
Unity 4.3 เพิ่งนำความสามารถในการตัดแผ่นสไปรต์มาเป็นสไปรต์แต่ละอัน สิ่งนี้มีประโยชน์เนื่องจากคุณต้องการเพียงแค่สปีชีตหลัก แต่ก็ยังได้รับการอ้างอิงถึงสไปรต์แต่ละรายการ มันทำโดยการตั้งค่าโหมดสไปรท์ไปหลาย Sprite ทั้งหมดที่สร้างจากไฟล์ต้นแบบสามารถเข้าถึงได้ทางโปรแกรมจาก Unity Sprite Editor หรือไม่? ตัวอย่างเช่นฉันมีสไปรต์แผ่นชีทพร้อมกริดสไปรต์ 50x50 การใช้ความสามัคคีสไปรท์, Editor ตอนนี้ผมมี 250 spritesheet_0, spritesheet_1, ..., spritesheet_249สไปรท์: ฉันจะจัดการได้spritesheet_102โดยไม่ต้องลากและวางด้วยตนเองในเครื่องมือแก้ไข Unity ได้อย่างไร

1
พื้นผิวของแผ่นสไปรต์ยกขอบของพื้นผิวที่อยู่ติดกัน
ฉันมีชุดสไปรต์แบบกำหนดเอง (openGL 2.0) ซึ่งใช้แผ่นงานสไปรต์ง่าย ๆ (พื้นผิวของฉันถูกจัดเรียงในแนวนอนติดกัน) ตัวอย่างเช่นนี่คือแผ่นทดสอบสไปรต์ที่มีพื้นผิวที่เรียบง่าย 2 แบบ: ตอนนี้สิ่งที่ฉันทำเมื่อสร้างวัตถุ openGL sprite ของฉันคือการระบุจำนวนเฟรมทั้งหมดในแอตลาสและเมื่อวาดให้ระบุเฟรมที่ฉันต้องการวาด จากนั้นจะหาตำแหน่งที่จะจับพื้นผิวจาก: การหารหมายเลขเฟรมที่ต้องการด้วยจำนวนเฟรมทั้งหมด (เพื่อรับค่าพิกัดซ้าย) จากนั้นทำการดำน้ำ 1 ตามจำนวนเฟรมทั้งหมดและเพิ่มผลลัพธ์ลงในพิกัดด้านซ้ายที่คำนวณข้างต้น ดูเหมือนว่าจะใช้งานได้ แต่บางครั้งฉันก็มีปัญหา พูดเช่นฉันต้องการวาด X ด้านล่างและฉันได้รับ ........... ฉันเคยได้ยินเกี่ยวกับการใส่ 'padding' ของ 1 px ระหว่างแต่ละพื้นผิว แต่บางคนสามารถอธิบายได้อย่างแม่นยำว่ามันทำงานอย่างไร ฉันหมายความว่าถ้าฉันทำสิ่งนี้มันจะสลัดการคำนวณออกไปเพื่อให้ได้พื้นผิว หากฉันรวมการซ้อนทับในพื้นผิวที่หยิบง่าย (ดังนั้นเทพดาจะถูกวาดด้วยเส้นขอบที่ว่างเปล่า) ดังนั้นถ้าเป็นเช่นนั้นจะทำให้เกิดปัญหากับการตรวจจับการชนกันหรือไม่ (เช่นสไปรต์อาจปรากฏขึ้นเพื่อชนกันเมื่อใช้กล่องที่มีขอบเขตเมื่อชิ้นส่วนโปร่งใสชนกัน) จะขอบคุณถ้ามีคนอธิบาย

3
วิธีการแยกแผ่นสไปรต์
ฉันมีสไปรต์จำนวนมากที่มีรูปแบบไม่ดีซึ่งฉันต้องการย่อยสลายหรือแยกออกเป็นภาพขนาดเล็กจำนวนมากหนึ่งภาพสำหรับแต่ละสไปรต์ หากฉันสามารถทำได้ฉันสามารถใช้เครื่องมือตัวสร้างแพ็คเกอร์กำหนดพื้นผิวของฉันเพื่อสร้างเนื้อหาเกมด้วย เครื่องมือในการพัฒนาของฉันคือ XNA และ C # ที่กำหนดเป้าหมายเป็น Windows ฉันจะสลายภาพได้อย่างไร?

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