‫สวัสดีและยินดีต้อนรับ.
‫ในการบรรยายนี้ เราจะทำการหมุนเวียนและเคลื่อนย้ายแพลตฟอร์ม
‫เราจะทำสิ่งนี้โดยการเรียนรู้เกี่ยวกับประเภท F rotator ใน C++ เพื่อให้เราสามารถเพิ่มองค์ประกอบอื่น
‫ๆ ให้กับปริศนาของเราได้อีกเล็กน้อย
‫มาดูวิธีการทำงานกันเลย
‫เรามาพูดถึงการกรอกฟังก์ชันแพลตฟอร์มหมุนเวียนของเรากัน
‫ดังนั้น ในการทำการหมุน มันคล้ายกับวิธีที่เราทำตำแหน่งมาก และเรามีฟังก์ชันที่คล้ายกันมาก
‫โทรแทนโทรได้ หาตำแหน่งนักแสดง โทรก็ได้ สับเปลี่ยนนักแสดงแทน
‫และถ้าฉันใส่วงเล็บต่อท้ายบรรทัดนี้ แล้วเลื่อนเมาส์ไปเหนือฟังก์ชัน Visual
‫Studio IntelliSense จะแสดงให้เราเห็นว่าค่าที่ส่งกลับจากสิ่งนี้คือ F rotator
‫เราใช้เวกเตอร์ F เมื่อทำงานกับสถานที่ และเราได้พูดคุยเกี่ยวกับ rotators ในส่วนก่อนหน้านี้
‫ลองมาดูการวาง F rotator นี้ลงในตัวแปรโลคัลกัน
‫ดังนั้นประเภทจะเป็น F rotator และเราจะเรียกสิ่งนี้ว่าการหมุนปัจจุบัน เท่ากับการหมุน get ของนักแสดง ใส่เครื่องหมายอัฒภาคที่ท้ายบรรทัด
‫ฉันจะลบคำสั่งบันทึกด้วยเพราะเราไม่ต้องการสิ่งนั้นอีกต่อไป
‫แล้วสิ่งที่เราต้องการจะทำก็เหมือนกับที่เราทำกับความเร็วของแท่น ซึ่งเป็นความเร็วการหมุนชนิดหนึ่งคูณด้วยเวลาเดลต้าที่เพิ่มเข้ากับการหมุนปัจจุบัน
‫แล้วความเร็วรอบนั้นควรเป็นเท่าไหร่?
‫นั่นคือที่ที่เราต้องการไปที่ไฟล์ส่วนหัวและเพิ่มคุณสมบัติ U ใหม่
‫ผมจะบวกมันไว้ใต้ระยะการเคลื่อนที่ และผมจะแก้ไขคุณสมบัติ U ที่ใดก็ได้ จากนั้นให้หมวดหมู่เท่ากับครั้งนี้
‫ผมจะเรียกมันว่าการหมุน และผมจะเปลี่ยน ชื่อหมวดหมู่จากการย้ายแพลตฟอร์มเป็นการย้ายในทั้งสองกรณี
‫เราจะมีหมวดหมู่สำหรับการย้าย หมวดหมู่สำหรับการหมุนเวียน
‫จากนั้นภายใต้คุณสมบัติ เราจะใส่ F rotator ที่เรียกว่า ความเร็วในการหมุน และเราจะไม่ให้ค่าเริ่มต้นที่นี่ เพราะโดยค่าเริ่มต้น
‫ฉันไม่ต้องการให้แพลตฟอร์มใดๆ ของเราหมุนเวียน
‫ดังนั้นค่าเริ่มต้นจะเป็น 000 และนั่นคือสิ่งที่เราต้องการ
‫ดังนั้นฉันจะใส่เครื่องหมายอัฒภาคต่อท้ายบรรทัดนี้ และตอนนี้เราสามารถกลับไปที่ไฟล์
‫C++ และใช้ตัวแปรสมาชิกนั้นในฟังก์ชันแพลตฟอร์มแบบหมุนของเราได้
‫สิ่งที่เราอยากทำคือการหมุนปัจจุบันเท่ากับการหมุนปัจจุบัน บวกความเร็วการหมุนคูณด้วยเวลาเดลต้า และใส่เครื่องหมายอัฒภาคที่ท้ายบรรทัด
‫และตอนนี้ ปริศนาชิ้นสุดท้ายคือการกำหนดนักแสดงของเราให้เข้าสู่การหมุนรอบใหม่
‫อย่างที่คุณคาดไว้ บางทีอาจเป็นความท้าทายเล็กๆ น้อยๆ สำหรับคุณ อันที่จริงแล้ว คุณจะทำอย่างนั้นได้อย่างไร?
‫สิ่งที่เราจะใช้คือฟังก์ชันการหมุนของตัวแสดง และเราจะส่งผ่านอาร์กิวเมนต์ของการหมุนปัจจุบันเช่นนั้น
‫แล้วใส่เครื่องหมายอัฒภาคที่ท้ายบรรทัด
‫น่าเสียดายที่มันไม่ได้ผลง่ายๆ เท่านี้
‫ฉันสนใจ นักเรียนบางคนได้ชี้ให้เห็นในผู้ช่วยสอน
‫ขอบคุณมาก Dan ได้ชี้ให้เห็นว่าการเพิ่มการหมุนเข้าด้วยกันแบบนี้จะไม่ทำงานเสมอไป
‫เนื่องจากมีความยุ่งยากบางอย่างเกี่ยวกับการหมุนรอบตัวตัวเอง
‫หากคุณหมุนไปจนสุดที่ -90 องศา ในบางจุด คุณต้องพลิกกลับเป็นการหมุนบวก
‫90 องศา และอื่นๆ เป็นต้น
‫วิธีที่ดีกว่าในการแก้ปัญหานี้ แทนที่จะตั้งค่าการหมุนแบบแอ็คทีฟ คือการเรียกการหมุนเวียนในพื้นที่ของนักแสดงเพิ่ม
‫และคุณสามารถสังเกตได้ที่นี่ว่ามีบางรูปแบบที่เพิ่มนักแสดงในท้องถิ่นและออฟเซ็ตท้องถิ่นสำหรับสถานที่
‫ดังนั้นคุณจึงสามารถใช้สิ่งนั้นแทนการเพิ่มตำแหน่งได้เช่นกัน
‫อย่างไรก็ตาม ไม่มีปัญหาแบบเดียวกับที่เราจะพบในกรณีขอบรอบการหมุน
‫ดังนั้นสิ่งที่ฉันอยากจะแนะนำให้คุณทำคือเพิ่มนักแสดงท้องถิ่นหมุนที่นี่แทนแล้วคุณใส่ในความเร็วการหมุนคูณด้วยเวลาเดลต้าและมันจะทำให้ส่วนที่เหลือของรหัสนี้โดยอัตโนมัติสำหรับคุณ
‫ดังนั้นเราจึงสามารถไปข้างหน้าและกำจัดเส้นเหล่านั้น
‫และคุณมีการเพิ่มตรงไปยังการหมุนเฉพาะจุดที่เกิดขึ้นที่นี่ และคุณสามารถกำจัดสิ่งนี้ได้จากการหมุนเวียนปัจจุบัน
‫เพราะเราไม่ต้องการสิ่งนั้นอีกต่อไป
‫ไปที่ตัวแก้ไขแล้วกดปุ่มคอมไพล์
‫และเมื่อเสร็จแล้ว ให้ปิดบันทึก
‫มาเลือกหนึ่งในแพลตฟอร์มในระดับที่พวกเขาจะทำและดูหมวดหมู่กัน
‫เราก็เคลื่อนที่ได้ และก็มีการหมุน และเราได้ความเร็วการหมุนแล้ว
‫ผมอยากหมุนแท่นนี้ไปรอบๆ แกน Z ของมัน ประมาณ 90 องศาต่อวินาที
‫ดังนั้นจะใช้เวลา 4 วินาทีในการหมุนเต็มที่
‫ไปกดเล่นกันได้เลย
‫และที่นั่นคุณไป
‫เรามีแท่นหมุนและเคลื่อนที่
‫จึงไม่เหมือนกับกลไกของแท่นเคลื่อนที่ เราไม่ต้องกังวลว่าแท่นหมุนของเราจะถอยหลังหรือไปข้างหน้าจริงๆ
‫หากคุณต้องการให้มันเป็นเช่นนั้น นั่นเป็นส่วนขยายที่เป็นไปได้ที่คุณคิดออก
‫แต่สำหรับฉันนั่นก็เพียงพอแล้วเพราะเราแค่ต้องการให้สิ่งเหล่านี้หมุนไปในทิศทางเดียวกัน
‫ให้ฉันไปลบการหมุนเวียนออกจากแพลตฟอร์มนี้เพราะเราไม่ต้องการให้แพลตฟอร์มนี้หมุนเวียน
‫ดังนั้นฉันจึงขอท้าให้คุณส่งเสียงบี๊บหมุน ซึ่งเป็นอีกรูปแบบหนึ่งให้เราใช้และค้นหาตาข่ายที่เหมาะสม
‫ฉันจะไปกับสิ่งที่เป็นวงกลมคลุมเครือเพื่อให้มันสมเหตุสมผลในฐานะแพลตฟอร์มหมุนและให้ความเร็วในการหมุนเริ่มต้นและวางไว้ในระดับเพื่อสร้างปริศนาแพลตฟอร์มที่หมุนได้เล็กน้อยเพื่อให้คุณข้ามผ่าน
‫หยุดวิดีโอชั่วคราวและไปกันเลย
‫ตกลง.
‫ยินดีต้อนรับกลับ.
‫ดังนั้นเราจะไปที่ลิ้นชักเนื้อหาของเราและค้นหาคลาส C++, Obstacle Assault และคลิกขวาที่แพลตฟอร์มที่กำลังเคลื่อนที่เพื่อสร้างอุปกรณ์คลาสพิมพ์เขียวที่ได้มาจากสิ่งนี้
‫เราจะเรียกมันว่า BP ขีดเส้นใต้แพลตฟอร์มหมุนเวียน และเราจะใส่มันในเส้นทางของเนื้อหา
‫และสร้างคลาสพิมพ์เขียว
‫เมื่อตัวแก้ไขปรากฏขึ้นมา ให้เทียบชิดขอบหน้าต่างหลักของเรา
‫ฉันจะปิดเบราว์เซอร์เนื้อหาที่ดูเหมือนว่าจะต้องการปรากฏขึ้นทุกครั้ง และฉันจะไปที่ระดับหลักของเราและไปที่เกาะพร้อมกับเนื้อหาทดสอบทั้งหมดของเราเมื่อคลิกขวา
‫ไปที่นี่และมาดูกันว่ามีอะไรที่ดูดีหรือไม่
‫ฉันชอบรูปลักษณ์ของแพลตฟอร์มเหล่านี้ที่นี่
‫ถ้าฉันคลิกขวาที่มันหรือเพียงแค่คลิกที่มัน แสดงว่าเมชที่ใช้ที่นี่ในสแตติกเมชคือแพลตฟอร์ม
‫SM A ลองมองหาอันนั้นกัน
‫ไปที่พิมพ์เขียวของเรา เปิดเนื้อหา วาด ไปที่ทั้งหมด แล้วค้นหาแพลตฟอร์มขีดล่าง
‫M ขีดล่าง A แล้วเราได้ตาข่าย ซึ่งก็คืออันนี้ที่นี่
‫ที่สองพร้อมสำหรับฉัน
‫ฉันจะลากมันไปที่วิวพอร์ตเพื่อให้มีแพลตฟอร์มของเรา
‫ทีนี้มาดูกันว่าจุดศูนย์กลางอยู่ที่ใด
‫มันอยู่ตรงกลางหรือเปล่า?
‫ใช่แล้ว ซึ่งเป็นสิ่งที่ดีและสำคัญเพราะเราต้องการให้มันหมุนตรงกลาง
‫มิฉะนั้น แพลตฟอร์มทรงกลมนี้จะดูแปลกไปเล็กน้อย
‫นอกจากนี้เรายังสามารถขยายขนาดขึ้นเล็กน้อยในมิติ x และ Y เพื่อทำให้แพลตฟอร์มนี้ใหญ่ขึ้นเล็กน้อย และเราสามารถไปที่ค่าดีฟอลต์ของคลาสเพื่อลบความเร็วของแพลตฟอร์มใดๆ
‫เนื่องจากเราไม่ต้องการให้มันเคลื่อนที่และกำหนดระยะการเคลื่อนที่ลง ให้เหลือศูนย์แล้วดูที่ส่วนการหมุนและตั้งค่าให้พอเหมาะ
‫เราลอง 90 องศาต่อวินาทีและนั่นก็ดูสมเหตุสมผลพอสมควร
‫ไปต่อและบันทึกแพลตฟอร์มที่หมุนได้นี้
‫เราจะไปที่ระดับหลักของเราแล้วคลิกขวาบนเกาะลอยน้ำเล็กๆ ที่เราตั้งด่านปริศนาของเราแล้ว
‫คลิก ไปที่นี่
‫ที่ด้านบนของเกาะนี้ ฉันต้องการวางพิมพ์เขียวใหม่ของเรา
‫ให้ยกเลิกการค้นหา ไปที่รูทของเนื้อหา และค้นหาแพลตฟอร์มที่หมุนได้ของเราและวางไว้ในระดับ
‫และทันทีที่ฉันเห็นฉันต้องการให้มันใหญ่ขึ้นอีกนิด
‫ดังนั้นไปข้างหน้าและขยายขนาดขึ้น
‫อีกสองสามหน่วยอาจจะสามครั้งน่าจะดี
‫ไปดูกันเลย
‫ตอนนี้ ฉันคิดว่ามันอาจจะยังใหญ่กว่านี้อีก ดังนั้นฉันจะขยายให้ใหญ่ขึ้นเล็กน้อย
‫เพื่อให้ใน X และ Y มีขนาดใหญ่กว่าเดิมห้าเท่า
‫โอเค นั่นเป็นจานหมุนที่กว้างดี และอาจเป็นเรื่องยากสำหรับเราที่จะข้ามผ่าน
‫ดังนั้นฉันจะทำซ้ำสิ่งเหล่านี้โดยใช้ alt และลากเพื่อสร้างบางส่วนข้ามแพลตฟอร์มและลองวางอย่างเหมาะสมแล้ว
‫alt ลากอีกสองสามรายการ
‫เพื่อที่เราจะได้มีชุดปริศนาเล็ก ๆ น้อย ๆ ไว้ให้เราลองและข้ามผ่าน
‫ดังนั้นเพียงแค่กระดิกพวกมันไปรอบ ๆ เล็กน้อยจนกว่าฉันจะได้พวกมันค่อนข้างมาก
‫และนี่คือจุดที่สามารถมีโหมดเกมได้เพราะเราสามารถคลิกขวาใกล้กับแพลตฟอร์มและคลิกเล่นจากที่นี่
‫และนี่คือแพลตฟอร์มที่หมุนเวียนทั้งหมดเพื่อให้เราก้าวต่อไป
‫และตอนนี้ก็ค่อนข้างท้าทายสำหรับเราที่จะหาทางข้ามแพลตฟอร์มที่เคลื่อนไหวได้ดีและง่ายดาย
‫ตอนนี้มีเดดโซนอยู่ตรงกลางซึ่งเราสามารถลองและว่างเปล่าได้ แต่จริงๆ
‫แล้วมันค่อนข้างยากที่จะเข้าไปอยู่ในโซนเดดโซน ดังนั้นฉันจะไม่พยายามใส่อะไรเข้าไปโดยเฉพาะเพื่อพยายามหยุดสิ่งนั้น
‫แต่คุณสามารถเห็นคุณไปที่นั่น
‫เป็นความท้าทายที่เราทำได้ แต่ค่อนข้างยุ่งยากและสนุก
‫สิ่งที่ดี
‫ดังนั้นในการบรรยายนี้ เราได้เห็นวิธีการสร้างแท่นหมุนโดยการเรียนรู้เกี่ยวกับชนิดใหม่
‫ตัวหมุน F และวิธีที่เราสามารถใช้มันเพื่อกำหนดการหมุนของนักแสดงของเรา
‫เจอกันใหม่ตอนหน้าค่ะ