‫สวัสดีและยินดีต้อนรับ.
‫หัวข้อของการบรรยายครั้งนี้จะเป็นการทำหน้าที่รับความเสียหายของนักแสดง และเราเรียกมันว่าอย่างไร
‫มาดำดิ่งและค้นหาข้อมูลทั้งหมดเกี่ยวกับมัน
‫ดังนั้นเพื่อให้เราสามารถสร้างความเสียหายให้กับบางสิ่งบางอย่างได้ เราจำเป็นต้องมีบางสิ่งบางอย่างที่เราสามารถโจมตีได้
‫ไปที่เส้นทางเบราว์เซอร์เนื้อหาของเราและนำหนึ่งในตัวละครนักกีฬา BP เข้ามา
‫เพราะจริง ๆ แล้วสิ่งที่เกิดขึ้นคือถ้าคุณนำตัวละครเข้ามาในฉาก Unreal จะทำให้ตัวละครนี้ควบคุมโดย
‫AI โดยอัตโนมัติและตัวละครที่วางไข่ที่ผู้เล่นเริ่มต้นจะถูกควบคุมโดยผู้เล่น
‫ดีมาก
‫นั่นคือพฤติกรรมที่เราต้องการ
‫ถ้าฉันไปข้างหน้าและกด alt p คุณจะสังเกตเห็นว่าฉันอยู่ในจุดเกิดที่ไม่ถูกต้อง ดังนั้นบางทีฉันต้องการลบผู้เล่นคนที่สองนี้เริ่มต้น
‫ถ้าฉันกด alt p ตอนนี้เราจะอยู่ในตำแหน่งที่ถูกต้อง
‫มีศัตรูของฉัน
‫ฉันสามารถยิงใส่ศัตรูได้
‫ฉันได้รับผลกระทบ
‫แต่เห็นได้ชัดว่าฉันไม่ได้ทำอันตรายใด ๆ
‫ยังไงก็ไม่ใช่
‫และการทำความเสียหายเป็นกระบวนการสองส่วน
‫ส่วนแรกกำลังส่งความเสียหาย ส่วนที่สองกำลังได้รับมัน
‫ในการบรรยายนี้ เราจะจัดการกับการส่งความเสียหายไปยังผู้เล่นและการเรียกใช้ฟังก์ชันที่เกี่ยวข้อง
‫ดังนั้นประเด็นหลักที่เราจะดูคือในนักแสดง Dot H และเรากำลังมองหาการเรียกใช้ฟังก์ชันที่เรียกว่ารับความเสียหาย
‫และคุณจะเห็นว่ามีฟังก์ชันเสมือนอยู่ที่นี่
‫มันกลับลอย
‫สิ่งที่ได้กลับมาคือความเสียหายที่เกิดขึ้นจริงกับนักแสดง จำนวนจริงที่ใช้จริง
‫และสิ่งที่เกิดขึ้นคือจำนวนความเสียหาย เหตุการณ์ความเสียหาย ซึ่งทำให้เราได้รับข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนั้น
‫ความเสียหายที่เกิดขึ้นเรามีผู้ยุยง
‫ที่บอกว่าใครเป็นผู้ควบคุมที่รับผิดชอบในการก่อให้เกิดความเสียหายนี้?
‫แล้วผู้ก่อเหตุเสียหาย ฝ่ายไหนรับผิดชอบ?
‫ในกรณีนี้ อาจเป็นปืนก็ได้
‫หรือจะบอกว่านี่คือกระสุนปืนที่ระเบิด หินที่ตกลงมาที่คุณในกรณีนี้
‫ปืนที่ยิงคุณ จะเป็นนักแสดงที่รับผิดชอบ
‫ดังนั้นจึงได้รับความเสียหายโดยสังเขป
‫ส่วนใหญ่ควรจะตรงไปตรงมาสำหรับคุณที่จะรวมเข้าด้วยกัน ยกเว้นโครงสร้างเหตุการณ์ความเสียหายนี้
‫และนั่นก็ซับซ้อนกว่าเล็กน้อย
‫มาดูโครงสร้างเหตุการณ์ความเสียหายนี้กัน และดูว่าเราสามารถทำอะไรได้บ้าง?
‫จะแต่งยังไงดี?
‫เราจะรวบรวมสิ่งนี้ได้อย่างไร?
‫ตอนนี้ยังไม่ชัดเจนในทันที แต่จริงๆ แล้วมีสองประเภทย่อยสำหรับเหตุการณ์ความเสียหายนี้
‫ในทางปฏิบัติ คุณจะไม่สร้างเหตุการณ์ความเสียหายของ EF จริงๆ แต่คุณกำลังสร้างเหตุการณ์ความเสียหายจุด
‫EF หรือคุณจะสร้างเหตุการณ์ความเสียหายจากรัศมีของ EF
‫นี่คือความเสียหายหลักสองประเภทที่มีอยู่ใน Unreal
‫คุณสามารถสร้างความเสียหายประเภทต่างๆ เพิ่มเติมสำหรับสิ่งของที่คุณกำหนดเองได้
‫เช่น คุณอาจมีความเสียหายจากไฟไหม้และด้วยพารามิเตอร์ที่แตกต่างกัน แต่ในกรณีนั้น เราสนใจในรัศมีของ EF และความเสียหายแบบจุด
‫ดังนั้นรัศมีจะเหมือนกับระเบิดมือ ซึ่งในกรณีที่คุณต้องการจะพูดว่า โอเค
‫รัศมีอยู่ตรงไหน ตกคืออะไร?
‫สิ่งต่าง ๆ เหล่านั้นที่จุดเสียหายเป็นเพราะมันฟังดูเหมาะสมกว่าสำหรับสิ่งต่าง
‫ๆ เช่นปืน
‫ดังนั้น เราจะสร้างเหตุการณ์ความเสียหายจุด EF และเราจะไปหาตัวสร้าง นี่คือตัวสร้างสำหรับมัน
‫และเราจะเห็นว่ามันเข้ามาทำอะไร
‫มันรับค่าความเสียหายอีกแล้ว
‫นั่นเป็นการทำซ้ำเล็กน้อยที่นั่น
‫เรากำลังมีผลการโจมตีที่ทำให้จุดเสียหายนี้เกิดขึ้น
‫จากนั้นเราก็มีทิศทางการยิง
‫ยอดเยี่ยม.
‫เราได้คำนวณไว้แล้ว
‫ฉันกำลังคิดไปข้างหน้าเล็กน้อยเมื่อเราทำอย่างนั้นในการบรรยายครั้งก่อนและคลาสย่อยของประเภทความเสียหายนี้
‫ตอนนี้สามารถใช้เพื่อส่งข้อมูลเพิ่มเติม เพื่อที่จริง ๆ แล้วแทนที่จะสร้างประเภทเหตุการณ์ความเสียหายอื่น คุณอาจจะสร้างประเภทความเสียหายที่แตกต่างกัน
‫ดังนั้นคุณอาจมีประเภทไฟหรืออะไรทำนองนั้นในกรณีนี้เพราะเราไม่ต้องการประเภทความเสียหายใด
‫ๆ
‫เราไม่ได้ทำความเสียหายจากไฟหรืออะไรเป็นพิเศษเช่นความเสียหายจากพิษนั้น
‫สิ่งที่เราจะทำก็แค่ส่งผ่านตัวชี้ว่างตรงนี้แทน
‫มาลองสร้างสิ่งเหล่านี้ด้วยกันแล้วฉันจะให้คุณเรียกมันว่าเหตุการณ์รับความเสียหาย
‫สิ่งแรกที่ต้องทำคือการวางประเภท เราจะเรียกมันว่าเหตุการณ์ความเสียหาย จากนั้นเราจะสร้างมันขึ้นมา
‫อย่างแรกเลย ค่าความเสียหาย เรายังไม่มีหนึ่งในนั้นสำหรับปืน
‫เราไม่มีความเสียหายเท่าไหร่
‫เพื่อให้เราสามารถดำเนินการต่อและสร้างข้อมูลบางอย่างได้ที่นั่น
‫เรามีช่วงสูงสุดแล้ว
‫เราต้องการคุณสมบัติเพิ่มเติมที่นี่
‫มันจะเป็นการแก้ไขที่ใดก็ได้ซึ่งจะทำให้เราสามารถพูดได้ว่าเสียหายแบบลอยตัว
‫เราเสียหายมากน้อยแค่ไหน?
‫ฉันจะทำดาเมจ 10 แต้ม แล้วเราก็สามารถใช้สิ่งนี้ใน C++ ได้
‫ความเสียหายคือสิ่งที่เราจะพูดถึงเป็นข้อโต้แย้งแรก
‫อันที่สองคือผลการตีนั้น?
‫โชคดีที่เราได้ผลการตีที่เรียกว่าการตี
‫ต่อไปก็จะเป็นทิศทางการยิงที่เราคำนวณไว้แล้วสำหรับตัวปล่อยของเราที่ตำแหน่ง
‫จากนั้นเราจะดูคลาสย่อย ซึ่งจะเป็นตัวชี้ว่าง
‫โอเค เท่านี้ก็เรียบร้อย
‫สิ่งต่อไปก็แค่จับนักแสดงที่เราพยายามจะสร้างความเสียหาย
‫นั่นค่อนข้างตรงไปตรงมาจากการตีที่คุณทำ
‫Hit dot รับนักแสดงที่นี่
‫แต่คุณจะต้องตรวจสอบว่านี่ไม่ใช่โมฆะเพราะเราไม่ต้องการลงเอยด้วยตัวแสดงค่าว่างที่เรากำลังพยายามสร้างความเสียหาย
‫หรือเราจะจบลงด้วยการหยุดทำงาน
‫ดังนั้นความท้าทายของคุณคือการเรียกฟังก์ชันรับความเสียหายที่ตรวจสอบนักแสดงว่าเป็นโมฆะ
‫ก่อนอื่น เราไม่ต้องการนักแสดงที่เป็นโมฆะและเรียกรับความเสียหาย และดูว่าคุณสามารถรวบรวมมันได้หรือไม่
‫หยุดวิดีโอชั่วคราวและไปกันเลย
‫ตกลง.
‫ยินดีต้อนรับกลับ.
‫ดังนั้นเราจึงมีนักแสดงรับเชิญของเราที่นี่
‫ผมจะเรียกสิ่งนี้ว่า ผมจะให้ตัวแปรนี้เล็กน้อย
‫ตัวชี้นักแสดงจะเป็นตัวแสดงที่ได้รับความนิยม และเราจะดำเนินการต่อไป และทำคำสั่ง if
‫ในที่นี้ โดยพื้นฐานแล้วบอกว่าถ้านักแสดงที่โดนไม่เท่ากับตัวชี้ค่าว่าง เราก็ไปต่อ
‫กับนักแสดงตีคนนี้เพื่อเรียกใช้ฟังก์ชันรับความเสียหาย
‫และเรากำลังจะทำจำนวนความเสียหายในที่นี้คืออาร์กิวเมนต์แรก
‫อันที่สองคืออะไร?
‫ฉันแค่จะกลับไปที่ Take Damage และดูสักหน่อย
‫ต่อไปเป็นโครงสร้างที่เรารวบรวมเหตุการณ์ความเสียหายนี้
‫ลองใส่ที่ในวินาที
‫จากนั้นเราจะดูที่คอนโทรลเลอร์ที่สร้างสิ่งนี้
‫นั่นคือตัวควบคุมของเรา
‫ผู้ควบคุมปืนเป็นผู้ทำความเสียหาย
‫และนี่คือตัวกระตุ้นที่เป็นพารามิเตอร์สุดท้ายในการรับดาเมจของเรา
‫และเราอาจจะแค่ต้องการสร้างโครงสร้างนี้ภายในนี้ ถ้าตัวแสดงไม่เท่ากับตัวชี้ null เพราะไม่จำเป็นถ้าเราไม่มีตัวแสดงที่ใช้ความเสียหายนี้
‫ลองไปคอมไพล์ดูว่าจะได้ผลหรือไม่
‫ดังนั้นฉันจึงได้รับข้อผิดพลาดในบันทึกของฉัน
‫เรามาดูกันว่าเกิดอะไรขึ้น
‫โอ้ ฉันแค่ขาดเซมิโคลอน
‫นั่นเป็นเรื่องง่ายสวย
‫หนึ่งที่จะแก้ไขหลังจากรับนักแสดงที่นั่น
‫ไปลองกันใหม่ครับ
‫เย็น.
‫ทุกอย่างได้รับการคอมไพล์สำเร็จแล้ว และเราสามารถไปข้างหน้าและเล่นได้ และเพียงแค่ตรวจสอบว่าการยิงจะไม่ให้ข้อผิดพลาดที่เป็นโมฆะใดๆ
‫แก่เรา หรือพยายามทำให้เอ็นจิ้นพัง
‫ดูเหมือนไม่เป็นไร
‫ดังนั้นเราจะไปที่การบรรยายครั้งต่อไปที่เราจะลองรับความเสียหายของนักแสดงคนนี้ที่เราได้วางไว้ในระดับนี้
‫ดังนั้นคุณอยู่ที่นั่น