‫ดังนั้นเป้าหมายของเราคือสามารถยิงขีปนาวุธและได้รับเอฟเฟกต์การระเบิดเมื่อกระสุนปืนกระทบกับบางสิ่ง
‫รวมถึงเมื่อเราโจมตีหอคอยของศัตรูและเมื่อขีปนาวุธของหอคอยของศัตรูโจมตีเรา
‫สวัสดีและยินดีต้อนรับกลับ
‫ตอนนี้เรามาดูแผนส่วนของเรากันและดูว่าเรามาไกลแค่ไหนแล้ว
‫ตอนนี้เรารู้แล้วว่าเราได้สร้างรถถังแล้ว
‫มันสามารถเคลื่อนที่ไปทั่วโลก
‫เราสร้างคลาสป้อมปราการของศัตรู
‫เราได้เพิ่มฟังก์ชันการยิงและขีปนาวุธพร้อมกับความเสียหายต่อสุขภาพและการทำลายล้างในเกมของเรา
‫ตอนนี้เรามีเงื่อนไขชนะและแพ้แล้ว และเรากำลังแสดงเงื่อนไขเหล่านั้นด้วยวิดเจ็ตบน HUD ของเรา
‫ตอนนี้รายการสุดท้ายคือการเพิ่มเอฟเฟกต์พิเศษของเรา ซึ่งหมายความว่าเราต้องการควันบางส่วนที่ตามหลังกระสุนปืนของเรา
‫เช่นเดียวกับการระเบิดและเสียง
‫และจะมีอีกสองสามอย่างที่เราเพิ่มเข้าไปเพื่อทำให้เกมของเรามีสีสันและทำให้มันดูสวยงามขึ้นอีกเล็กน้อย
‫ในวิดีโอนี้ เราจะจัดการกับอนุภาคที่กระทบ
‫สิ่งเหล่านี้เป็นเอฟเฟกต์พิเศษเมื่อโปรเจกไทล์กระทบบางสิ่ง
‫นี่จะเกี่ยวข้องกับสิ่งที่เรียกว่าระบบอนุภาค
‫กลับไปที่ตัวแก้ไขและดูระบบอนุภาคที่เรามีในโครงการของเรา
‫ดังนั้นฉันอยู่ที่นี่ในบรรณาธิการ
‫ฉันจะไปที่โฟลเดอร์แอสเซทและเอฟเฟกต์ และที่นี่เรามีเอฟเฟกต์สามอย่าง
‫สิ่งเหล่านี้เรียกว่าระบบอนุภาค
‫ตอนนี้เรามีเอฟเฟกต์การโจมตี เอฟเฟกต์ความตาย และวิถีกระสุน
‫ตอนนี้ ไปข้างหน้าและดับเบิลคลิกที่ p hit effect แล้วคุณจะเห็นว่าที่นี่เรามีตัวแก้ไขระบบอนุภาค
‫และในวิวพอร์ตเล็กๆ นี้ เราจะเห็นการระเบิดนี้เกิดขึ้นซ้ำแล้วซ้ำเล่า
‫โชคดีที่ระบบอนุภาคนี้ถูกสร้างขึ้นสำหรับเราแล้ว และดูเหมือนการระเบิดเล็กน้อย
‫และเราอยากเห็นการระเบิดนี้เกิดขึ้นทันทีที่กระสุนปืนกระทบอะไรบางอย่าง
‫นั่นคือเป้าหมายของเราสำหรับวิดีโอนี้
‫ดังนั้นในโค้ดของ V ผมอยากจะกลับไปที่คลาสโปรเจ็กไทล์ของเรา
‫ลองไปที่โปรเจ็กไทล์ H แล้วฉันจะเพิ่มตัวแปรให้กับคลาสนี้ และนี่จะเป็นระบบอนุภาค
‫ทีนี้ นี่อาจเป็นตัวแปรส่วนตัว และประเภทจะเป็น U
‫ระบบอนุภาคและมันจะเป็นตัวชี้ และเราสามารถเรียกอนุภาคนี้ว่า
‫ตอนนี้ฉันกำลังจะประกาศสิ่งนี้ต่อไปและฉันจะให้คุณสมบัติใหม่นี้ด้วย
‫สมมุติว่าคุณเป็นทรัพย์สิน และผมอยากทำให้มันอยู่ที่ใดก็ได้ เพื่อให้เราสามารถตั้งค่านี้จากพิมพ์เขียวสำหรับโพรเจกไทล์ของเรา
‫และในขณะที่ฉันทำอยู่ ฉันจะให้หมวดหมู่นี้ และฉันจะใส่สิ่งนี้ในการต่อสู้ประเภท
‫เพราะมันเกี่ยวข้องกับตัวแปรการต่อสู้อื่นๆ ของเรา
‫ตอนนี้แก้ไขได้ทุกที่เพราะเราวางแผนที่จะตั้งค่านี้จากภายในพิมพ์เขียวเพื่อให้เราสามารถดำเนินการต่อและรวบรวมได้
‫กลับไปที่เครื่องมือแก้ไข และฉันจะปิดพิมพ์เขียวอื่นๆ ของฉัน และเข้าไปในโฟลเดอร์นักแสดงของเราที่นี่ในรูปแบบพิมพ์เขียว
‫นักแสดง นี่คือ B ของเรา ป. กระสุนปืน
‫มาเปิดมันขึ้นมาและเปิดตัวแก้ไขพิมพ์เขียวฉบับเต็ม
‫ทีนี้มาดูรายละเอียดกัน
‫แผงหน้าปัด.
‫จำไว้ว่าต้องเลือก BP โพรเจกไทล์ตัวเองเพื่อดูตัวแปรโดยรวมเหล่านี้
‫และนี่คือส่วนการต่อสู้ของเรา และเราเห็นอนุภาคของการโจมตี
‫ตอนนี้เรามีเมนูแบบเลื่อนลงและเราสามารถเลือกระบบอนุภาคได้
‫เนื่องจากตัวแปรนี้เป็นระบบอนุภาคประเภทคุณ เราจะใช้เอฟเฟกต์การตีสำหรับอนุภาค Hit ของเรา
‫ตอนนี้เรามีตัวแปรและค่าของมันถูกกำหนดไว้ที่นี่ในพิมพ์เขียวโพรเจกไทล์
‫ลองรวบรวมและบันทึกสิ่งนี้
‫ขั้นต่อไปคือการวางไข่ระบบอนุภาคนี้ทันทีที่เราชนบางสิ่ง ซึ่งหมายความว่าเมื่อโจมตีเป็นฟังก์ชันที่สมบูรณ์แบบสำหรับสิ่งนี้
‫ตอนนี้เราจำเป็นต้องรู้วิธีการวางไข่ของอนุภาคและใช้การเล่นเกม
‫สถิตยศาสตร์มีฟังก์ชันที่สะดวกสำหรับสิ่งนั้น
‫เรียกว่า spawn emitter ที่ตำแหน่งและบอกว่าเล่นเอฟเฟกต์ที่ระบุที่ตำแหน่งและการหมุนที่กำหนด
‫ไฟและลืม
‫นี่เป็นสิ่งที่ดีเพราะเราไม่ต้องกังวลกับการลบหรือลบออก
‫เราเพิ่งปิดฟังก์ชันนี้
‫มันวางไข่ในระบบอนุภาคและดูแลทำความสะอาดให้เรา ซึ่งดีมาก
‫ลองมาดูที่ไวยากรณ์ตอนนี้
‫มีพารามิเตอร์อินพุตจำนวนหนึ่ง แต่ฟังก์ชันนี้มีโอเวอร์โหลดจำนวนหนึ่ง
‫เนื่องจากมีฟังก์ชันนี้หลายเวอร์ชัน เรามาดูโค้ดของ V และดูเวอร์ชันต่างๆ
‫กัน
‫ตอนนี้ฉันกำลังจะเปิด CP ของโพรเจกไทล์และดูฟังก์ชัน on hit
‫ตอนนี้ที่ด้านล่างสุด ฉันจะพิมพ์ว่าคุณเล่นเกม statics spawn emitter ที่ตำแหน่ง และทันทีที่ฉันพิมพ์วงเล็บเปิด
‫ป๊อปอัปจะแสดงพารามิเตอร์อินพุตที่ฉันต้องส่งเข้าไป
‫แต่เราเห็นหนึ่งในสาม ซึ่งหมายความว่ามีฟังก์ชันนี้สามเวอร์ชันที่แตกต่างกัน
‫โอเวอร์โหลดสามตัว
‫ฉันจะคลิกลูกศรลงสองครั้งเพื่อดูการโอเวอร์โหลดโดยเฉพาะ
‫ตอนนี้มันใช้วัตถุบริบทโลก ระบบอนุภาค และตำแหน่ง และพารามิเตอร์อินพุตที่เหลือมี
‫ค่าเริ่มต้น ดังนั้นจึงเป็นทางเลือก
‫สังเกตว่าพารามิเตอร์การหมุนถูกตั้งค่าเป็นศูนย์ rotator
‫ตอนนี้ถ้าเราชอบ เราสามารถตั้งค่าการหมุนของตัวปล่อยเป็นการหมุนของนักแสดงโดยผ่านการหมุนแบบแอ็คทีฟ
‫มันไม่สำคัญเกินไป แต่ฉันอยากจะวางไข่อีซีแอลด้วยการหมุนแบบเดียวกับนักแสดง
‫ดังนั้นฉันจึงต้องการใช้การหมุนแบบแอ็คทีฟและส่งผ่านเข้าไป
‫แต่พารามิเตอร์ที่เหลือเป็นทางเลือก
‫เนื่องจากเรารู้ว่าเราต้องเรียกตัวปล่อยวางไข่ที่ตำแหน่งเพื่อเล่นระบบอนุภาค เราจึงสามารถทำได้ในฟังก์ชัน
‫on hit
‫เรารู้ว่าพารามิเตอร์แรกเป็นวัตถุบริบทของโลก และเรารู้วิธีจัดการกับสิ่งนั้นอยู่แล้ว
‫เรารู้ว่าต้องใช้ระบบอนุภาค และเรามีตัวแปรระบบอนุภาคที่เราสามารถส่งผ่านเข้ามาได้
‫เรายังทราบด้วยว่าเราต้องการสถานที่และการหมุนเวียน และเรารู้วิธีหาสถานที่สำหรับนักแสดงรายใดรายหนึ่งโดยใช้รับตำแหน่งนักแสดงและการหมุนเวียนนักแสดง
‫ดังนั้น เนื่องจากคุณมีข้อมูลทั้งหมดนี้ ฉันจึงอยากให้คุณใช้ฟังก์ชัน U gameplay statics
‫spawn emitter ที่ตำแหน่งในฟังก์ชัน on hit สำหรับคลาส projectile
‫ดังนั้นส่งผ่านสิ่งนี้สำหรับวัตถุบริบทโลก ผ่านระบบอนุภาคเอง ตัวแปรอนุภาค Hit
‫ใหม่ที่เราสร้างและใช้ตำแหน่งขีปนาวุธโดยใช้ Get Active Location และใช้การหมุนของโพรเจกไทล์โดยใช้การหมุนตัวแสดง
‫หยุดวิดีโอชั่วคราวแล้ววางไข่อีซีแอลในฟังก์ชัน on hit ทันที
‫ตกลง.
‫ผมจะลบบรรทัดนี้ที่เราใช้เพื่อดูฟังก์ชันโอเวอร์โหลดของฟังก์ชันนี้
‫และฉันจะวางสิ่งนี้ก่อนที่เราจะทำลายนักแสดง
‫ดังนั้นถ้าคุณวางไว้ พูดว่า ที่ส่วนท้ายของฟังก์ชัน ไม่เป็นไร
‫ความท้าทายเปิดทิ้งไว้สำหรับคุณ
‫แต่เราจะวางสิ่งนี้ไว้ก่อนที่เราจะทำลายนักแสดง เพราะถ้าเราทำลายนักแสดง ก็ไม่สมเหตุสมผลเลยที่จะวางไข่อนุภาคหลังจากนั้น
‫ดังนั้นเราจะทำสิ่งนี้ก่อนที่เราจะทำลายนักแสดง
‫ดังนั้นเราจะบอกว่าคุณเล่นเกม statics spawn emitter ที่ตำแหน่งและก่อนอื่นเราต้องการวัตถุบริบทโลกของเราซึ่งจะเป็นสิ่งนี้
‫ต่อไป เราต้องการอนุภาคฮิตของเรา ตามด้วยตำแหน่งของนักแสดง ซึ่งเราจะใช้รับตำแหน่งนักแสดง
‫ต่อไปเราจะผ่านการหมุนซึ่งเราจะใช้การหมุนเวียนนักแสดงและตอนนี้เรากำลังวางไข่อีซีแอลที่ตำแหน่ง
‫สิ่งหนึ่งที่ฉันต้องการจะชี้ให้เห็นก็คือ ถ้าเจ้าของของฉันเป็นตัวชี้ค่าว่าง และเรากลับออกจากฟังก์ชันนี้ก่อนกำหนด
‫ก็อาจเป็นความคิดที่ดีที่จะทำลายโปรเจกไทล์ที่นั่น
‫ดังนั้นฉันจึงต้องการลบคำสั่ง return นี้ และให้ if คำสั่ง ที่เนื้อความของมันเองยังคงส่งคืน
‫แต่ก่อนกลับเราควรจะทำลายนักแสดงเสียก่อน
‫ดังนั้นฉันจะโทรไปทำลายที่นี่หากตรวจสอบ
‫และที่จริงแล้ว แม้ว่าเราจะไม่ผ่านการตรวจสอบอื่นๆ ทั้งหมดที่นี่ การตรวจสอบนักแสดงคนอื่น เราไม่ต้องการให้กระสุนปืนคงอยู่ทั่วโลก
‫ดังนั้นเราควรย้ายการเรียกครั้งที่สองนี้เพื่อทำลายนอก if ตรวจสอบ
‫ด้วยวิธีนี้ เราจะทำลายกระสุนปืนเมื่อกระทบกับสิ่งใดสิ่งหนึ่ง
‫ด้วยวิธีนี้ เราจึงไม่มีขีปนาวุธที่ค้างอยู่ไม่ว่าจะด้วยเหตุผลใดก็ตาม
‫ตกลง?
‫และในขณะที่เราปลอดภัย เราควรสังเกตว่าเราใช้อนุภาค Hit ที่นี่ ซึ่งหมายความว่าเราควรตรวจสอบเพื่อดูว่ามีการตั้งค่าอนุภาค
‫Hit ก่อนที่เราจะลองใช้หรือไม่
‫มิฉะนั้น เราอาจใช้ตัวแปรอนุภาค Hit ที่ยังไม่ได้ตั้งค่าและเราไม่ควรใช้พอยน์เตอร์ว่าง
‫ดังนั้น เราจะวาง if ตรวจสอบที่นี่เพื่อดูว่าอนุภาคของ Hit ถูกต้องหรือไม่ และหากถูกต้อง ก็จะปลอดภัยที่จะเรียกตัวปล่อยวางไข่ที่ตำแหน่งที่นี่
‫ไม่เป็นไร.
‫ไปข้างหน้าและรวบรวมนี้ในขณะนี้
‫และด้วยการคอมไพล์ที่ประสบความสำเร็จ เราจะกลับไปที่ตัวแก้ไข และนี่คือโพรเจกไทล์ BP
‫เรามีชุดอนุภาค Hit ของเราแล้ว ดังนั้นตรวจสอบให้แน่ใจว่าได้ตั้งค่าไว้ก่อนที่เราจะทดสอบ
‫มิฉะนั้นเราจะไม่เห็นอะไรเลย
‫และถ้าเราเริ่มเล่น เราก็สามารถรอวิดเจ็ต go ของเราแล้วบูม ลองดูสิ
‫เรามีกลุ่มควัน
‫เราได้สร้างอนุภาคของการโจมตีแล้ว
‫ฉันจะไปข้างหน้าและยิงใส่ศัตรูของเรา และเราจะเห็นว่าพวกมันเกิดเมื่อเราโจมตีศัตรูด้วย
‫สมบูรณ์แบบ.
‫โดยสรุปแล้ว ตอนนี้เราได้สร้างอนุภาคของการโจมตีบางส่วนแล้ว
‫เรามีการระเบิดเมื่อขีปนาวุธของเราชนอะไรบางอย่างในโลก
‫และขั้นตอนต่อไปคือการมีเส้นทางควันที่ตามหลังกระสุนปืนขณะที่มันบินผ่านอากาศ
‫และเราจะดูแลมันในวิดีโอหน้า
‫เจอกันใหม่ครับ