‫สวัสดีและยินดีต้อนรับ.
‫ในการบรรยายนี้ เราจะเรียนรู้เกี่ยวกับสิ่งที่เรียกว่าวัตถุโลก ซึ่งเป็นวัตถุที่สำคัญมากใน
‫Unreal
‫ฉันจะดูว่าเราจะหาเวลาปัจจุบันในเกมของเราจากวัตถุนี้ได้อย่างไร และพิมพ์ไปยังคอนโซลเมื่อสิ้นสุดการบรรยายนี้
‫มาดำดิ่งกันและดูว่ามันทำงานอย่างไร
‫ดังนั้นเพื่อที่จะสามารถทำเส้นตามรอยหรือกวาดล้างได้ เราจำเป็นต้องเข้าใจแนวคิดอื่น
‫วัตถุประเภทอื่นที่มีอยู่ในดินแดนที่ไม่จริง และวัตถุนั้นก็คือโลก
‫ดังนั้นเราจึงได้จัดการกับระดับต่างๆ มากมาย
‫ดังนั้นถ้าเราไปจับฉลากเนื้อหา เราก็ได้จัดการกับแผนที่เช่นกัน
‫ดังนั้นแผนที่และระดับที่เราได้พูดคุยกันนั้นมีความหมายเหมือนกัน
‫อย่างไรก็ตาม โลกก็อยู่ที่นั่นในตอนเริ่มต้น
‫ในการเริ่มต้นคือโลกใหม่และโลกใหม่เป็นประเภท เป็นชั้นเรียนสำหรับสภาพแวดล้อมโดยทั่วไปที่เราเห็นเมื่อเราเล่นเกม
‫แต่ไม่จำเป็นต้องเพียงระดับเดียว
‫คุณสามารถโหลดระดับที่เรียกว่าระดับคุณใน C++ ซึ่งเป็นเพียงชุดของนักแสดงที่เราควรนำมาสู่โลกใหม่
‫ดังนั้นคุณจึงสามารถโหลดระดับเข้าสู่โลกของคุณได้ แต่ไม่จำเป็นต้องมีเพียงระดับเดียว
‫คุณสามารถโหลดได้หลายระดับในโลกเดียว
‫และนั่นเป็นเพราะว่าบ่อยครั้งที่เรามีระดับการสตรีมเหล่านี้ เรามีระดับที่ใหญ่มากที่เราไม่ต้องการโหลดทุกอย่าง
‫นักแสดงทุกคนเข้าสู่ระดับในครั้งเดียวด้วยเหตุผลด้านประสิทธิภาพ
‫ดังนั้นเราจึงแบ่งมันออกเป็นหลายระดับ และทำให้เราสามารถใส่เฉพาะบางส่วนของฉากได้ตามต้องการ
‫ดังนั้นถ้าเราดูที่หน้าเอกสารประกอบใน New World ฉันคิดว่ามันอธิบายโดยย่อว่าโลกเป็นวัตถุระดับบนสุดที่แสดงถึงแผนที่หรือแซนด์บ็อกซ์ที่นักแสดงและส่วนประกอบจะมีอยู่และแสดงผล
‫และถ้าคุณมองลึกลงไปอีกหน่อย ก็บอกว่าโลกสามารถเป็นระดับเดียวถาวร
‫โดยทั่วไปหมายถึงระดับที่จะอยู่ที่นั่นตลอดเวลาหรืออาจมีรายการตัวเลือกระดับการสตรีมหรือระดับพื้นฐานที่สามารถโหลดได้ทุกเมื่อที่เราต้องการ
‫.
‫ทีนี้ เหตุใดสิ่งนี้จึงน่าสนใจ
‫เป็นเรื่องที่น่าสนใจเพราะทำให้เราสามารถทำการติดตามเส้นได้
‫หากเราค้นหาเอกสารที่นี่สำหรับการติดตามบรรทัด คุณจะเห็นว่ามีฟังก์ชันมากมายที่นี่
‫โดยเฉพาะอย่างยิ่งสิ่งที่น่าสนใจที่สุดสำหรับเราคือการติดตามบรรทัดทีละช่องหรือการติดตามบรรทัดแบบหลายช่องตามช่องทาง
‫ซึ่งช่วยให้เราตามลำดับ เพื่อจับวัตถุแรกที่โดนหรือวัตถุทั้งหมดที่โดนโดยการติดตามเส้น
‫และคุณจะเห็นว่ารายการอาร์กิวเมนต์ โดยเฉพาะอย่างยิ่งถ้าฉันดูที่การติดตามบรรทัดเดียว
‫รายการอาร์กิวเมนต์มีจุดเริ่มต้น มีจุดสิ้นสุด มีแชนเนลการติดตามที่จะทำการติดตาม
‫และมันให้ผลลัพธ์ในรายการพารามิเตอร์ ซึ่งค่อนข้างแปลกและเราจะพูดถึงมันในไม่ช้า
‫แต่อย่างไรก็ตาม นี่คือการติดตามเส้น
‫เรายังมีความสามารถที่จะทำการกวาด
‫ดังนั้นหากเราค้นหาการกวาด คุณจะเห็นว่ามีแชนเนลการกวาดหลายช่อง
‫นอกจากนี้ยังมีการกวาดทีละช่อง
‫และที่นี่ เช่นเดียวกับจุดเริ่มต้นและจุดสิ้นสุด คุณยังมีรูปแบบการชนกันของรูปร่างการชนที่คุณสามารถผ่านเข้าไปได้
‫โดยพื้นฐานแล้วหากเราคลิกที่รูปร่างการชนกันของ F นั้น คุณสามารถทำตามในเอกสารประกอบใน
‫Unreal เพื่ออ่านเพิ่มเติมเกี่ยวกับมัน และคุณจะเห็นว่าโดยพื้นฐานแล้วรูปร่างการชนกันของ F รองรับการเป็นกล่องแคปซูลทรงกลมหรือเส้น
‫เราจะใช้ทรงกลมในกรณีของเราอย่างนั้น และเราจะมาดูวิธีสร้างสิ่งเหล่านี้ในภายหลัง
‫แต่คุณสามารถเห็นได้ว่าทำไมเราถึงต้องการครอบครองโลกใหม่นั้น เหตุใดจึงสำคัญสำหรับเรา
‫แต่คำถามคือเราจะเข้าถึงโลกใหม่ได้อย่างไร?
‫และเมื่อเราจับมันได้แล้ว เราจะใช้มันอย่างไร?
‫ไปดูโค้ด Visual Studio กันดีกว่า
‫ในทุกองค์ประกอบและนักแสดงทุกคน มีฟังก์ชันที่เรียกว่า Get World
‫และถ้าคุณพิมพ์ get world แล้วใส่วงเล็บ ก็จะส่งคืนอ็อบเจกต์ประเภท U world
‫อันที่จริง ตัวชี้ไปยังวัตถุประเภทโลกใหม่
‫เลยเอามาเก็บไว้
‫เรามีตัวชี้โลกใหม่ ซึ่งเราจะเรียกมันว่าโลกใช่ไหม
‫และนั่นก็เท่ากับได้โลก
‫แล้วเราก็ใส่เครื่องหมายอัฒภาคต่อท้ายได้
‫ทีนี้ เพื่อที่จะได้อะไรจากโลกนี้ เราจะใช้ตัวดำเนินการลูกศร
‫เรากำลังจะทำ World Arrow และจากนั้นเราก็จะสามารถไปดูรายละเอียดบางอย่างของโลกนั้นได้
‫แต่ก่อนที่เราจะทำอย่างนั้น เราจำเป็นต้องรวมไฟล์ส่วนหัวของมันด้วย เพราะไม่เช่นนั้นไฟล์ C++
‫นี้ เมื่อคอมไพเลอร์เข้าถึงไฟล์นั้น จะไม่ทราบว่ามีอะไรรวมอยู่ในประเภทโลกใหม่
‫ไม่มีข้อมูลเกี่ยวกับโลกใหม่เลย
‫เพื่อแก้ไขปัญหานั้น เราต้องดูเอกสารของเราสำหรับ New World
‫เลื่อนไปที่ด้านบนสุดแล้วมองหาที่ที่มันอยู่
‫รวมถึงและนั่นทำให้เรารวมที่เราจำเป็นต้องใช้ คุณสามารถดูได้รวมถึงเครื่องยนต์เสนอราคา Ford slash
‫world นั่นคือสิ่งที่เราต้องการ ดังนั้นเราจะใส่มันหลังจากที่ฉันคว้า H ที่นี่ และตอนนี้ถ้าเรากดพื้นที่ควบคุม เราควรจะได้
‫รายการของสิ่งที่เราสามารถทำได้กับโลกนี้โดยเฉพาะ
‫และมีมากมายที่เรามี
‫เห็นได้ชัดว่าเราสามารถหาเส้นของเราได้ เราสามารถหาการกวาดของเราได้หลายแบบหรือแบบเดี่ยว
‫เลยอยากท้าให้คุณพิมพ์ไทม์แลปส์
‫นี่คือคุณสมบัติที่มีอยู่ในวัตถุ New World
‫คุณจะพบคุณสมบัติเวลาวินาทีที่อ่านเกี่ยวกับมันในเอกสารที่เชื่อมโยงกับการบรรยายนี้และเก็บไว้ในตัวแปรประเภทที่เหมาะสม
‫อีกครั้ง การดูเอกสารประกอบจะบอกคุณว่าควรเป็นประเภทใด จากนั้นบันทึกไปที่คอนโซลอีกครั้งโดยใช้รูปแบบที่เหมาะสม
‫ระบุวิดีโอหยุดชั่วคราวและไปได้เลย
‫โอเค ยินดีต้อนรับกลับ
‫ดังนั้นเราจะใช้สิ่งนี้ในและถ้าฉันค้นหาเวลาในเอกสารโลกใหม่คุณจะเห็นว่ามีทศนิยมเรียกว่าเวลาเป็นวินาที
‫นั่นคือสิ่งที่ฉันต้องการในกรณีนี้คือเวลาเล่นเกม
‫ดังนั้นหากคุณชะลอหรือเร่งเวลา สิ่งนี้ก็จะช้าลงหรือเร็วขึ้นเช่นกัน
‫แต่มีบางอย่างที่ไม่ได้รับผลกระทบ
‫มีความแตกต่างกัน
‫คุณมีเวลา วินาที เวลายกเลิกการหยุด วินาที
‫นอกจากนี้ยังมีวินาทีแบบเรียลไทม์ที่ไม่มีการหยุดชั่วคราวหรือเปลี่ยนแปลงแต่อย่างใด
‫ผมเลยสนใจเวลาเป็นวินาที
‫ไม่สำคัญหรอกว่าอันไหนที่เราใช้เพราะว่ามันลอยอยู่ทั้งหมดอยู่แล้ว
‫ฉันจะสร้างทุ่นที่เรียกว่า Time และเก็บ World Arrow Time
‫พูดสั้นๆ ในเวลาสั้นๆ ว่า เราไม่จำเป็นต้องใส่โลกให้อยู่ในตัวแปรของตัวเอง
‫มันค่อนข้างสั้นพอที่จะเรียก get world
‫นั่นคือสิ่งที่เรามักจะทำ
‫จะได้รับโลกแล้วลูกศรเวลาวินาทีเช่น
‫ตอนนี้เราสามารถทำบันทึก ซึ่งเราจะบอกว่าเวลาปัจจุบันคือ แล้วเราจะทำเป็นเปอร์เซ็นต์ F เพราะเรากำลังพิมพ์เลขทศนิยมตรงนี้
‫แล้วเราก็ให้เวลาเป็นอินพุตได้ ลงในบันทึก
‫ตอนนี้ ไปควบคุม alt f 11 กับโค้ดจริง จากนั้นเราจะเปิดและเชื่อมต่อบันทึกเอาต์พุต
‫และกดเล่น
‫และคุณจะเห็นว่าเรามีเวลาปัจจุบันซึ่งกำลังนับขึ้นเป็นวินาทีเมื่อเวลาผ่านไปในเกมของเราเช่นนั้น
‫และถ้าเรากดปุ่มหยุดชั่วคราว คุณจะสังเกตเห็นว่าเวลาหยุดเดิน และถ้าเรากดปุ่มเล่น
‫มันก็จะเล่นต่อจากที่ที่เราอยู่
‫เขาต้องการ.
‫คุณสามารถทดลองโดยใช้วินาทีแบบเรียลไทม์และดูว่าผลกระทบนั้นเกิดขึ้นหรือไม่
‫แต่ฉันจะไม่ไปที่นี่
‫เราได้แสดงให้เห็นว่าเราสามารถจับวัตถุโลกใหม่นี้ วัตถุโลกนี้ที่เราอยู่ในขณะนี้
‫และเราสามารถได้รับคุณสมบัติจากมันโดยใช้ลูกศรของเรา
‫โอเปอเรเตอร์ตบหลังตัวเอง แล้วเจอกันในการบรรยายครั้งต่อไป