‫สวัสดีและยินดีต้อนรับการบรรยายนี้
‫เราจะดูว่าเราจะเขียนสิ่งต่าง ๆ ลงในบันทึกผลลัพธ์ได้อย่างไร และเราจะเขียนค่าของตัวแปรลงในไฟล์นั้นได้อย่างไร
‫ซึ่งจะช่วยให้เราดีบักเกมของเราได้
‫มาดูกันว่ามันทำงานอย่างไร
‫ดังนั้นใน Blueprint เราสามารถเขียนสิ่งต่างๆ บนหน้าจอได้เมื่อเราต้องการแสดงข้อมูลบางอย่างอย่างรวดเร็วหรืออาจแก้ไขข้อบกพร่องบางอย่างในอดีต
‫เรามีใน C ++ ใช้คุณสมบัติใหม่ในการทำเช่นนั้น แต่จริง ๆ แล้วเราสามารถทำเช่นนี้ได้โดยใช้คำสั่งบันทึกและมันค่อนข้างซับซ้อนเล็กน้อยไม่จริงซึ่งเป็นสาเหตุที่ฉันเลี่ยงที่จะทำมันมาจนถึงจุดนี้
‫ดังนั้นเราจึงคุ้นเคยกับไวยากรณ์ C++ มากขึ้นก่อนที่จะแนะนำให้คุณรู้จัก
‫วิธีการทำงานก็คือ ถ้าคุณมีส่วนขยายที่นี่ ติดตั้งตัวอย่างสี่ส่วนที่ไม่จริงโดยใช้ตัวพิมพ์ใหญ่และตัวพิมพ์ใหญ่ สิ่งนี้จะง่ายขึ้นเล็กน้อยจริง
‫ๆ เพราะคุณไม่จำเป็นต้องจำความซับซ้อนทั้งหมดของไวยากรณ์
‫คุณเพียงแค่พิมพ์ คุณเข้าสู่ระบบ และกล่องโต้ตอบ IntelliSense จะปรากฏขึ้นพร้อมข้อความว่าคุณเข้าสู่ระบบเพื่อช่วยให้คุณเขียนโค้ดทั้งหมด
‫และคุณสามารถกด ป้อน หรือเลือกรหัสด้วยเมาส์ได้
‫แล้วสิ่งที่คุณจะเห็นคือ มันเขียนบางอย่างที่ดูเหมือนฟังก์ชัน
‫มันไม่ใช่หน้าที่จริงภายใต้ประทุน
‫มันมีเวทย์มนตร์ที่ไม่จริงอยู่บ้าง แต่โดยพื้นฐานแล้วมันคล้ายกับฟังก์ชั่น
‫สิ่งที่เราจะทำในที่นี้คือ เรากำลังส่งข้อโต้แย้งสองสามข้อไปยังฟังก์ชันนี้
‫อันแรกบอกเราว่าเรากำลังทำหมวดหมู่บันทึกประเภทใด
‫อันที่สองบอกเราถึงระดับของบันทึก
‫ดังนั้นจึงเป็นเรื่องเร่งด่วนอย่างยิ่ง
‫และในที่สุด เราก็ได้สิ่งนี้มา ซึ่งโดยพื้นฐานแล้วเป็นฟังก์ชันภายในฟังก์ชันที่บอกข้อความที่เราจำเป็นต้องพิมพ์ออกมา
‫แล้วมันทำงานอย่างไร?
‫หากเราปล่อยสิ่งนี้ไว้ในโค้ดของเรา ไปที่ unreal hit คอมไพล์ เราต้องการที่จะดูว่ามันแสดงขึ้นที่ไหน?
‫เมื่อการรวบรวมเสร็จสิ้นเราจะไปเล่นต่อ
‫และสิ่งที่คุณกำลังมองหาคือมันจะไม่ปรากฏบนหน้าจอที่นี่
‫มันจะอยู่ในเอาต์พุต
‫เข้าสู่ระบบที่นี่และคุณสามารถดูได้ที่นี่
‫มันบอกว่าแสดงข้อความของคุณและเรามีข้อความกี่ข้อความ?
‫หนึ่งสองสามสี่ห้า.
‫เหตุผลก็คือมันกำลังแสดงข้อความสำหรับนักแสดงทุกคนในฉากของเราซึ่งเป็นแพลตฟอร์มที่เคลื่อนไหว
‫CP นั่นคือเหตุผลที่เราได้รับข้อความมากมาย
‫และคุณจะเห็นว่าเราสามารถเปลี่ยนข้อความให้เป็นอะไรก็ได้ที่เราอยากให้เป็นที่นี่
‫และเรายังใส่ข้อมูลเพิ่มเติมในข้อความนี้ได้ เช่น สถานที่เริ่มต้น หรือชื่อนักแสดง
‫อะไรทำนองนั้น
‫งั้นเราไปกันเลย
‫เรามีบันทึกผลลัพธ์ เราได้รับข้อความ และคุณสามารถเริ่มดูว่าหมวดหมู่ที่ฉันกำลังพูดถึงคืออะไร
‫คุณจะเห็นได้ว่าเรามีบันทึกอุณหภูมิที่นี่ แต่ด้านบนนี้เรามีเครื่องผสมสัญญาณเสียงบันทึก Log World
‫จึงมีการบันทึกหมวดหมู่ต่างๆ ที่ช่วยให้เราแยกแยะได้ว่าข้อความนี้มาจากไหน
‫มาจากภาคไหนของ Unreal?
‫แต่บันทึกชั่วคราวเป็นสิ่งที่เราจะใช้เป็นส่วนใหญ่เพราะเป็นเพียงสถานที่ชั่วคราวสำหรับการออกจากระบบข้อความแก้ไขข้อบกพร่องแล้วมีการแสดงผล
‫นี่คือระดับเริ่มต้น ระดับการบันทึก แต่เราสามารถมีข้อความ เป็นสิ่งที่แตกต่างกันมากมาย
‫สามารถแสดงหรือค่าใดก็ได้จากตารางด้านล่างนี้
‫ดังนั้นคุณจึงเห็นการแสดงผลที่นี่พิมพ์ข้อความไปยังคอนโซลและล็อกไฟล์
‫เรามีบันทึกลงที่นี่ซึ่งพิมพ์ข้อความไปยังไฟล์บันทึกเท่านั้นและไม่แสดงในคอนโซล
‫ดังนั้นนี่คือสิ่งที่คุณไม่ต้องการให้แสดงมากนัก แต่อาจต้องการใช้เพื่อแก้ไขข้อบกพร่อง
‫หากคุณกำลังดีบักเกมของใครบางคนและมันทำงานบนเครื่องของพวกเขา พวกเขากำลังส่งไฟล์บันทึกถึงคุณ
‫จากนั้นคุณได้รับคำเตือน
‫นี่คือเมื่อสิ่งที่ดูเหมือนจะผิดพลาดและพิมพ์ไปยังคอนโซลบันทึกและเป็นสีเหลืองด้วย
‫จากนั้นเราพบข้อผิดพลาดที่พิมพ์เป็นสีแดงและเป็นอันตรายถึงชีวิต โดยทั่วไปแล้วจะพิมพ์ไปที่คอนโซลและทำให้เครื่องยนต์ขัดข้อง
‫ดังนั้นคุณจึงต้องการใช้วิธีนี้เป็นทางเลือกสุดท้าย แต่จะช่วยให้คุณมีระดับต่างๆ ในไฟล์บันทึกได้
‫และผมจะแสดงให้คุณเห็นว่าถ้าเราใส่ข้อความต่างๆ ไว้ที่นี่
‫ผมจะคัดลอกไลน์ของเราสำหรับการบันทึก และจะทำสามอัน
‫เรากำลังจะมีการแสดงผล กำลังจะมีคำเตือน และเรากำลังจะมีข้อผิดพลาด
‫โดยปกติแล้ว สิ่งเหล่านี้คือระดับที่เราจะใช้
‫ไปดูกันเลยดีกว่าว่าหน้าตาเป็นอย่างไร
‫เข้าสู่ Unreal กดปุ่มคอมไพล์แล้วหยุดและเริ่มเล่นใหม่
‫และอีกอย่าง คุณสามารถเปิดบันทึกเอาท์พุตได้ด้วยการกดปุ่มตัวหนอนสองครั้ง
‫มันปรากฏขึ้นมา เรามีบันทึกผลลัพธ์ และคุณจะเห็นว่าเรามีข้อความสามชุด จอแสดงผลซึ่งอยู่ในคำเตือนสีขาวล้วน
‫ซึ่งเป็นสีเหลือง
‫ดังนั้นมันจึงโดดเด่นขึ้นอีกหน่อย ข้อผิดพลาด ชัดเจน ซึ่งโดดเด่นกว่ามาก
‫ตอนนี้ เราสามารถเพิ่มข้อมูลลงในข้อความบันทึกของเราได้แล้ว
‫ฉันแค่จะลบบรรทัดคำเตือนและข้อผิดพลาดของบันทึกและเราสามารถเพิ่มเข้าไปได้
‫ต่อมาในสตริงนี้ที่จะพิมพ์ออกมา
‫วิธีที่เราจะทำเช่นนี้คือ ตัวอย่างเช่น ถ้าฉันต้องการพิมพ์ระยะการเคลื่อนที่ที่กำหนดค่าไว้สำหรับแพลตฟอร์มเฉพาะซึ่งค่อนข้างตรงไปตรงมา
‫เราสามารถพูดได้ว่าระยะทางที่กำหนดค่าไว้ และนั่นคือข้อความที่จะแสดงขึ้น
‫ฉันจะใส่เครื่องหมายทวิภาคที่นี่
‫และจำไว้ว่า ทั้งหมดนี้อยู่ในเครื่องหมายคำพูดคู่เพื่อให้แน่ใจว่าเรารวมไว้ในข้อความ
‫จากนั้นเราสามารถใช้เครื่องหมายเปอร์เซ็นต์ตามด้วยอักขระ F
‫และคุณเห็นว่ามันถูกเน้นแตกต่างกันเพราะนี่คือสิ่งที่เรียกว่ารูปแบบที่ระบุที่นี่
‫เป็นสิ่งที่มาจาก C ย้อนกลับไปในประวัติศาสตร์
‫และโดยพื้นฐานแล้ว คุณทำสัญลักษณ์เปอร์เซ็นต์ แล้วก็ตัวอักษรบางตัว คุณสามารถเห็นตัวอักษรต่างๆ
‫ข้างล่างนี้
‫F สอดคล้องกับจุดทศนิยม และคุณสามารถดูตัวอย่างของผลลัพธ์ได้ในคอลัมน์ตัวอย่าง
‫และยังมีอีกหลายอย่างด้านล่างนี้ ที่เราสามารถแทนด้วย D หรือ I เป็นจำนวนเต็มทศนิยมเช่นนั้น
‫เราใช้ F เพราะเรามีเลขทศนิยม
‫แล้วสิ่งที่เราต้องทำคือเพิ่มอาร์กิวเมนต์อื่นให้กับฟังก์ชันบันทึก E
‫ดังนั้น ตรวจสอบให้แน่ใจว่าคุณกำลังดำเนินการนี้หลังจากที่คุณปิดวงเล็บสำหรับฟังก์ชันข้อความนี้แล้ว และเราจะใส่เครื่องหมายจุลภาคไว้ที่นี่แทน
‫ดังนั้นระหว่างวงเล็บทั้งสองนี้ ควรอยู่ภายในชุดนอก แต่ควรอยู่นอกชุดใน หากมีเหตุผล
‫แล้วสิ่งที่เราสามารถทำได้คือเราสามารถส่งผ่านค่าของตัวแปรของเรา ดังนั้นเราจึงสามารถทำตัวแปรระยะเคลื่อนที่ได้
‫เช่นนั้น ไปที่ Unreal และดูสิ่งนี้ในการดำเนินการ
‫ฉันกดปุ่มคอมไพล์ ปิดหน้าต่างคอมไพล์แล้วกดเล่น จากนั้นกด Tilde สองครั้งเพื่อเปิดบันทึก
‫และคุณจะเห็นระยะการเคลื่อนที่ที่กำหนดค่าไว้ของเราแสดงขึ้นสำหรับแท่นต่างๆ 505 ร้อยสำหรับแท่นเคลื่อนที่สองแท่น
‫และ 1500 สำหรับการผลักสามครั้งที่เราได้รับในที่เกิดเหตุ
‫ข้อมูลชิ้นหนึ่งที่อาจน่าสนใจหรือให้ความรู้เล็กน้อยก็คือ ก่อนหน้านี้เราเคยพูดถึงวิธีที่เรายิงเกินหรือเราพุ่งเกินระยะทางที่เคลื่อนที่
‫และมันน่าสนใจที่จะรู้ว่าระดับที่เกิดขึ้นเป็นอย่างไร
‫สิ่งที่เราทำได้คือสร้างตัวแปร float ภายในคำสั่ง if
‫ดังนั้นเราจึงรู้ว่าขณะนี้เราได้ทำเกินพิกัดแล้ว
‫เราสามารถพูดได้ว่า overshoot ตัวแปร float ที่เรียกว่า overshoot
‫เราจะกำหนดให้เท่ากับระยะทางที่เคลื่อนที่ลบระยะเคลื่อนที่
‫นั่นบอกเราว่าโอเวอร์ชูตเท่าไหร่
‫ฉันอยากให้คุณลองบันทึกตัวแปรโอเวอร์ชูตที่เราเพิ่งสร้างขึ้นที่นี่
‫ใช้ฟังก์ชันบันทึกเทศกาลคริสต์มาส
‫นี่คือการอ้างอิงอย่างน้อยประเภทของโครงสร้างที่คุณอาจจะใช้
‫คุณยังสามารถฝึกใช้บันทึกการเติมข้อความอัตโนมัติเพื่อใส่เข้าไปแทน จากนั้นคอมไพล์และทดสอบโค้ดของคุณ และดูว่ามันใช้งานได้หรือไม่
‫หยุดวิดีโอชั่วคราวและไปกันเลย
‫ตกลง.
‫ยินดีต้อนรับกลับ.
‫เราจะใช้ตัวเลือกเติมข้อความอัตโนมัติที่นี่
‫ฉันจะปิดแถบด้านข้างเพื่อให้มีพื้นที่เพิ่มขึ้นอีกเล็กน้อย
‫และภายในนี้ หากหลังจากที่เราสร้างตัวแปรแล้ว เราจะพิมพ์บันทึกของคุณและกด Enter จากนั้นเราจะปล่อยให้มันแสดง
‫เรากำลังจะทำให้แพลตฟอร์มข้อความเกินขอบเขต จากนั้นเราจะใช้เปอร์เซ็นต์ F จากนั้นระหว่างวงเล็บทั้งสองนี้
‫เราจะเพิ่มอาร์กิวเมนต์ใหม่สำหรับตัวแปรโอเวอร์ช็อต ดังนั้นตอนนี้ กลับไปที่ Unreal
‫ฉันกดปุ่มคอมไพล์ ปิดบันทึกการเข้ารหัสแบบสด กดปุ่มเล่น และแตะปุ่มตัวหนอนสองครั้งนั้น
‫และคุณจะเห็นได้ว่าทุกครั้งที่แพลตฟอร์มหันกลับมา มันจะพิมพ์ข้อความบันทึกและบอกว่ามันเกินจำนวนไปกี่หน่วย
‫ดูเน็ตได้จริง
‫มีหลายกรณีที่เกินกำลังไปบ้าง จำนวนหน่วยที่เห็นได้ชัดเจน สามหน่วยหรือ
‫0 5 ยูนิต
‫นั้นก็คือ 0 นั่นเอง 5% ถึงสามเซนติเมตร
‫ในระหว่างเกมของคุณ แพลตฟอร์มเหล่านี้อาจหลุดลอยไปบ้างก็เพียงพอแล้ว
‫และเป็นเรื่องดีที่เราได้ดำเนินการแก้ไขสำหรับสิ่งนั้นแล้ว
‫สิ่งที่ดี
‫หวังว่าตอนนี้คุณจะมีเครื่องมืออื่นในคลังแสงของคุณ สำหรับการพยายามค้นหาว่าเกิดอะไรขึ้นในโค้ดของคุณ
‫และต่อมาเมื่อคุณรู้สึกมั่นใจมากขึ้นในการสร้างโค้ดของคุณเอง พยายามหาว่าสิ่งใดใช้ไม่ได้ผล
‫โอเค แล้วเจอกันใหม่ในบทเรียนหน้า