‫สวัสดีและยินดีต้อนรับกลับ
‫ตอนนี้เรากำลังเคลื่อนรถถังของเราไปข้างหน้าและข้างหลัง แต่เราไม่มีทางที่จะบังคับรถถังได้จริงๆ
‫ในวิดีโอนี้ เราจะพยายามหมุนรถถังโดยใช้สิ่งที่เรียกว่าการหมุนเฉพาะจุด
‫นี่คือแอนะล็อกแบบหมุนเพื่อเพิ่มการชดเชยในพื้นที่ของนักแสดง
‫ตอนนี้เพิ่มนักแสดงท้องถิ่นออฟเซ็ตมีพารามิเตอร์อินพุตหลายตัวและเราส่งผ่านในพารามิเตอร์แรกเท่านั้นเนื่องจากอีกสามตัวเลือกเป็นทางเลือก
‫แต่หนึ่งในสามที่เหลือนั้นเกี่ยวข้องกับการกวาด
‫และเราจะหารือกันเล็กน้อยเกี่ยวกับการกวาดล้าง ก่อนที่เราจะดำเนินการหมุนเวียนต่อไป
‫ดังนั้นฉันจึงกลับมาที่เอกสารประกอบสำหรับ ADD Actor Local Offset
‫ลองดูพารามิเตอร์อินพุตเหล่านี้อีกครั้ง
‫อันที่สองเรียกว่า B Sweep และมันคือบูลีน
‫ตอนนี้ หากเราเลื่อนลงมาอีกหน่อยและอ่านข้อมูลที่นี่สำหรับการกวาด B จะมีข้อความระบุว่าเรากวาดไปยังตำแหน่งปลายทางที่ทริกเกอร์คาบเกี่ยวกันระหว่างทางหรือไม่
‫และหยุดสั้นจากเป้าหมายหากมีบางสิ่งกีดขวาง
‫นอกจากนี้ยังกล่าวต่อไปว่ามีเพียงองค์ประกอบรูทเท่านั้นที่ถูกกวาดและตรวจสอบการบล็อกการชนกัน
‫ส่วนประกอบย่อยเคลื่อนที่โดยไม่กวาด
‫หากปิดการชนกัน จะไม่มีผลใดๆ
‫เรามาพูดถึงความหมายของมันในการเขียนโปรแกรมเกมกัน การกวาดเป็นเทคนิคที่ทำโดยเอ็นจิ้น ตราบใดที่เปิดใช้งานการกวาด
‫หากเรามีวัตถุเคลื่อนที่ เช่น ทรงกลม แทนด้วยวงกลมนี้ แต่ละเฟรมขณะที่ทรงกลมนี้เคลื่อนที่
‫เครื่องยนต์จะทำการตรวจสอบการกวาดล้าง
‫ซึ่งหมายความว่ากำลังตรวจสอบเพื่อดูว่าการย้ายสำหรับเฟรมเฉพาะนี้จะส่งผลให้เกิดการทับซ้อนกันระหว่างวัตถุสองชิ้นหรือไม่
‫ฉันมีบล็อกนี้ที่นี่ แทนด้วยสี่เหลี่ยมนี้
‫ทีนี้ลองพิจารณาว่านี่เป็นวัตถุสองชิ้นเดียวในโลก
‫ดังนั้นในขณะที่เปิดใช้งานการกวาดเมื่อทรงกลมเคลื่อนเข้าหาวัตถุ เครื่องยนต์กำลังตรวจสอบเพื่อดูว่าวัตถุทั้งสองซ้อนทับกันหรือไม่
‫ในตอนนี้ ในขณะที่ทรงกลมยังคงเคลื่อนที่ต่อไป สมมุติว่าในระหว่างเฟรมใดเฟรมหนึ่ง ทรงกลมจะเคลื่อนที่ไปจนซ้อนทับกับวัตถุอื่น
‫ตอนนี้สิ่งที่เปิดใช้งานการกวาดคือเครื่องยนต์จะตรวจจับการทับซ้อนกันนี้และย้ายทรงกลมนั้นกลับมาสำหรับเฟรมนั้นโดยเฉพาะเพื่อไม่ให้ทะลุวัตถุได้จริง
‫ตอนนี้เราไม่เคยเห็นทรงกลมเจาะวัตถุจริงๆ
‫เครื่องยนต์จับที่คาบเกี่ยวกันก่อนที่จะมีการเคลื่อนไหวจริง
‫ผลที่ได้คือเราจะเห็นว่าทรงกลมหยุดทับซ้อนกันเพียงเล็กน้อย
‫ดังนั้น ถ้าสี่เหลี่ยมนี้เป็นกำแพง ตัวอย่างเช่น ทรงกลมจะหยุดที่พื้นผิวของผนัง
‫นั่นคือสิ่งที่กวาดสำเร็จสำหรับเรา
‫ตอนนี้เอกสารระบุว่าถ้าปิดการชนกัน สิ่งนี้จะไม่มีผลใดๆ
‫ดังนั้นจึงต้องเปิดใช้งานการชนกันเพื่อให้การกวาดทำงาน
‫กลับมาที่นี่ในถัง CP ในฟังก์ชันการย้าย นี่คือการเรียกของเราให้เพิ่มนักแสดงท้องถิ่น offset และถ้าเราต้องการเราสามารถส่งผ่านพารามิเตอร์อินพุตอื่นที่นี่
‫อันที่สองคือบูลีนการกวาดเพื่อให้เราสามารถส่งผ่านจริงได้ที่นี่
‫ลองรวบรวมสิ่งนี้และดูผลของการเปิดใช้งานการกวาด
‫ทีนี้ถ้าเรากดเล่นและพยายามเคลื่อนผ่านกำแพง เช่น เราจะเห็นว่าเราเคลื่อนผ่านกำแพงไปทางขวา
‫มีบางอย่างไม่ค่อยทำงานที่นี่
‫ตอนนี้เรามาดูกันว่าองค์ประกอบเส้นทางสำหรับถังบ่อ BP คืออะไร
‫จำได้ว่าเราใช้ส่วนประกอบแคปซูลสำหรับเส้นทาง
‫ดังนั้นด้วยส่วนประกอบแคปซูลที่เลือกไว้ในถังบ่อ BP
‫ไปที่แผงรายละเอียดแล้วเลื่อนลงมา เราจะเห็นส่วนที่เรียกว่าการชนกัน
‫และที่นี่เราเห็น Collision Presets และมีเมนูแบบเลื่อนลง
‫เลยมาขยายความกัน
‫ตอนนี้ Collision Presets สามารถตั้งค่าตัวเลือกจำนวนเท่าใดก็ได้ และโดยค่าเริ่มต้น เราจะเห็นว่ามีการทับซ้อนกันแบบไดนามิกทั้งหมด
‫ตอนนี้ ขึ้นอยู่กับเวอร์ชันของ Unreal Engine ที่คุณใช้อยู่
‫คุณอาจเห็นอย่างอื่นที่นี่ แต่เราสามารถเปลี่ยนสิ่งนี้ได้
‫หากเราเลือกรายการแบบเลื่อนลงและเลือกบล็อกไดนามิกทั้งหมด ตัวเลือกที่เป็นสีเทาด้านล่างจะเปลี่ยนไป
‫จำไว้ว่าเราทับซ้อนกันแบบไดนามิกทั้งหมด และที่นี่เราเห็นช่องทำเครื่องหมายสามคอลัมน์
‫นี่คือการตอบสนองการชนกันและคอลัมน์ทางด้านซ้ายแสดงรายการประเภทวัตถุการชนกัน
‫ดังนั้นส่วนประกอบใด ๆ ก็มีประเภทวัตถุชนกันของมันเอง
‫โปรดสังเกตว่าเราสามารถเห็นประเภทของวัตถุสำหรับแคปซูลที่ตั้งเป็นไดนามิกของโลก
‫และเมื่อเราเปลี่ยนค่าที่ตั้งไว้ล่วงหน้าของการชนเพื่อบล็อกไดนามิกทั้งหมด คุณจะเห็นว่าการตอบสนองการชนทั้งหมดได้รับการตรวจสอบเพื่อบล็อกในการตอบสนองต่อวัตถุการชนประเภทอื่นๆ
‫ทั้งหมด
‫ลองกดเล่นดูว่าจะเกิดอะไรขึ้นเมื่อเราพยายามผ่านสิ่งต่างๆ
‫คุณจะเห็นว่าเราหยุดเพียงแค่ไม่ทับซ้อนกัน
‫ส่วนบ่อน้ำอื่นๆ
‫ทีนี้ ถ้าฉันย้ายถังเพื่อที่เราจะได้ลองซ้อนกับผนังและวนไปรอบๆ สระอื่นๆ
‫ตอนนี้ถ้าฉันกดเล่นฉันก็บล็อกกำแพงเช่นกัน
‫ดังนั้นบล็อกที่ตั้งไว้ล่วงหน้าของการชนกัน ไดนามิกทั้งหมดตั้งค่าการตอบสนองการชนกันเพื่อบล็อกวัตถุประเภทอื่นๆ ทั้งหมด
‫และคุณสามารถดูประเภทออบเจ็กต์การชนของส่วนประกอบหนึ่ง ๆ ได้เสมอโดยการเลือกในแผงส่วนประกอบและเลื่อนลงไปที่ส่วนการชนกันในแผงรายละเอียดและเปิดเมนูดร็อปดาวน์สำหรับ
‫Collision Presets
‫ฉันเลือกเมชพื้นฐานแล้วและประเภทของออบเจ็กต์นั้นเป็นไดนามิกของโลกและตั้งค่าให้บล็อกทั้งหมด
‫ตอนนี้เราเห็นว่าการกวาดทำงานเนื่องจากเราตั้งค่าการชนกันล่วงหน้าสำหรับคอมพ์แคปซูลเพื่อบล็อกไดนามิกทั้งหมด
‫และเราเห็นในเอกสารประกอบว่ามีเพียงองค์ประกอบรูทเท่านั้นที่ถูกกวาดและตรวจสอบการบล็อกการชนกัน
‫ดังนั้นจึงไม่สำคัญว่าองค์ประกอบอื่นๆ จะถูกตั้งค่าเป็นเท่าใด
‫เรากำลังตรวจสอบเพื่อดูว่าองค์ประกอบรูทกำลังบล็อกบางสิ่งอยู่หรือไม่
‫ประเด็นหนึ่งที่ทำให้นักเรียนบางคนสะดุดคือพวกเขาไม่สามารถเคลื่อนไหวได้ทันทีที่ตั้งแคปซูลเพื่อบล็อกไดนามิกทั้งหมด
‫เหตุผลหนึ่งที่อาจเป็นเพราะแคปซูลของคุณซ้อนทับกับพื้น
‫หากแคปซูลทับซ้อนกับพื้น คุณจะไม่สามารถเคลื่อนที่ได้เนื่องจากเครื่องยนต์จะไม่ยอมให้ถังของคุณเคลื่อนที่ได้หากส่วนประกอบของแคปซูลทับซ้อนกับสิ่งที่ตั้งไว้เพื่อปิดกั้น
‫ดังนั้น วิธีแก้ไขง่ายๆ คือต้องแน่ใจว่าแคปซูลของคุณไม่ทับซ้อนกับพื้น
‫ตอนนี้คุณสามารถไปที่ถัง BP ของคุณและตรวจสอบให้แน่ใจว่าแคปซูลของคุณอยู่เหนือล้อที่นี่
‫ฉันจะไปที่มุมมองออร์โธกราฟิก
‫และเลือกตาข่ายฐานของฉันแล้วดึงมันลงมา
‫ดังนั้นล้อจึงอยู่ใต้ส่วนประกอบแคปซูล
‫ดังนั้นหากตาข่ายของคุณอยู่บนพื้นและแคปซูลอยู่เหนือตาข่าย
‫คุณควรจะสามารถเคลื่อนย้ายไปมาได้
‫ดังนั้นฉันจะไปตีเล่นและไปที่นั่น
‫ดังนั้นเมื่อเราหมดหนทางแล้ว ก็ถึงเวลาเริ่มใช้การหมุนเวียน
‫กลับไปที่การตั้งค่าโครงการของเรา
‫ดังนั้นเราจึงไปแก้ไขการตั้งค่าโปรเจ็กต์ เลื่อนลงไปที่อินพุต และในส่วนอินพุต เรามีการแมปแกนของเรา
‫ตอนนี้เราได้ดูแลแล้ว
‫ก้าวไปข้างหน้า.
‫ได้เวลาดูแลเรื่องถัดไปที่เรียกว่า Turn and Turn โดยมี D และ A กำหนดให้โดยที่
‫D มีสเกลหนึ่งและ A มีสเกลเป็นลบ
‫เราต้องการใช้ D และ AX เพื่อหมุนรถถัง
‫ดังนั้น ในการผูกฟังก์ชันกับการแมปแกนหมุน เราจำเป็นต้องมีฟังก์ชันเพื่อผูก
‫เรากลับมาที่โค้ดของ V แล้ว และฉันจะไปที่ไฟล์รถถัง เพื่อให้เราสามารถสร้างฟังก์ชันเพื่อผูกกับการทำแผนที่แกนเลี้ยวนั้น
‫ตอนนี้ฉันจะเรียกฟังก์ชัน void นี้ว่าเทิร์น และเหมือนกับการย้าย
‫ต้องการพารามิเตอร์อินพุตแบบ float และเราจะเรียกค่านี้
‫เราได้ประกาศฟังก์ชันนี้ มากำหนดมันและ CP ของรถถัง และฉันจะใส่มันไว้ใต้ฟังก์ชันการย้าย
‫ดังนั้นฉันจึงกำหนดเนื้อหาฟังก์ชันและฉันต้องการชื่อคลาสพร้อมกับเครื่องหมายทวิภาคคู่หน้าชื่อฟังก์ชัน
‫ตอนนี้เรามีฟังก์ชันที่เหมาะสมแล้ว
‫นี่ไม่ใช่สิ่งเดียวที่เราต้องทำ
‫เราจำเป็นต้องตรวจสอบให้แน่ใจว่าฟังก์ชันนี้เชื่อมโยงกับการแมปแกนที่เรียกว่าเทิร์น
‫เราทำอย่างนั้นในการตั้งค่าองค์ประกอบอินพุตของผู้เล่นและเราทำมันเหมือนกับที่เราทำแผนที่แกนเลื่อนไปข้างหน้า
‫เราจะบอกว่าองค์ประกอบอินพุตของผู้เล่น เราจะใช้ตัวดำเนินการลูกศรและแกนผูก
‫ตอนนี้ พารามิเตอร์แรกจะเป็นชื่อการแมปแกนที่ห่อด้วยแมโครข้อความ
‫เราจะบอกว่าการเลี้ยวนั้นคือชื่อการแมปแกน
‫ต่อไปคืออ็อบเจ็กต์ที่เราผูกกับฟังก์ชัน
‫เราสามารถผ่านสิ่งนี้และในที่สุดเราก็ส่งผ่านในฟังก์ชันที่เราต้องการผูกอีกครั้ง
‫เราต้องการที่อยู่ของผู้ปฏิบัติงานและกำลังจะเลี้ยวถัง
‫มันง่ายอย่างนั้นเลย
‫เราได้ผูกฟังก์ชันการเลี้ยวเข้ากับการทำแผนที่แกนเลี้ยว
‫สิ่งเดียวที่เหลือคือการทำอะไรบางอย่างในฟังก์ชันเทิร์น
‫ตอนนี้เราได้เห็นแล้วว่าเรามี ADD ตัวแสดงแบบโลคัล ออฟเซ็ต แต่มีแอนะล็อกแบบหมุนสำหรับฟังก์ชันนี้
‫และเรียกว่า การหมุนเฉพาะที่ของ ADD Actor
‫สิ่งนี้ทำคือเพิ่มการหมุนเวียนในท้องถิ่นให้กับนักแสดงตามชื่อของมัน และคุณจะเห็นว่ามีฟังก์ชันสองเวอร์ชันที่แตกต่างกัน
‫รุ่นหนึ่งที่ใช้ตัวหมุน F และรุ่นที่ใช้สิ่งที่เรียกว่า F quad
‫เราจะใช้เวอร์ชันที่ใช้ F rotator
‫เรียกว่าการหมุนเดลต้า
‫และเช่นเดียวกับ ADD Actor Local offset ก็สามารถใช้พารามิเตอร์การกวาดและพารามิเตอร์อินพุตอีกสองตัวที่เหมือนกันกับการเพิ่มนักแสดงโลคัลออฟเซ็ต
‫และพารามิเตอร์อินพุตสามตัวสุดท้ายนี้เป็นทางเลือก เช่นเดียวกับการเพิ่มออฟเซ็ตท้องถิ่นของนักแสดง
‫แทนที่จะเป็นเวกเตอร์ F เราจะผ่านตัวหมุน F
‫กลับมาที่นี่ในฟังก์ชันเทิร์น ถ้าเราสร้าง F rotator และเราเรียกสิ่งนี้ว่าการหมุนเดลต้า เราจะเห็นว่าถ้าเราคลิกขวาที่
‫F rotator และไปที่คำจำกัดความ เราจะไปที่ rotator และเราจะเห็นสาม ตัวแปรสมาชิกสาธารณะที่นี่ประเภท
‫float
‫เหมือนกับที่ F vector F rotator มีส่วนประกอบสามส่วนนี้เท่านั้น แทนที่จะเป็น X, Y และ Z
‫เรามีการเอียงและหมุน
‫ทีนี้ การหันเหเป็นองค์ประกอบที่เราสนใจ
‫มันบอกว่าหมุนรอบแกนขึ้นในวงเล็บรอบแกน Z
‫และนั่นเป็นการหมุนประเภทเดียวที่เราสนใจเกี่ยวกับการหมุนรอบแกน Z
‫นั่นเป็นวิธีที่เราสามารถบังคับรถถังของเราได้
‫ตอนนี้ ฉันจะชี้ให้เห็นว่ามีตัวสร้างหลายตัวสำหรับตัวหมุน F เช่นกัน และค่าดีฟอลต์บอกว่าไม่มีการเริ่มต้น
‫เช่นเดียวกับเวกเตอร์ F
‫ดังนั้นเราจึงสามารถใช้อันที่ใช้โฟลตเดียวและส่วนประกอบทั้งหมดจะเริ่มต้นเป็นค่าโฟลตนั้น
‫มีค่าหนึ่งที่มีค่าลอยสามค่า และคุณสามารถดูและดูค่าอื่นๆ บางส่วนได้
‫ตอนนี้ ผมจะชี้ให้เห็นด้วยว่ามีศูนย์ rotator และอีกอย่าง นี่คือศูนย์ rotator แบบคงที่
‫นั่นเป็นเหตุผลที่เราสามารถกลับไปที่ถัง CP และพูดอะไรบางอย่างเช่น F rotator zero rotator zero rotator เป็นตัวแปรสมาชิกแบบคงที่และคุณสามารถเข้าถึงฟังก์ชันสมาชิกแบบคงที่และตัวแปรเช่นนี้ได้โดยการระบุชื่อคลาสด้วยตัวดำเนินการความละเอียดขอบเขตและอ้างอิงแบบคงที่
‫ตัวแปรหรือฟังก์ชันตามชื่อ
‫นั่นคือสิ่งที่เราทำกับคุณ
‫สถิตการเล่นเกมรับโลกเดลต้าวินาทีเป็นแบบคงที่
‫ฟังก์ชัน หมายความว่าเราไม่ต้องการอินสแตนซ์ที่แท้จริงของคลาสสแตติกสำหรับการเล่นเกมเพื่อให้เราเข้าถึงฟังก์ชันสแตติกนั้นได้
‫มันมีอยู่แล้ว
‫เช่นเดียวกับศูนย์ rotator และเวกเตอร์ศูนย์
‫ผมจะปิดตัวหมุน h และเรามีการหมุนเดลต้า และมันถูกเตรียมข้อมูลเบื้องต้นให้เป็นศูนย์
‫rotator
‫ตอนนี้ระดับเสียงและบทบาทของคุณเป็นศูนย์เช่นเดียวกับ X, Y และ Z ที่ถูกทำให้เป็นศูนย์สำหรับเวกเตอร์ F
‫ดังนั้นเราจะต้องเปลี่ยนองค์ประกอบนั้นของคุณ
‫เหมือนกับที่ฉันทำกับตำแหน่งเดลต้าในฟังก์ชัน MOV มาสร้างโค้ดเทียมสำหรับการหมุนเดลต้ากัน
‫ใช่ เราต้องการให้คุณตั้งค่าเป็นค่าที่ปรับขนาดตามเวลาเดลต้าแน่นอน เพราะเราต้องการให้การหมุนนี้เป็นอัตราเฟรมที่ไม่ขึ้นกับอัตราเฟรม
‫แต่เรายังต้องการความเร็วในการเลี้ยวที่เราเรียกว่าอัตราการเลี้ยวนี้ได้
‫เมื่อเราตั้งค่านั้นแล้ว เราก็สามารถเพิ่มการหมุนเฉพาะที่ซึ่งจะหมุนนักแสดงตามตัวหมุน
‫F ในแต่ละเฟรม และ ya จะถูกปรับขนาดตามค่า
‫ดังนั้นมันจะเป็นศูนย์ถ้าเราไม่กดปุ่มใดๆ และมันจะมีค่าถ้าเรากด
‫DX และ axe
‫ตอนนี้คุณมีความท้าทาย
‫สิ่งนี้จะได้ผลเหมือนกับการเพิ่มออฟเซ็ตนักแสดงในพื้นที่
‫ความแตกต่างเพียงอย่างเดียวคือตอนนี้เรากำลังหมุนเวียนนักแสดง
‫ดังนั้น เนื่องจากเราต้องการอัตราการเลี้ยวบางประเภทสำหรับการหมุนนักแสดง คุณจะต้องสร้างตัวแปรอัตราการเลี้ยว
‫ทำให้นี่เป็นแบบลอยตัว และวางไว้ในส่วนส่วนตัวถัดจากตัวแปรความเร็ว
‫เปิดเผยตัวแปรนี้กับคุณสมบัติของคุณและเลือกตัวระบุคุณสมบัติใหม่ที่เหมาะสม
‫ตอนนี้ในฟังก์ชันผลัดกัน คุณจะต้องตั้งค่าการหมุนเดลต้าโดยเฉพาะ เราสนใจเกี่ยวกับองค์ประกอบของคุณ
‫ตั้งค่าให้เท่ากับค่าคูณกับตัวแปรอัตราการเลี้ยวของเรา และยังคูณด้วยเวลาเดลต้า และคุณพร้อมที่จะเรียกเพิ่มนักแสดงในพื้นที่
‫การหมุนที่ผ่านใน f rotator ตอนนี้สำหรับพารามิเตอร์ที่สอง ไปข้างหน้าและส่งต่อจริงสำหรับอินพุตการกวาด
‫B เนื่องจากเราต้องการกวาดเมื่อหมุน หยุดวิดีโอชั่วคราว และใช้การหมุนสำหรับรถถังทันที
‫ตกลง.
‫นี่จะค่อนข้างง่าย
‫เราแค่ต้องการตัวแปรอัตราการเลี้ยว
‫ตอนนี้ฉันกำลังจะเข้าไปในถังด้วยความเร็วและสร้างอัตราการหมุนแบบลอยตัว
‫ตอนนี้คุณอาจเริ่มต้นสิ่งนี้เป็นค่าบางอย่างและก็ไม่เป็นไร
‫ถ้ามันต่างจากที่ฉันเลือก ฉันจะเลือก 45 F และดูว่ามันทำงานอย่างไร
‫แต่เราจะเปิดเผยสิ่งนี้กับพิมพ์เขียวเพื่อให้เราสามารถเปลี่ยนแปลงได้ในขณะที่เรากำลังพัฒนา
‫ตอนนี้ฉันอยากให้มันแก้ไขตรงไหนก็ได้ และฉันจะติดมันให้อยู่ในหมวดหมู่เดียวกันกับความเร็ว
‫ผมจะไปขโมยทรัพย์สินของคุณ แล้ววางตรงนี้ ด้านบน เลี้ยวขวา ให้มันตั้งไว้ที่ใดก็ได้
‫การย้ายหมวดตอนนี้และรถถัง CP
‫ฉันพร้อมที่จะตั้งค่าใช่สำหรับการหมุนเดลต้าแล้ว
‫เราจะบอกว่าการหมุนเดลต้า
‫ใช่.
‫และเราจะตั้งค่าให้เท่ากับค่าครั้ง, อัตราเทิร์นครั้ง, เวลาเดลต้า
‫และแน่นอน เราสามารถรับเวลาเดลต้าด้วยสแตติกการเล่นเกม U ให้เวลาเดลต้าโลกผ่านไปในสิ่งนี้ในฐานะวัตถุบริบทโลก
‫ผมจะวางมันไว้ตรงนั้น
‫ตอนนี้ฉันรู้แล้วว่ารหัสเทียมของฉันไม่ตรงกันทุกประการ
‫มันอยู่ในลำดับที่ไม่ถูกต้อง
‫เวลาเดลต้าอยู่ตรงกลางที่นี่
‫ไม่สำคัญเพราะเมื่อคูณค่าสามค่าเข้าด้วยกัน คุณสามารถคูณค่าเหล่านั้นในลำดับใดก็ได้และยังคงได้ผลลัพธ์เหมือนเดิม
‫ในกรณีที่คุณสงสัยเกี่ยวกับเรื่องนั้น คณิตศาสตร์จะยังคงออกมาเหมือนเดิมถ้าคุณคูณค่าทั้งสามนี้ในลำดับที่ต่างกัน
‫ดังนั้นอย่ากังวลมากเกินไป
‫ตอนนี้เรามีการหมุนเดลต้า
‫สิ่งเดียวที่ต้องทำคือเรียกการเพิ่มตัวแสดงการหมุนในพื้นที่ และเรากำลังผ่านการหมุนของเดลต้า และสำหรับอินพุตที่สอง
‫เราจะส่งต่อตามจริงเพื่อเปิดใช้งานการกวาดเมื่อหมุน
‫ลองรวบรวมสิ่งนี้
‫เอาล่ะ เรารวบรวมมาให้แล้ว
‫คุณอาจสังเกตเห็นในวิดีโอถัดไปสองสามวิดีโอว่าเวกเตอร์ศูนย์และตัวหมุนศูนย์หายไปจากบรรทัดเหล่านี้
‫นั่นเป็นเพราะฉันเริ่มต้นด้วยการเริ่มต้นเหล่านี้และตระหนักในภายหลังว่าสิ่งเหล่านี้น่าจะเริ่มต้นได้อย่างน้อยด้วยค่าศูนย์
‫ดังนั้นอย่ากังวลหากคุณเห็นเส้นเหล่านี้ในภายหลังมีลักษณะเช่นนี้เมื่อเริ่มต้น ให้เวกเตอร์ศูนย์และตัวหมุนศูนย์ของคุณ
‫และคุณจะเห็นว่าฉันจับสิ่งนี้ในวิดีโอในอนาคตอันใกล้นี้
‫ดังนั้นไม่ต้องกังวล
‫หากคุณไม่เห็นการเริ่มต้นเหล่านี้ พวกเขาควรจะอยู่ที่นั่น
‫และเรากลับมาที่บรรณาธิการ
‫มาเล่นกันเถอะ และฉันจะใช้ปุ่ม D และเรากำลังหมุน และปุ่ม A หมุนตัวฉันไปทางอื่น และเรายังสามารถเดินหน้าและถอยหลังได้
‫ดังนั้นตอนนี้ที่เราสามารถหมุนและก้าวไปข้างหน้า เราก็มีความสามารถในการเคลื่อนที่ไปทั่วโลก
‫นี่เป็นก้าวที่ยิ่งใหญ่
‫ตอนนี้ฉันเคลื่อนที่ได้ค่อนข้างช้า แต่ไม่เป็นไรเพราะฉันสามารถเลือกรถถังของฉันและฉันสามารถค้นหาหมวดหมู่การเคลื่อนไหวและเปลี่ยนอัตราการเลี้ยวเป็นบางอย่างที่สูงกว่าเช่น
‫90
‫เลยลองกดเล่นดู
‫และนั่นค่อนข้างเร็วกว่าเล็กน้อย
‫ถ้าคุณคิดว่ามันยังช้าอยู่บ้าง
‫แน่นอน คุณสามารถปรับสิ่งเหล่านี้ได้
‫ผมจะเลือก -- รถถัง อีกครั้ง
‫และแทนที่จะเป็น 400 ให้กลายเป็น 800
‫ทำไมจะไม่ล่ะ?
‫แทนที่จะเป็น 90 ให้เรียกว่า 120
‫ตอนนี้ถ้าผมกดเล่น ผมค่อนข้างเร็ว
‫นี่จึงดูดีมากจริงๆ
‫เมื่อมองย้อนกลับไปที่แผนส่วน ตอนนี้เรามีรถถังที่สามารถเคลื่อนที่ไปทั่วโลกได้
‫หัวข้อแรกนั้นถูกเลือกไว้อย่างแน่นอน และเรากำลังดำเนินการกับการเคลื่อนไหวของ WASD
‫เราไม่ได้จัดการการป้อนข้อมูลด้วยเมาส์ แต่เราจะทำอย่างนั้น
‫แต่เราเข้าใกล้อีกขั้นหนึ่งในการทำให้เกมนี้สมบูรณ์
‫โดยสรุปแล้ว เราได้เรียนรู้ว่าการกวาดคืออะไร และเราจะเปิดใช้งานได้อย่างไร เพื่อไม่ให้วัตถุของเราผ่านกันและกัน
‫เราได้เพิ่มการหมุนเวียนของนักแสดงในท้องถิ่น และเราทำเช่นนี้โดยใช้อัตราการเลี้ยวที่เราสามารถปรับได้ในรายละเอียด
‫แผงในตัวแก้ไขเพื่อให้การพัฒนาง่ายขึ้นเล็กน้อย
‫งานที่ดี.
‫ตอนนี้เรากำลังเคลื่อนย้ายรถถังไปทั่วโลก
‫แล้วพบกันใหม่ในวิดีโอหน้าครับ