‫สวัสดีและยินดีต้อนรับกลับ
‫ตอนนี้ เราได้สร้างคลาสโพรเจกไทล์ของเราแล้ว และเราพร้อมที่จะเริ่มวางไข่สิ่งเหล่านี้ในระดับเพื่อให้เราสามารถเปิดตัวพวกมันที่หอคอยและทำลายพวกมันในที่สุด
‫ตอนนี้นักแสดงวางไข่จะเกี่ยวข้องกับฟังก์ชันการวางไข่ของนักแสดง
‫เราจะมาเรียนรู้ว่ามันทำงานอย่างไรในวิดีโอนี้
‫ทีนี้มาพูดถึงการวางไข่ของโพรเจกไทล์กัน
‫นี่คือสิ่งที่เราต้องการจะทำจากด้าน C++ ของสิ่งต่างๆ
‫เราจะเรียกฟังก์ชัน C++ เพื่อสร้างวัตถุใหม่ในโลกแบบไดนามิก
‫ตอนนี้เรากำลังวางไข่จากด้าน C++ ของสิ่งต่างๆ แต่เราต้องการวางไข่วัตถุตามพิมพ์เขียวของคลาสโปรเจ็กไทล์ของเรา
‫เหตุผลเป็นเพราะเรามีพิมพ์เขียวตามคลาส A Projectile C++ ซึ่งมีข้อมูลเพิ่มเติม
‫โดยเฉพาะอย่างยิ่ง มีชุดคุณสมบัติตาข่ายนั้น
‫เราเลือกตาข่ายสำหรับส่วนประกอบตาข่ายแบบคงที่ของเรา
‫ดังนั้นเราจึงไม่สามารถวางไข่ในเวอร์ชัน C++ ได้
‫เราต้องวางไข่รุ่นพิมพ์เขียวเพื่อให้ได้ตาข่ายนั้น
‫คำถามคือเราจะวางไข่วัตถุใน C ++ ได้อย่างไรซึ่งอิงตามพิมพ์เขียว?
‫ทีนี้ เราจะมาเรียนรู้เกี่ยวกับสิ่งที่เรียกว่า PT Subclass กัน นี่คือเทมเพลต
‫และเช่นเดียวกับเทมเพลตอื่นๆ วงเล็บเหลี่ยมจะต้องมีประเภท
‫ดังนั้นการใช้คลาสย่อย PT ต้องใช้พารามิเตอร์ประเภท
‫และสิ่งนี้ทำให้เรามีตัวแปรที่เก็บสิ่งที่เรียกว่าคลาส U
‫คลาส U แสดงถึงประเภทของคลาส แต่ก็มีความสามารถในการโต้ตอบกับระบบสะท้อนของเอนจิ้น
‫Unreal
‫เมื่อฉันพูดถึงการไตร่ตรอง ฉันหมายถึงการแลกเปลี่ยนข้อมูลระหว่าง C++ และด้านพิมพ์เขียว
‫คลาสย่อย PT ของชื่อช่วยให้เราสามารถจัดเก็บตัวแปรที่แสดงถึงคลาสตามประเภทที่เรากำลังส่งผ่านหรือคลาสย่อยของประเภทที่เลือกนี้
‫ซึ่งหมายความว่าเราสามารถเลือกประเภทและ t คลาสย่อยของ can ถือคลาส u ที่แสดงประเภทนั้นหรือประเภทใด
‫ๆ ที่ได้มาจากมัน
‫และรวมถึงพิมพ์เขียวตามประเภท
‫ลองดูว่าคลาสย่อยของ t นี้ทำงานอย่างไร
‫ตกลง.
‫ดังนั้นฉันกลับมาที่ base pom และเหตุผลที่ฉันอยู่ใน base pod ก็เพราะเราต้องการให้โพรเจกไทล์นี้มีทั้งบนแท็งก์และชั้นทาวเวอร์
‫ทั้งสองคลาสนั้นกำลังจะวางไข่โพรเจกไทล์
‫ดังนั้นฉันต้องการคลาสย่อยของตัวแปรที่นี่
‫ผมจะบอกว่า t คลาสย่อยของ และในวงเล็บมุม เราต้องผ่านในประเภท
‫ตอนนี้เราสามารถส่งต่อประกาศแม้ในวงเล็บมุมเช่นนี้
‫และผมจะทำให้ประเภทเป็นโพรเจกไทล์
‫และเหตุผลก็เพราะเราสร้างคลาสโพรเจกไทล์และประเภทของมันคือโพรเจกไทล์
‫ฉันจะสร้างตัวแปรนี้และเรียกมันว่าคลาสโปรเจ็กไทล์
‫ทีนี้ สิ่งนี้จะช่วยให้เรามีตัวแปร C++ ที่แสดงถึงประเภทคลาส และประเภทนั้นสามารถยึดตามโปรเจ็กไทล์
‫แม้กระทั่งประเภทคลาสพิมพ์เขียวที่อิงตามสิ่งนี้
‫ตอนนี้ฉันจะให้คุณสมบัติ U แก่มัน
‫และเนื่องจากฉันต้องการแก้ไข อย่างน้อยในพิมพ์เขียวเริ่มต้น ฉันจะกำหนดให้การแก้ไขนี้เป็นค่าเริ่มต้น
‫ตอนนี้เราเท่านั้นที่สามารถให้หมวดหมู่นี้ได้
‫ฉันจะวางไว้ในหมวดหมู่ที่เรียกว่าการต่อสู้
‫ตอนนี้ ไปข้างหน้าและรวบรวมสิ่งนี้
‫โอเค ฉันกลับมาที่เครื่องมือแก้ไขแล้ว และฉันจะไปที่โฟลเดอร์พิมพ์เขียว จากนั้นไปที่โฟลเดอร์
‫Pons
‫และฉันกำลังจะเปิด BP -- แทงค์ และเปิดโปรแกรมแก้ไขพิมพ์เขียวฉบับสมบูรณ์
‫ตอนนี้ ถ้าฉันดูในแผงรายละเอียด ฉันสามารถมองหาการต่อสู้ได้
‫นี่มัน.
‫และนี่คือตัวแปรคลาสโปรเจ็กไทล์
‫นี่คือคลาสย่อยที่เราเรียกว่าคลาสโปรเจกไทล์
‫ตอนนี้สังเกตว่าเราสามารถตั้งค่าได้ที่นี่ และเราสามารถตั้งค่าได้โดยใช้เมนูแบบเลื่อนลง
‫และถ้าเราคลิกที่ดรอปดาวน์ เรามีสามตัวเลือก
‫เราสามารถตั้งค่าเป็น none ได้ ซึ่งเป็นค่าที่ตั้งไว้โดยค่าเริ่มต้น ซึ่งโดยพื้นฐานแล้วหมายความว่ามันเป็นตัวชี้ว่าง
‫หรือเราจะตั้งค่าเป็นโพรเจกไทล์หรือโพรเจกไทล์ BP ก็ได้
‫นั่นคือสิ่งที่คลาสย่อยของอนุญาตให้เราทำได้คือตั้งค่าคลาสโปรเจ็กไทล์นี้เป็นประเภทเฉพาะตามโพรเจกไทล์
‫เนื่องจากเป็นประเภทที่เราเลือกเมื่อเราสร้างตัวแปร
‫ตอนนี้โพรเจกไทล์ที่นี่
‫นี่คือคลาส C++ ที่เรียกว่าโพรเจกไทล์ใน C++
‫มันเป็นโพรเจกไทล์ แต่โพรเจกไทล์ BP เป็นพิมพ์เขียวตามคลาสโพรเจกไทล์ C++ และเราสามารถเลือกสิ่งนี้ได้
‫และตอนนี้คลาสโปรเจ็กไทล์ถูกตั้งค่าเป็นประเภทโพรเจกไทล์ BP
‫ทีนี้ นี่ไม่ใช่ส่วนประกอบ และไม่ใช่วัตถุโปรเจกไทล์ BP
‫นั่นไม่ใช่สิ่งที่มันเป็น
‫มันเก็บประเภทโดยเฉพาะอย่างยิ่ง U.
‫ประเภทชั้นเรียน
‫และอย่างที่ฉันพูดไป คลาสของคุณได้สร้างฟังก์ชันที่ช่วยให้การสะท้อนทำงานระหว่าง C++ และพิมพ์เขียวได้
‫ข้อมูลสามารถไหลระหว่าง C++ และพิมพ์เขียว
‫ตอนนี้เรามีโปรเจ็กไทล์คลาส ซึ่งเป็นคลาสย่อย PT ของเซ็ตเป็นพิมพ์เขียวโพรเจกไทล์ BP
‫เหตุใดจึงต้องผ่านปัญหาทั้งหมดเพื่อสร้างคลาสย่อยของตัวแปร
‫เราต้องคุยกันถึงวิธีการทำงานของตัวแสดงการวางไข่
‫นักแสดงวางไข่เป็นฟังก์ชั่นที่เป็นของระดับโลกใหม่
‫ดังนั้นถ้าเราได้ครอบครองโลก เราสามารถเรียกนักแสดงวางไข่
‫และตัวแสดง Spawn เป็นฟังก์ชันเทมเพลตอีกตัวหนึ่งและออกแบบมาเพื่อสร้างวัตถุใหม่ที่คล้ายกับการสร้างวัตถุย่อยเริ่มต้น
‫แต่การสร้างออบเจ็กต์ย่อยเริ่มต้นได้รับการออกแบบมาเพื่อสร้างส่วนประกอบและเราสามารถใช้ได้เฉพาะในตัวสร้างสำหรับตัวแสดงการวางไข่ในคลาสเฉพาะเท่านั้นที่สามารถเรียกได้ในขณะรันไทม์ในขณะที่เกมกำลังทำงานและสามารถสร้างนักแสดงได้
‫ตอนนี้เป็นเทมเพลต ดังนั้นจึงต้องมีประเภท
‫หากเราต้องการวางไข่โพรเจกไทล์ เราก็จะส่งโปรเจ็กไทล์ประเภทคลาส C++ ที่นี่
‫นี่คือคลาส C++ ที่ส่งคืนโดยฟังก์ชันตัวแสดงการวางไข่ใน C++
‫ตอนนี้วงเล็บใช้พารามิเตอร์จำนวนหนึ่ง รวมทั้งคลาส U
‫ขณะนี้มีฟังก์ชันนี้โอเวอร์โหลดหลายตัวที่ใช้พารามิเตอร์อินพุตต่างกัน
‫ที่ง่ายที่สุดอาจเป็นเวอร์ชันที่ใช้คลาส U ตำแหน่งและการหมุน
‫ยู.
‫คลาสคือสิ่งที่แสดงถึงประเภทที่จะวางไข่
‫นี่คือประเภทของวัตถุที่เกิดจริง
‫นี่อาจเป็นคลาสพิมพ์เขียว
‫ตำแหน่งเป็นเวกเตอร์ F ที่ระบุตำแหน่งที่จะวางไข่ของวัตถุ และการหมุนจะระบุการหมุนของวัตถุ
‫ตัวอย่างของไวยากรณ์จึงมีลักษณะดังนี้
‫เราจะเรียกนักแสดงวางไข่โดยระบุประเภทคลาสแล้วส่งข้อมูลคลาส u นั้นพร้อมกับเวกเตอร์ตำแหน่งและตัวหมุนการหมุน
‫มาพูดถึงชั้นเรียนของคุณกันสักครู่
‫ตามที่เราได้กล่าวไปแล้ว คลาสของคุณแสดงถึงประเภทของคลาส
‫เมื่อเราเรียกนักแสดงวางไข่ เราจะผ่านคลาส U เพื่อให้ฟังก์ชันตัวแสดงการวางไข่พร้อมข้อมูลเกี่ยวกับวัตถุที่จะวางไข่
‫ใช่เราส่งประเภทในวงเล็บมุม แต่นั่นก็บอก Spawn ให้นักแสดงประเภท C ++ เพื่อสร้าง
‫ในขณะที่ชั้นเรียนของคุณมีข้อมูลเพิ่มเติม
‫สมมติว่าเราสร้างพิมพ์เขียวตามโพรเจกไทล์ และในพิมพ์เขียว เราตั้งค่าคุณสมบัติบางอย่าง เช่น การเลือกตาข่ายแบบคงที่สำหรับส่วนประกอบตาข่ายแบบคงที่
‫ตอนนี้ถ้าเราเพียงแค่วางไข่คลาส C ++ แบบดิบแล้วตาข่ายแบบคงที่นั้นจะไม่ถูกตั้งค่าบนวัตถุกระสุนปืนที่เพิ่งวางไข่ใหม่
‫โดยพื้นฐานแล้วเราจะวางไข่นักแสดงใหม่ที่มองไม่เห็น
‫อย่างไรก็ตาม ตัวแปรคลาสใหม่สามารถแสดงคลาสพิมพ์เขียวได้
‫ชั้นเรียนของคุณทำให้เรามีตัวแปรที่ด้าน C++ ซึ่งแสดงถึงพิมพ์เขียว ประเภทคลาส
‫และการเกิด
‫นักแสดงสามารถนำคลาสนั้นเป็นอาร์กิวเมนต์อินพุตเพื่อให้สามารถวางไข่วัตถุใหม่ตามพิมพ์เขียวที่แสดงโดยคลาสใหม่นั้น
‫ดังนั้นโพรเจกไทล์ใหม่จะมีการตั้งค่าคุณสมบัติตาข่ายแบบคงที่เนื่องจากเรากำลังวางไข่วัตถุใหม่ตามพิมพ์เขียวและไม่ใช่คลาส
‫C ++ แบบดิบ
‫นี่คือเหตุผลที่เราสร้างคลาสย่อยของเราขึ้นมา เพราะมันสามารถเก็บคลาสใหม่ได้ และเราสามารถตั้งค่าให้เท่ากับโปรเจกไทล์
‫BP จากพิมพ์เขียว BP ของเราได้
‫ตอนนี้คุณรู้วิธีวางไข่นักแสดงแล้ว
‫นักแสดงวางไข่อยู่ในระดับโลกใหม่
‫ดังนั้นหากคุณเรียก get world และเรียก Spawn Actor อย่างง่ายๆ คุณก็จะทราบความต้องการอินพุตสำหรับฟังก์ชันนี้
‫คุณจะส่งผ่านประเภท C++ ในวงเล็บมุม และคุณจัดประเภทตำแหน่งและการหมุนในวงเล็บ
‫ดังนั้นสำหรับความท้าทายของคุณ คุณจะต้องวางไข่ของโพรเจกไทล์ ทำเช่นนี้ในฟังก์ชันไฟ
‫ดังนั้นเรียกนักแสดงวางไข่ของโลกแล้วส่งกระสุนปืนเข้าไปในวงเล็บมุม
‫ซึ่งหมายความว่าคุณจะต้องรวมไฟล์ส่วนหัวสำหรับโพรเจกไทล์
‫อย่าลืมว่าและใช้คลาสโปรเจ็กไทล์ตัวแปรใหม่ของเราเป็นพารามิเตอร์อินพุตคลาส U
‫ในวงเล็บ
‫ตอนนี้เราต้องการที่ตั้งและการหมุนเวียน
‫คุณจะใช้จุดวางไข่ของโพรเจกไทล์สำหรับทั้งตำแหน่งและการหมุน
‫จากองค์ประกอบจุดวางไข่ของโพรเจกไทล์
‫คุณสามารถเรียกรับตำแหน่งส่วนประกอบและรับการหมุนเวียนส่วนประกอบเพื่อเข้าถึงค่าเหล่านี้
‫ดังนั้นหยุดวิดีโอชั่วคราวแล้วเรียกนักแสดงวางไข่ในฟังก์ชั่นไฟทันที
‫ตกลง.
‫ไปที่ Base Pond CP ที่เรากำหนดฟังก์ชันไฟไว้
‫ตอนนี้เราได้วาดทรงกลมดีบักที่นี่
‫เราไม่ต้องการสิ่งนั้นอีกแล้ว
‫ดังนั้นฉันจะลบการเรียกใช้ฟังก์ชันนี้ และฉันจะเรียกนักแสดงวางไข่ที่นี่แทน
‫ตอนนี้เรามีตำแหน่งจุดวางไข่ของโพรเจกไทล์แล้ว
‫ฉันจะเปลี่ยนชื่อตัวแปรโลคัลนี้เป็นตำแหน่งง่ายๆ และฉันจะสร้าง F rotator ใหม่
‫เรียกว่าหมุนเวียน
‫และนี่ฉันจะได้มาจากจุดวางไข่ของโพรเจกไทล์ด้วย
‫ดังนั้นมันจะเป็นจุดวางไข่ของโพรเจกไทล์ที่ได้รับการหมุนส่วนประกอบ
‫ตอนนี้ฉันมีตำแหน่งและการหมุนที่จะวางไข่ของโพรเจกไทล์แล้ว
‫ต่อไปฉันต้องเรียกนักแสดงวางไข่เพื่อเรียกรับโลก
‫และจากโลกที่ฉันได้รับจากฟังก์ชันนี้ ฉันสามารถเรียกนักแสดงวางไข่ได้
‫ทีนี้มีวงเล็บมุมกับวงเล็บแล้ว จริงไหม?
‫ในวงเล็บมุม ฉันต้องใช้โปรเจกไทล์
‫และเนื่องจากเราใช้โพรเจกไทล์ เราจึงต้องรวมส่วนหัวไว้ด้วย
‫บนนี้ ผมจะลบ วาดตัวช่วยดีบั๊ก และแทนที่ด้วยโพรเจกไทล์
‫ตอนนี้เรามีประเภทนั้นรวมอยู่ด้วย
‫ตอนนี้เราต้องการคลาส U และจาก H มีคลาสโปรเจ็กไทล์ เราสามารถใช้เป็นคลาส U ได้
‫เราจะผ่านชั้นโปรเจ็กไทล์
‫ในที่สุด เราก็สามารถผ่านตำแหน่งและการหมุนได้ และสิ่งนี้จะตอบสนองการทำงานของตัวแสดงการวางไข่
‫เรามาลองคอมไพล์กันก่อน แล้วเราจะกลับมาที่นี่ในเครื่องมือแก้ไข และเราสามารถทดสอบการเล่นได้
‫ดังนั้นฉันจะไปข้างหน้าและคลิกและตรวจสอบ
‫เราได้สร้างโพรเจกไทล์ใหม่
‫เรากำลังวางไข่กระสุนปืนที่ปลายกระบอกปืนของเรา และพวกมันก็ลอยไปในอากาศ
‫ซึ่งดูไม่ถูกต้องนัก
‫แต่ไม่เป็นไร
‫นี่คือขั้นตอนที่หนึ่ง
‫ขั้นแรกเราต้องวางไข่ของโพรเจกไทล์ เพื่อให้มันทำหน้าที่เหมือนโพรเจกไทล์ในขั้นตอนต่อไป
‫โดยสรุป ตอนนี้เรากำลังวางไข่ขีปนาวุธ
‫นี่เป็นก้าวที่ยิ่งใหญ่
‫อย่างไรก็ตาม พวกมันยังไม่ใช่ขีปนาวุธ
‫พวกมันแค่ลอยอยู่ตรงนั้นและขีปนาวุธควรจะบินขึ้นไปในอากาศ
‫ในวิดีโอหน้า เราจะพูดถึงวิธีทำให้โพรเจกไทล์ของเราบินไปในอากาศจริง ๆ เพื่อให้พวกมันทำตัวเหมือนโพรเจกไทล์
‫เจอกันเร็วๆนี้ครับ