ฉันจะใช้ถนนที่ไม่มีที่สิ้นสุดที่ผู้เล่นวิ่งลงได้อย่างไร


17

ฉันต้องการสร้างภาพลวงตาที่ชายคนหนึ่งกำลังวิ่งไปตามถนนสายยาวนั่นคือรูปนี้

http://camlinecambridgelimited.web.officelive.com/images/road%20graphic1.jpg

หากคุณเล่น Temple Run บน iPhone มันเป็นหลักการเดียวกัน แต่แทนที่จะเป็น Temple มันเป็นถนนธรรมดา

ฉันต้องการทราบวิธีการใช้งานนี้ ตัวอย่างเช่นฉันเพิ่งทำซ้ำภาพถนนนี้เป็นวงหรือไม่?

คำตอบ:


16

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

  1. สำหรับการทำซ้ำแทนการตั้งค่าการประสานพื้นผิวแนวตั้งจาก [0 ถึง 1] ให้ตั้งค่าจาก [0 ถึง N] โดยที่ N คือจำนวนครั้งที่คุณต้องการให้พื้นผิวทำซ้ำ ปรับค่านี้ขึ้นอยู่กับความสูงของรูปสี่เหลี่ยมเมื่อเทียบกับความสูงพื้นผิวของคุณ
  2. สำหรับการเลื่อนฉันเพียงแค่เลื่อนการประสานพื้นผิวแนวตั้งดังนั้นแทนที่จะเป็นตั้งแต่ [0 ถึง N] มันจะอยู่ในช่วงตั้งแต่ [inc ถึง N + inc] โดยที่ค่าของincกำลังเพิ่มขึ้นหรือลดลงในแต่ละเฟรม บางครั้งฉันจะห่อincกลับไปที่จุดเริ่มต้นเพื่อป้องกันไม่ให้ล้น / อันเดอร์

แก้ไขฉันเพิ่งลองใช้สิ่งนี้ตามที่ฉันอธิบาย (แต่ใน XNA) และทำงานได้ค่อนข้างดี ดูวิดีโอสาธิตนี้ ซอร์สโค้ดที่นี่สำหรับผู้ที่สนใจ


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

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


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

1

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

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

ขณะที่มุมมองเลื่อนไปข้างหน้าวนลูปผ่านพื้นผิวตามลำดับ


0

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

ในขณะที่เราอยู่ที่นี่คุณจะได้รับผลที่ดีที่สุดจากการเลียนแบบมุมมองที่ไม่มั่นคงของนักวิ่ง บันทึกภาพยนตร์ของคุณวิ่งจากมุมมองของดวงตาและศึกษา


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