สารบัญ:

วิธีสร้างอักขระ 2d ด้วยตัวควบคุมอักขระใน Unreal Engine 4 โดยใช้ Visual Script สำหรับพีซี: 11 ขั้นตอน
วิธีสร้างอักขระ 2d ด้วยตัวควบคุมอักขระใน Unreal Engine 4 โดยใช้ Visual Script สำหรับพีซี: 11 ขั้นตอน

วีดีโอ: วิธีสร้างอักขระ 2d ด้วยตัวควบคุมอักขระใน Unreal Engine 4 โดยใช้ Visual Script สำหรับพีซี: 11 ขั้นตอน

วีดีโอ: วิธีสร้างอักขระ 2d ด้วยตัวควบคุมอักขระใน Unreal Engine 4 โดยใช้ Visual Script สำหรับพีซี: 11 ขั้นตอน
วีดีโอ: Unreal Engine 5 | Blueprint For Beginners 2024, พฤศจิกายน
Anonim
Image
Image

วิธีสร้างตัวละคร 2d ด้วยตัวควบคุมอักขระใน Unreal engine 4 โดยใช้สคริปต์ภาพสำหรับพีซี สวัสดี ฉันชื่อ Jordan Steltz ฉันพัฒนาวิดีโอเกมมาตั้งแต่อายุ 15 ปี บทช่วยสอนนี้จะสอนวิธีสร้างตัวละครพื้นฐานพร้อมอินพุตสำหรับการเคลื่อนไหวบนระนาบ 2 มิติ

ขั้นตอนที่ 1: การตั้งค่าเกมมหากาพย์และ Unreal Engine

ก่อนที่เราจะเริ่มต้น เราจำเป็นต้องตรวจสอบให้แน่ใจว่าคุณมีทุกสิ่งที่คุณจำเป็นต้องปฏิบัติตามพร้อมกับบทช่วยสอนนี้ คุณจะต้องใช้ Unreal engine (ควรเป็นเวอร์ชันที่ใหม่กว่า 4.16) แอสเซ็ท 2D สำหรับตัวละครและห้องทดสอบ หมายเหตุด้านข้าง บัญชีเกม Epic นั้นจำเป็นต้องใช้เอ็นจิ้นและตัวเปิดเกมมหากาพย์จะถูกใช้ในการติดตั้งเอ็นจิ้น อย่างแรกเลยคือการสร้างบัญชี Epic Games ในการดำเนินการนี้ คุณสามารถไปที่ https://www.epicgames.com/site/en-US/home และคลิกปุ่มลงชื่อเข้าใช้ จากนั้นคลิกลงทะเบียนและกรอกข้อมูลที่จำเป็น หลังจากนั้น เราต้องติดตั้งตัวเปิดเกม Epic และหลังจากนั้นให้ติดตั้ง Unreal Engine เวอร์ชันหนึ่ง หลังจากที่คุณติดตั้ง Epic Games Launcher ให้ลงชื่อเข้าใช้ตัวเรียกใช้งานโดยใช้บัญชีที่สร้างขึ้นใหม่ ให้ไปที่แท็บ Unreal engine แล้วคลิกปุ่มติดตั้งเอ็นจิ้น บันทึกย่ออื่น การคลิกปุ่มติดตั้งเอ็นจิ้นจะแจ้งให้คุณติดตั้ง Unreal Engine เวอร์ชันล่าสุด ณ เวลานี้คือ Unreal Engine 4.21.2

ขั้นตอนที่ 2: การตั้งค่าโครงการ

หลังจากติดตั้ง Engine ก็ถึงเวลาสร้างโครงการ Unreal มีเทมเพลตที่สามารถใช้ได้ แต่ฉันชอบเริ่มต้นจากศูนย์ ถ้าคุณต้องการคุณสามารถใช้เทมเพลต 2d หรือคุณสามารถสร้างโปรเจ็กต์เปล่า ตั้งชื่อมันและปล่อยให้มันโหลด หมายเหตุด้านข้างเกี่ยวกับเนื้อหาเริ่มต้น ไม่จำเป็นสำหรับบทช่วยสอนนี้ แต่คุณสามารถเก็บเนื้อหานั้นไว้ได้หากต้องการ

ขั้นตอนที่ 3: รับแอนิเมชั่นและตั้งค่าแอนิเมชั่นตัวละคร

สิ่งต่อไปที่เราต้องทำคือนำเข้าทรัพย์สิน ฉันได้มาจาก: https://www.kenney.nl/ ไซต์นี้มีอักขระและไทล์แมป แต่ถ้าคุณมีทรัพย์สินของคุณเอง อย่าลังเลที่จะใช้มัน มี 2 วิธีในการนำเข้าเนื้อหาไปยัง Unreal Engine วิธีการลากและวาง หรือคุณสามารถคลิกนำเข้าและนำเข้าเนื้อหาที่คุณต้องการ นอกจากนี้ ฉันแนะนำให้สร้างโฟลเดอร์ในเอ็นจิ้นเพื่อให้ค้นหาสิ่งต่างๆ ได้ง่ายขึ้น ปกติฉันสร้างโฟลเดอร์สำหรับเนื้อหาตัวละคร ภาพเคลื่อนไหว และสถานะการแจงนับ ดังนั้นให้นำเข้าสไปรต์และเมื่อคุณเลือกทั้งหมดโดยใช้ "Ctrl" + "A" เพื่อเลือกสไปรต์ทั้งหมดและคลิกขวาที่สไปรท์ตัวใดตัวหนึ่งที่เลือกไว้ “Sprite Actions” และคลิก “Apply Paper 2D texture settings” การตั้งค่านี้ทำให้ไฟล์ที่เรานำเข้าดูดีขึ้นมาก หลังจากนั้นหากไม่ได้เลือกสไปรท์ ให้ใช้ปุ่มควบคุมและปุ่มเพื่อเลือกรูปภาพทั้งหมดอีกครั้ง คลิกขวาและค้นหาการกระทำของสไปรท์ แล้วคลิก “แยกสไปรท์” ต่อไปเป็นส่วนที่สนุกในการสร้างแอนิเมชั่น และเริ่มตั้งค่าสถานะแอนิเมชั่นของตัวละคร ตอนนี้เรามาเน้นที่แอนิเมชั่นกันก่อน ฉันลืมบอกไปว่าก่อนที่เราจะเริ่มสร้างพิมพ์เขียวอักขระ คลิกขวาที่คลาสพิมพ์เขียว มีปุ่มดร็อปดาวน์ของคลาสทั้งหมด คลิกปุ่มนั้นแล้วพิมพ์ "อักขระกระดาษ" เลือกตัวเลือกนั้นและตั้งชื่อพิมพ์เขียว ฉันจะเรียกฉันว่า "EGA player_character" เมื่อสร้างเสร็จแล้ว เราก็สามารถสร้างแอนิเมชั่นสำหรับตัวละครของผู้เล่นได้ หากคุณกำลังใช้แอนิเมชั่นจาก kenney.nl เฟรมของแอนิเมชั่นจะเป็นตัวเลข ตัวอย่างเช่น หากมี 2 เฟรมสำหรับแอนิเมชั่นการเดิน ชื่อจะเป็น “Assetname_walk_0” ไปเรื่อยๆ มาเริ่มกันที่แอนิเมชั่นการเดิน ค้นหาสไปรต์ที่เกี่ยวข้องและคลิกควบคุมเพื่อเลือก จากนั้นคลิกขวาที่หนึ่งในนั้นและตัวเลือก "สร้าง Flipbook" ทำเช่นนี้กับสไปรท์ที่เหลือสำหรับการกระโดดและสไปรท์แห่งความตาย

ขั้นตอนที่ 4: การจัดการกับอินพุตและสถานะการแจงนับ

ถัดไป ระบุสถานะและรับการเคลื่อนไหวของตัวละครและการตั้งค่าอินพุต การแจงนับจะใช้ในการจัดเก็บสถานะของผู้เล่นและจะเป็นประโยชน์สำหรับการตั้งค่าฟังก์ชั่นการตั้งค่าฟลิปบุ๊กในภายหลัง ในการสร้างพิมพ์เขียวการแจงนับ ให้คลิกขวาไปที่ "พิมพ์เขียว" และคลิก "การแจงนับ" สิ่งต่อไปที่ต้องทำคือการสร้างการแจงนับเพื่อใช้ในฟังก์ชัน set flipbooks ในภายหลัง หลังจากนั้นเราต้องสร้างอินพุตสำหรับเครื่องเล่น ไปที่ "แก้ไข" >> "การตั้งค่าโครงการ" และค้นหา "เครื่องยนต์" คลิกที่อินพุตและมีตัวเลือกการแมป 2 ตัวเลือก "การทำแผนที่การดำเนินการ" และ "การแมปแกน" การแมปแกนจะใช้สำหรับการเลื่อนไปทางซ้ายและขวา จะมีหนึ่ง Axis Mapping และ Action Mapping หนึ่งรายการ จำไว้ว่านี่เป็นพื้นฐานและคุณสามารถเพิ่มสิ่งต่าง ๆ ให้กับตัวละครของคุณได้ สิ่งแรกที่คุณต้องทำคือกดปุ่มบวก จากนั้นตั้งชื่อมัน ฉันจะตั้งชื่อมันว่า Jump เมื่อคุณตั้งค่าการป้อนข้อมูลที่สำคัญ มีหลายแพลตฟอร์มและตัวควบคุมที่แตกต่างกัน ฉันจะใช้พีซี ดังนั้นฉันจึงตั้งค่าคีย์ไปที่ลูกศรขึ้นและช่องว่าง ต่อไปเป็นการกระทำของแกน ผมเรียกมันว่าเลื่อนไปทางขวาแล้วตั้งเป็นลูกศรขวา ตอนนี้ เราสามารถเน้นที่การแจงนับ จะมี 2 การแจงนับ: เดิน และกระโดด คุณสามารถเพิ่มคำอธิบายของคุณเองของการแจงนับ ดังนั้น นี่คือวิธีที่คุณเพิ่มพวกเขา คลิกใหม่ และตั้งชื่อการแจงนับ และถ้าคุณต้องการคำอธิบาย

ขั้นตอนที่ 5: การตั้งค่าพิมพ์เขียวอักขระ

ตอนนี้ เราสามารถไปที่ด้านการเขียนโปรแกรมของสิ่งต่าง ๆ ได้ ขั้นแรกให้ตั้งค่าสไปรต์เริ่มต้นโดยคลิกที่ส่วนประกอบสไปรท์และค้นหาตัวเลือก Source Flipbook และเลือกแอนิเมชั่นที่ไม่ได้ใช้งานที่สร้างไว้ก่อนหน้านี้ ตอนนี้ เราต้องสร้างตัวแปรสองสามตัว เราต้องการบูลีน บูลีนหรือบูลนั้นเป็นคำถามจริงหรือเท็จ บูลจะบอกเราว่าตัวละครของผู้เล่นเคลื่อนที่ไปทางขวาหรือไม่ ฉันจะเรียกมันว่า เคลื่อนที่ไปทางขวา ตามด้วยเครื่องหมายคำถาม และลงจอด Is Landed จะใช้สำหรับอนิเมชั่นการกระโดดและเหตุการณ์บนบกในภายหลัง

ขั้นตอนที่ 6: การสร้างตัวแปร

ณ จุดนี้ ฉันต้องการนำการจัดหมวดหมู่ตัวแปรที่เราสร้างขึ้นมา ทางด้านขวามือมีแผงที่มีชื่อตัวแปร ค่า อินสแตนซ์ที่แก้ไขได้ (หมายถึงเป็นสาธารณะและคุณสามารถเปลี่ยนได้ในเครื่องมือแก้ไข) และหมวดหมู่ คลิกในกล่องข้อความหมวดหมู่และตั้งชื่อหมวดหมู่ ฉันแนะนำ “การเคลื่อนไหว” สิ่งนี้จะมีบูลและการอ้างอิงถึงเครื่องระบุสถานะที่เราสร้างไว้ก่อนหน้านี้ เราจะต้องสร้างบูลที่เกี่ยวข้องกับการเคลื่อนไหวอื่น ฉันจะเรียกว่าลงจอด ต่อไปก็ถึงเวลาที่จะเน้นที่ตัวแปรสำหรับ flipbooks สำหรับสิ่งเหล่านี้มีประเภทตัวแปรที่เรียกว่า Paper Flipbook ตั้งค่าเป็นการอ้างอิงวัตถุรวบรวมพิมพ์เขียวเพื่อให้คุณสามารถแก้ไขค่าเริ่มต้นของตัวแปรได้ แต่ฉันต้องเตือนไม่ให้เปลี่ยนค่าเริ่มต้นของบูลีน ตัวแปรเป็นจริงมันจะเลอะสิ่งที่เราทำในภายหลัง สร้างจำนวนตัวแปรอ็อบเจ็กต์ flipbook ที่คุณต้องการ หลังจากนั้นเราจะต้องเพิ่มกล้องและสปริงอาร์มเพื่อเพิ่มส่วนประกอบเพียงแค่คลิกเพิ่มส่วนประกอบและค้นหากล้อง แต่อย่าลืมว่าต้องใช้สปริงอาร์มด้วยดังนั้นคลิกเพิ่มส่วนประกอบอีกครั้งค้นหาสปริงอาร์มเลือก มัน. คลิกแล้วลากกล้อง ถ้าไม่ใช่ลูกของแขนสปริงบนแขนสปริง

ขั้นตอนที่ 7: การตั้งค่ากล้อง

ตอนนี้ถึงเวลาเปลี่ยนการตั้งค่ากล้องในแผงรายละเอียดมีตัวเลือกการตั้งค่ากล้องภายใต้การตั้งค่ากล้องเปลี่ยนโหมดการรับรู้เป็น orthographic และอัตราส่วนภาพที่ใช้งานได้กับหน้าจอคอมพิวเตอร์ของคุณ ฉันไม่ค่อยเก่งเรื่องอัตราส่วนดังนั้นฉัน เพิ่งเปลี่ยนของฉันเป็น 2048 เพื่อป้องกันไม่ให้หน้าจอแตก จากนั้นบันทึกและรวบรวมโครงการ

บันทึกด้านข้างตั้งค่าข้อจำกัดสำหรับอักขระเป็น x, y และ z สำหรับทั้งการหมุนและตำแหน่ง

ขั้นตอนที่ 8: การเปลี่ยนโหมดเกม

Image
Image

สิ่งต่อไปที่เราควรทำคือเปลี่ยนการตั้งค่าโหมดเกมเพื่อไปที่แท็บแก้ไขและเลือกการตั้งค่าโครงการจากนั้นค้นหาแผนที่และโหมดคลิกที่ปุ่มแครอทโดยเลือกโหมดเกมดูเหมือนว่าฉันอาจต้องสร้างโหมดเกมใหม่ หากตัวเลือกของคุณเป็นสีเทาเหมือนของฉัน ให้คลิกเครื่องหมายบวกที่ชื่อโหมดเกมที่เลือก ฉันกำลังดำเนินการเพื่อให้เราสามารถแก้ไขตัวละครของผู้เล่นที่ไม่สมจริงจะใช้ทุกครั้งที่เราโหลดเกม

ขั้นตอนที่ 9: ตั้งค่าการสร้างฟังก์ชัน Flipbook

ถึงเวลาเริ่มทำงานในการตั้งค่าตัวควบคุมการเคลื่อนไหวของตัวละครของผู้เล่น ให้ดับเบิลคลิกที่พิมพ์เขียวตัวอักษรกระดาษที่คุณสร้างขึ้น ระบบจะนำคุณไปยังหน้าต่างใดหน้าต่างหนึ่งจากกราฟเหตุการณ์หรือวิวพอร์ต หากคุณไม่ได้อยู่ในกราฟเหตุการณ์และ อยู่ในวิวพอร์ต ให้คลิกแท็บที่ 3 (หากคุณใช้การตั้งค่าเริ่มต้นของ Unreal Engine) คุณจะได้รับการต้อนรับด้วยหน้าจอเปล่าพร้อมกล่องที่มีแครอทที่เรียกว่า OnEvent BeginPlay อย่าเพิ่งกังวลไป แต่เรากำลังจะตั้งค่าฟังก์ชันหนังสือพลิกของเราเอง

ใต้แท็บส่วนประกอบจะมีแท็บฟังก์ชัน ให้คลิกเครื่องหมายบวกบนแท็บฟังก์ชัน ณ จุดนี้ เราควรสร้างตัวแปรเพื่อเก็บสถานะเครื่องที่เราสร้างไว้ก่อนหน้านี้ เครื่องสถานะจะช่วยสลับระหว่างแอนิเมชันได้อย่างง่ายดายโดยไม่ต้องใช้ Unreal มาตรฐาน ตั้งค่าฟังก์ชัน Flipbook ดับเบิลคลิกที่ฟังก์ชันใหม่ และมีกล่องสีม่วงที่มีชื่อของฟังก์ชันใหม่อยู่ ให้คลิกและมีตัวเลือกสำหรับอินพุต คลิกเครื่องหมายบวกบนแท็บอินพุต ตั้งค่าตัวแปรโดยคลิกปุ่มดรอปดาวน์ และในแถบค้นหา ให้พิมพ์ชื่อของการแจงนับที่สร้างขึ้นก่อนหน้านี้เป็นอินพุตเริ่มต้น หรือที่ฉันมักจะเรียกว่าสถานะถัดไป จากนั้นตั้งค่าอินสแตนซ์สำหรับสถานะโดยการลากตัวแปร enum จากแท็บตัวแปร และเมื่อคุณทำเช่นนั้น ให้คลิกตัวเลือกการตั้งค่า จากนั้นคลิกที่แครอทแล้วลากจากนั้นปล่อยปุ่มเมาส์จะมีเมนูที่ปรากฏขึ้นพร้อมกับแถบค้นหาประเภทการตั้งค่า flipbook ในฟังก์ชั่นเลือกตัวเลือกนั้นในตัวเลือกนั้นเรามีตัวเลือกน้อย เช่น: เป้าหมายซึ่งตั้งค่าเป็นสไปรท์โดยอัตโนมัติ และฟลิปบุ๊กใหม่ โดยลากตัวเลือกฟลิปบุ๊กนั้นแล้วเลือกการค้นหา ด้วยการเลือกจะมีดัชนี โดยค่าเริ่มต้นมันเป็นบูลีน เราสามารถเปลี่ยนสิ่งนั้นได้โดยการลากและวางเครื่องสถานะลงในดัชนี ซึ่งจะทำให้เรามีโอกาสใช้หนังสือพลิกที่เราสร้างขึ้น ลากและวางตัวแปรเหล่านั้น ในตำแหน่งที่เกี่ยวข้อง ไม่ว่าคุณจะตั้งค่าไว้อย่างไร การเลือกนั้นจะเป็นสิ่งที่กำหนดหนังสือพลิกเล่มต่อไป หลังจากเซ็ตฟลิปบุ๊กของฟังก์ชันแล้ว ให้ลากออกจากเซ็ตฟลิปบุ๊คแล้วพิมพ์ return node ฉันทำสิ่งนี้เพื่อความเรียบร้อยไม่จำเป็น นั่นคือทั้งหมดที่เราต้องการสำหรับฟังก์ชัน set flipbook

ขั้นตอนที่ 10: การตั้งค่าส่วนประกอบการเคลื่อนไหว

ต่อไป เราต้องตั้งค่าองค์ประกอบการเคลื่อนไหว ไปที่กราฟเหตุการณ์และคลิกขวาแล้วค้นหา Input Axis I เรียกว่าแกนอินพุตสำหรับการเคลื่อนไปทางขวา MoveRight เหตุการณ์นี้จะเป็นตัวควบคุมการเคลื่อนไหวของเรา ถัดไป ออกจากแกนอินพุต ลากเส้นลวดออกจากแครอท และค้นหาการเปรียบเทียบแบบลอย หากค่าแกนยังไม่อยู่ในฟองอินพุต ให้ลากลวดค่าแกนไปยังฟองอากาศอินพุต ในการเปรียบเทียบโฟลตมี 3 ส่วนที่สำคัญ เราจะไม่ใช้ส่วน == ของการเปรียบเทียบโฟลต ในส่วน < เราจำเป็นต้องตั้งค่าบูลย้ายขวา โดยการลากตัวแปรจากพาเนลไปยังกราฟเหตุการณ์ แล้วคลิกตัวเลือกการตั้งค่า แล้วคลิกช่องทำเครื่องหมายหนึ่งครั้ง การดำเนินการนี้จะตั้งค่าบูลให้เคลื่อนที่ไปทางขวา จริง ลากบูลไปทางขวา และตั้งค่านั้นเป็นเท็จสำหรับ < ส่วนของการเปรียบเทียบลอย จากนี้ให้ลากเส้นลวดจากคำสั่ง set อันใดอันหนึ่งแล้วค้นหาเพิ่มอินพุตการเคลื่อนไหว นำคำสั่ง set อื่น ๆ แล้วลากเข้าไปในส่วนเพิ่มการเคลื่อนไหวอินพุตของสคริปต์ จากนั้นลากจากฟองแกนอินพุตไปยังค่าสเกลของอินพุตการเคลื่อนไหว ฟอง. หมายเหตุด้านข้าง ฉันขอแนะนำให้แสดงความคิดเห็น วิธีที่คุณทำคือคลิกซ้ายแล้วลากโค้ดที่คุณต้องการแสดงความคิดเห็นแล้วกด C

ขั้นตอนที่ 11: ทิศทางการกระโดดและการสิ้นสุด

Image
Image

สุดท้ายไปที่ตัวควบคุมทิศทาง ซึ่งจะรวมถึงการเปรียบเทียบโฟลต สร้างเหตุการณ์ที่กำหนดเองอีกรายการ จากที่นั่นเราต้องการการเปรียบเทียบแบบลอยตัว เปรียบเทียบกับ 0 เราจำเป็นต้องได้ความเร็ว แต่แทนที่จะเพียงแค่แยกความเร็วแยกพินค่าที่ส่งคืนด้วยการคลิกขวาแล้วคลิกแยกโครงสร้างพิน ใช้ค่าส่งคืน X เป็นอินพุตสำหรับการเปรียบเทียบ float กับ > และ == ไปที่ true ของ branch ที่เราจำเป็นต้องสร้างโดยใช้ตัวแปร move right กับ < และค่า false ของ branch ที่ไปที่ set control rotation เราจะต้องแยกการหมุน Bubble ด้วยวิธีเดียวกับที่ใช้แยก get speed pin แล้วตั้งค่า Z pin เป็น 180.0 นับตั้งแต่ที่เราไม่มีเป้าหมาย แต่เครื่องยนต์ที่ไม่จริงจะตะโกนใส่เราจนกว่าเราจะหาเป้าหมายเจอ นี่คือที่ที่เราคลิกขวาและพิมพ์ในแถบค้นหารับคอนโทรลเลอร์โดยใช้ค่าส่งคืนสำหรับชุดโหนดการหมุนควบคุม โหนดหมุนควบคุมชุดที่สองจะมีทุกอย่างเท่ากับ 0 อีกอย่างหนึ่งคือการกระโดด ซึ่งจะค่อนข้างยาว สิ่งแรกที่เราทำสำหรับส่วนนี้ของการตั้งค่าอักขระคือค้นหาแกนอินพุตกระโดดหรืออะไรก็ตามที่คุณตัดสินใจเรียกการแมปปุ่มนั้นจากที่นั่นเราจะเห็นว่ามีกิ่งที่ถูกกดและปล่อยบนแท่นกดที่เราสามารถลากออกมาได้ สามเหลี่ยมนั้นและกระโดดค้นหา เมื่อปล่อยเราสามารถค้นหาหยุดกระโดดได้ เรายังทำไม่เสร็จที่นั่น คลิกขวาและค้นหาสามารถกระโดดและใช้ค่าที่ส่งคืนในสาขาในเหตุการณ์จริงที่เราจำเป็นต้องเรียกฟังก์ชัน set flipbook ของเราและเพิ่มการหน่วงเวลา 0.2 วินาที จากนั้นจึงอ้างอิงถึงองค์ประกอบการเคลื่อนไหวของตัวละคร และดูว่าตัวละครตกจากการค้นหาหรือไม่ในแถบค้นหาโดยใช้ค่าที่ส่งคืนเพื่อตั้งค่าฟลิปบุ๊กของเราให้อยู่ในสถานะไม่ได้ใช้งาน (เนื่องจากตัวละครที่ฉันใช้ไม่มีแอนิเมชั่นล้มตามรูปลักษณ์ของมัน)

ในที่สุดก็ถึงเวลาทดสอบตัวละครตัวนี้ในเกม ก่อนที่คุณจะทดสอบ ตรวจสอบให้แน่ใจว่าคุณได้นำตัวควบคุมแอนิเมชั่นและตัวควบคุมทิศทาง และเชื่อมโยงเข้ากับขีดเหตุการณ์

แนะนำ: