‫สวัสดีและยินดีต้อนรับ.
‫ในการบรรยายนี้ เราจะทำให้ผู้เสนอญัตติของเราเคลื่อนไหวโดยทำเครื่องหมายที่ช่องทำเครื่องหมาย
‫เราจะทำให้มันเคลื่อนที่และเคลื่อนที่ด้วยความเร็วคงที่
‫และเรากำลังจะทำสิ่งนี้โดยใช้ฟังก์ชันไลบรารีบางส่วนจากภายใน
‫ไม่จริง
‫ดังนั้นมันจะนำความรู้ทั้งหมดของเราเกี่ยวกับไฟล์ส่วนหัวและรวมถึงการทดสอบ
‫มาดูกันว่ามันทำงานอย่างไร
‫วิธีที่ฉันต้องการให้ผู้เสนอญัตตินี้ทำงานก็คือฉันต้องการให้มันเคลื่อนที่อย่างราบรื่นจากจุดเริ่มต้นไปสู่การชดเชยเป้าหมายในช่วงเวลาไม่กี่วินาที
‫วิธีที่เราจะต้องกำหนดค่านี้คือการเพิ่มคุณสมบัติใหม่ลงในไฟล์ส่วนหัว
‫มาเริ่มกันด้วยการเพิ่มส่วนส่วนตัวที่ส่วนหัวของไฟล์
‫จากนั้นเราจะเพิ่มคุณสมบัติใหม่ที่จะแก้ไขได้ทุกที่ ซึ่งจะกำหนดออฟเซ็ต ออฟเซ็ตการย้าย
‫ดังนั้นผู้เสนอญัตตินี้ควรเคลื่อนที่ได้ไกลแค่ไหนเมื่อเปิดใช้งาน
‫วิธีที่เราจะทำคือใช้เวกเตอร์ F และเราจะเรียกมันว่า Move offset แบบนี้ ผมจะไม่ให้มันเป็นค่าเริ่มต้น
‫เราจะทำอย่างนั้นในตัวแก้ไข
‫จากนั้นฉันจะสร้างคุณสมบัติใหม่อีกรายการหนึ่ง ซึ่งจะแก้ไขได้ทุกที่อีกครั้ง
‫ซึ่งจะเป็นเวลาที่ใช้ในการย้ายไปยังเป้าหมาย
‫เราจะให้มันเป็นทศนิยม ซึ่งเป็นเวลาเคลื่อนที่ และฉันจะตั้งค่านั้นเป็นค่าดีฟอลต์
‫พูด 4 วินาที
‫มีอีกอย่างหนึ่งที่ฉันอยากจะใส่ในที่นี้ ซึ่งก็คือบูลีนในตอนนี้ ซึ่งจะทำให้เราสามารถเปิดใช้งานผู้เสนอญัตติ
‫เพื่อที่มันจะเลื่อนลงเมื่อเราเปิดใช้งานบูลีนนี้
‫เรามาสร้างคุณสมบัติ U ใหม่กันอีกครั้ง
‫แก้ไขได้ทุกที่เพื่อให้เราสามารถแก้ไขได้แม้ในขณะที่เรากำลังเล่นอยู่ และจะเป็นคำบูลีนว่าควรย้าย และโดยค่าเริ่มต้นแล้ว
‫ค่านั้นจะถูกตั้งค่าเป็นเท็จ
‫ดังนั้นเมื่อเราตรวจสอบสิ่งนี้ในโปรแกรมแก้ไข เมื่อเราเล่น มันจะไปและย้ายไปยังเป้าหมาย
‫ย้ายออฟเซ็ต
‫ก่อนหน้านี้เมื่อเรามีส่วนประกอบที่เคลื่อนไหว เราได้ทำขั้นตอนทั้งหมดด้วยตนเอง
‫แต่ฉันต้องการแสดงให้คุณเห็นว่าจริง ๆ แล้วมีฟังก์ชันบางอย่างในตัวเพื่อทำการคำนวณจำนวนมากที่เราต้องการ
‫มันถูกสร้างขึ้นใน Unreal และมีฟังก์ชั่นที่เรียกว่า V ตีความค่าคงที่ด้วย
‫และสิ่งที่น่าสนใจเกี่ยวกับเรื่องนี้เรามาดูข้อสังเกตกัน
‫ดังนั้นให้สอดแทรกเวกเตอร์จากเวกเตอร์ปัจจุบันไปยังเวกเตอร์เป้าหมายโดยใช้ขั้นตอนคงที่
‫นั่นหมายความว่าเมื่อเวลาผ่านไป เราจะย้ายจากปัจจุบันไปยังเป้าหมายด้วยความเร็วที่กำหนด และจะทำเช่นนั้นอย่างต่อเนื่อง
‫ซึ่งฟังดูเหมือนสิ่งที่เราต้องการจริงๆ
‫เราต้องการย้ายจากตำแหน่งปัจจุบันของเราไปยังตำแหน่งออฟเซ็ตเป้าหมายด้วยความเร็วคงที่
‫ตอนนี้คุณสามารถดูได้ว่าคุณดูไวยากรณ์ของฟังก์ชันนี้แล้วหรือไม่ คุณจะเห็นว่าฟังก์ชันนี้มีเวกเตอร์ประเภทส่งกลับเป็นเวกเตอร์
‫F
‫นั่นคือตำแหน่งใหม่ที่กำลังสอดแทรก
‫จากนั้นจะมีสองอินพุต
‫เรามีเวกเตอร์ F ปัจจุบัน และไม่ต้องกังวลกับสัญลักษณ์อื่นๆ รอบเอฟเฟกต์นี้ สำหรับตอนนี้
‫สิ่งสำคัญคือมันคือเวกเตอร์ปัจจุบัน และเป้าหมายที่เราต้องการให้มันไปถึงในที่สุด
‫จากนั้นก็มีเวลาเดลต้า
‫ดังนั้นมันจึงใช้สิ่งนี้เพื่อทำให้อัตราเฟรมของการเคลื่อนไหวเป็นอิสระและในความเร็วในการแก้ไข
‫แล้วเราควรย้ายจากที่ตั้งปัจจุบันของเราไปยังเป้าหมายได้เร็วแค่ไหน?
‫ตอนนี้ คุณจะสังเกตเห็นว่าในเอกสารประกอบนี้ จริง ๆ แล้วมีส่วนที่ระบุว่ารวม และนี่จะบอกคุณถึงบรรทัดรวมที่คุณต้องการในไฟล์
‫C ++ ของคุณเพื่อให้สามารถใช้ฟังก์ชันนี้ได้
‫และดังที่เราได้เห็นในวิดีโอก่อนหน้านี้ บรรทัด include ช่วยให้เราสามารถคัดลอกคำจำกัดความจากไฟล์นี้โดยเฉพาะ
‫และหนึ่งในคำจำกัดความคือนิยามของฟังก์ชันนี้
‫ดังนั้นมันทำให้เราใช้ V นี้แปลค่าคงที่ตอนนี้ V ข้างหน้าฟังก์ชันนี้โดยพื้นฐานแล้วหมายความว่ามันทำการอินเทอร์โพเลตบนเวกเตอร์
‫นั่นเป็นสาเหตุที่เรียกว่าการตีความ V ซึ่งต่างจากฟังก์ชันการแก้ไขอื่น ๆ ที่มีอยู่ในไฟล์ไลบรารีนี้ด้วย
‫เรามาดูกันว่าเราจะใช้งานอย่างไร
‫ก่อนอื่น เราจะคัดลอกบรรทัดรวมจากเอกสารประกอบ และเราจะพูดถึงการย้าย CP ของเรา
‫ซึ่งเราต้องการนำไปใช้ในส่วนเนื้อหาขององค์ประกอบเห็บ
‫แต่รวมถึงเราไม่รวมอยู่ในเนื้อหาขององค์ประกอบเห็บ
‫เราต้องทำรวมถึงทั้งหมดที่ด้านบนของไฟล์
‫นั่นคือที่ที่ฉันจะวางของฉัน และฉันจะใส่ของฉันหลังจากรวมผู้เสนอญัตติ H.
‫ดังนั้นเราจะใส่และรวมสำหรับคณิตศาสตร์ เครื่องหมายทับ อรรถประโยชน์คณิตศาสตร์ที่ไม่จริง
‫H ตอนนี้สิ่งที่เราสามารถทำได้คือเราสามารถใช้ฟังก์ชันภายในองค์ประกอบติ๊กของเราได้
‫มากำจัดโค้ดที่เราใส่ลงไปแล้วกัน
‫คำนวณ.
‫เพราะเราใช้สิ่งนั้นเพื่อทำความเข้าใจวิธีเรียกใช้ฟังก์ชันกับนักแสดงคนอื่น
‫และสิ่งที่เราต้องทำคือ ถ้าคุณเลื่อนขึ้น คุณจะเห็นวิธีเรียกสิ่งนี้ว่า F Mass Colon, Colon V Intercept,
‫ค่าคงที่ 2
‫ดังนั้นเราจึงทำตัวดำเนินการโคลอนโคลอนนี้ ซึ่งดูในคลาสคณิตศาสตร์ F ซึ่งจัดระเบียบยูทิลิตี้คณิตศาสตร์เหล่านี้ทั้งหมดเข้าด้วยกัน
‫เรากำลังจะทำคณิตศาสตร์ F
‫โคลอน
‫และที่นี่ คุณจะเห็นการเติมข้อความอัตโนมัติจำนวนมากปรากฏขึ้นสำหรับฟังก์ชันคณิตศาสตร์ต่างๆ ที่รวมอยู่ในไฟล์ส่วนหัวที่เราเพิ่งรวมไว้ในไฟล์นี้
‫คุณสามารถดูสิ่งที่น่าสนใจใด ๆ อยู่ที่นี่ ฉันสามารถเห็นการประมาณค่า
‫การแก้ไขแบบวงกลม ฯลฯ แต่เราต้องการให้ V แปลค่าคงที่ และเราสามารถกด
‫tab เพื่อทำให้เสร็จ จากนั้นเปิดวงเล็บ และเราสามารถเห็นข้อโต้แย้งที่เราจำเป็นต้องส่งผ่านในปัจจุบัน
‫เวลาเดลต้าเป้าหมาย และความเร็วในการสกัดกั้น
‫เรามาเริ่มสร้างตัวแปรเพื่อเก็บค่าเหล่านี้กัน
‫อย่างแรกเลย เราต้องการเวกเตอร์ F ซึ่งจะเป็นตำแหน่งปัจจุบันของเรา และเราจะยังไม่กำหนดมันในตอนนี้
‫จากนั้นเราจะมีเวกเตอร์ F สำหรับตำแหน่งเป้าหมาย จากนั้นเราก็จะได้ความเร็วลอยตัว
‫และเราจะต้องคำนวณแต่ละอย่างแยกกัน เพื่อหาว่าเราจะทำให้การเคลื่อนไหวนี้เกิดขึ้นได้อย่างไร
‫ดังนั้นตำแหน่งปัจจุบันจะค่อนข้างตรงไปตรงมา
‫เราต้องได้ตำแหน่งปัจจุบันของนักแสดงที่เป็นเจ้าของ
‫แล้วเราจะทำอย่างนั้นได้อย่างไร?
‫ลองแทนที่เครื่องหมายอัฒภาคนี้ด้วยเครื่องหมายเท่ากับ
‫จากนั้นเราจะทำการรับวงเล็บคู่ของเจ้าของ
‫จากนั้นเราจะทำลูกศร
‫เรากำลังเรียกใช้ฟังก์ชันเกี่ยวกับตัวแสดงที่เป็นเจ้าของ และเราจะได้รับตำแหน่งนักแสดง ตามด้วยวงเล็บและเครื่องหมายอัฒภาคเพื่อสิ้นสุด
‫นั่นทำให้เราได้ตำแหน่งปัจจุบันของนักแสดงที่เป็นเจ้าของ
‫แล้วสถานที่เป้าหมายของเราล่ะ
‫เรารู้ว่าเรามีสมบัติที่เรียกว่า มูฟออฟเซ็ต ซึ่งจะเกี่ยวข้องตรงนี้
‫แต่เราจำเป็นต้องเพิ่มตำแหน่งเดิมให้กับการย้ายออฟเซ็ตนี้
‫ในการนั้น เราต้องจับตำแหน่งเดิมในการเล่น Biggin
‫เราจึงต้องมีตัวแปรในการจัดเก็บ
‫ลองไปที่ผู้เสนอญัตติ H ของเราและมันจะไม่เป็นการแก้ไขที่ใดก็ได้
‫เมื่อผมจะนำไปวางไว้ใต้ U ของเรา
‫คุณสมบัติ มันจะเป็นเวกเตอร์ F ชื่อตำแหน่งดั้งเดิม
‫เราจะไม่ตั้งค่าอะไรที่นี่
‫จากนั้นเราจะไปที่ CP ผู้เสนอญัตติของเราเพื่อเริ่มเล่น
‫ลบบรรทัดความคิดเห็นนี้และใส่รหัสของเราซึ่งเป็นไปได้ว่าตำแหน่งเดิมเท่ากับได้เจ้าของวงเล็บ ลูกศร ได้ตำแหน่งนักแสดงเช่นนั้น
‫ตอนนี้เราได้ตำแหน่งเดิมและเริ่มเล่นแล้ว เราก็สามารถใช้ใน TTIC ได้
‫ดังนั้นเราจึงไปที่ Tick และกำหนดตำแหน่งเป้าหมายของเราเท่ากับตำแหน่งเดิมบวกกับการย้ายออฟเซ็ต
‫นั่นคือตำแหน่งเป้าหมายของเรา และสุดท้ายคือความเร็วของเรา
‫ตรงนี้คือระยะทางที่เราต้องเคลื่อนที่โดยพื้นฐานแล้วหารด้วยเวลาที่เราต้องเคลื่อนที่ข้าม
‫ดังนั้นถ้าเรามีตำแหน่งเป้าหมาย และเราได้ตำแหน่งเดิม เราต้องหาระยะห่างระหว่างสองอันนี้
‫ซึ่งเราทำได้ด้วยเวกเตอร์ F, ทวิภาค, ระยะทวิภาค
‫จากนั้นเราก็ผ่านเข้าไปในวงเล็บ ตำแหน่งเดิม และตำแหน่งเป้าหมาย
‫นั่นทำให้เรามีระยะห่างระหว่างเวกเตอร์สองตัวนี้
‫แล้วเราจะแบ่งมันด้วยสิ่งที่เรามีครั้งแล้วครั้งเล่าที่เรียกว่าเวลาเคลื่อนที่
‫นั่นทำให้เรามีความเร็วที่เราควรจะเคลื่อนที่
‫และตอนนี้เราสามารถใช้สิ่งเหล่านี้เป็นอาร์กิวเมนต์เพื่อให้มีค่าคงที่การสกัดกั้น V ได้เช่นกัน
‫อย่างแรกเลยคือเราต้องให้ตำแหน่งปัจจุบันกับตำแหน่งเป้าหมาย
‫จากนั้นเราจะบอกเวลาเดลต้าซึ่งเป็นพารามิเตอร์ในองค์ประกอบติ๊กอยู่แล้ว
‫เราก็แค่ต้องผ่านมันไปให้ได้ แล้วเราก็ได้ความเร็วสกัดกั้น
‫ดังนั้นเราจะผ่านความเร็วอย่างใส่เครื่องหมายอัฒภาคที่ท้ายบรรทัดนั้นและนี่คือตำแหน่งใหม่โดยพื้นฐานแล้ว
‫ลองเก็บไว้ในเวกเตอร์ตัวแปร F ใหม่ที่เรียกว่าตำแหน่งใหม่ เท่ากับเย็นนี้
‫ตอนนี้เราต้องทำอะไรกับสถานที่ใหม่นั้น เพราะแค่คำนวณมาก็ไม่ดีแล้ว
‫เราต้องย้ายนักแสดงไปที่ตำแหน่งใหม่
‫นั่นคือสิ่งที่เรากำลังจะทำ
‫เราจะโทรไปหาเจ้าของ
‫ดังนั้นเราจึงได้รับของตัวเอง
‫วงเล็บลูกศร
‫จากนั้นเราจะทำที่ตั้งนักแสดงและเราจะผ่านในตำแหน่งใหม่เช่นนั้นและมีอัฒภาคที่ท้ายบรรทัด
‫ลองคอมไพล์ดูก่อนว่าได้ผลหรือไม่
‫ดังนั้นถ้าเราเข้าไปในดันเจี้ยน เลือกกำแพงที่เราต้องการจะเคลื่อน
‫ตอนนี้คุณจะเห็นว่าองค์ประกอบผู้เสนอญัตติมีการเคลื่อนไหวออฟเซ็ต ซึ่งผมอยากจะทำในทิศทาง Z และผมคิดว่า
‫กำลังจะทำ -600.
‫แล้วเวลาเคลื่อนที่ 4 วินาทีก็น่าจะใช้ได้
‫เลยบันทึกเอาไว้แล้วกดเล่นดูว่ามันเคลื่อนที่ไม่เคลื่อนที่หรือเปล่า
‫และมีข้อผิดพลาดในบันทึกเอาต์พุตที่ระบุว่าการเคลื่อนไหวของนักแสดงถูกตั้งค่าเป็นแบบคงที่ ซึ่งเป็นสาเหตุที่ทำให้ไม่สามารถเคลื่อนที่ได้
‫ดังนั้น หากเราเลือกนักแสดงอีกครั้ง และเราดูที่การตั้งค่าความคล่องตัว คุณจะเห็นการตั้งค่าการเคลื่อนไหวของส่วนประกอบตาข่ายแบบคงที่
‫ดังนั้น ให้เลือกส่วนประกอบตาข่ายแบบคงที่ จากนั้นดูที่การเคลื่อนย้าย
‫คุณสามารถเห็นการตั้งค่าเป็นแบบคงที่ ซึ่งโดยพื้นฐานแล้วหมายความว่าไม่สามารถเคลื่อนย้ายได้
‫ลองเปลี่ยนเป็นแบบเคลื่อนย้ายได้เพราะเราต้องการให้มันเคลื่อนที่แล้วไปต่อและกดปุ่มเล่น
‫ตอนนี้คุณสามารถเห็นได้ในความมืดว่ากำแพงกำลังพังทลายลงซึ่งสมบูรณ์แบบ
‫ฉันคิดว่าเรามีผู้เสนอญัตติอยู่ที่อื่นในฉากของเราบนเสานี้ที่นี่ซึ่งมันพยายามจะเคลื่อนไหวด้วย
‫ดังนั้นอย่าทำอย่างนั้น
‫มาลบองค์ประกอบผู้เสนอญัตติที่เราเพิ่มเข้าไปเพื่อการทดสอบและไม่ควรให้ข้อผิดพลาดในบันทึกผลลัพธ์
‫ถ้าเราไปข้างหน้าและกดปุ่มเล่นตอนนี้ เราควรให้กำแพงนั้นลงไปที่ตำแหน่งเป้าหมาย
‫เรามาท้าให้คุณทำให้มันเคลื่อนไหวด้วยบูลีนที่เราสร้างขึ้นซึ่งคุณเป็นเจ้าของ
‫ดังนั้น คุณจะต้องรวมโค้ดในคำสั่ง if ที่เหมาะสม และโค้ดที่เหมาะสม เพื่อที่มันจะย้ายแพลตฟอร์มเมื่อบูลีนนั้นเป็นจริงเท่านั้น
‫จากนั้นคุณจะต้องคอมไพล์โค้ดใหม่และเล่นและดีดออกโดยใช้ F8 จากนั้นเปลี่ยนบูลีนและสังเกตว่ามันเคลื่อนที่หรือไม่เมื่อคุณตรวจสอบบูลีนนั้น
‫หยุดวิดีโอชั่วคราวแล้วไปกันเลย
‫ตกลง.
‫ยินดีต้อนรับกลับ.
‫มาสรุปองค์ประกอบติ๊กนี้ในคำสั่ง if ไม่ใช่ super แต่อย่างอื่นที่เราจะทำ
‫หากควรย้าย ให้เปิดวงเล็บบางส่วนแล้วย้ายโค้ดทั้งหมดนี้โดยจำให้เยื้องมันหนึ่งระดับเพราะเราอยู่ในวงเล็บและเราต้องการแสดงว่าสิ่งนี้จะถูกดำเนินการภายในคำสั่ง
‫if เท่านั้น
‫ทำให้เราอ่านการควบคุม f 11 ทั้งหมดเพื่อคอมไพล์ได้ง่าย จากนั้นเราก็ควรจะไปกดเล่นและกด
‫F 8 เพื่อดีดออกหากเราจับเมาส์ได้
‫จากนั้นเราจะเข้าไปดูค่าผิดปกติของเรา เราจะพยายามหากำแพง หรือเราจะคลิกเข้าไปที่ฉาก
‫แล้วเราจะเลือกย้ายองค์ประกอบของเรา แล้วตรวจสอบควร ย้ายแล้วพวกมันไป กำแพงก็เริ่มเคลื่อนไหวเมื่อสิ่งนั้นเกิดขึ้น
‫สิ่งที่ดี
‫แล้วพบกันใหม่ในบทเรียนหน้าครับ