‫สวัสดีและยินดีต้อนรับ.
‫ในการบรรยายนี้ เราจะมาทำงานเกี่ยวกับ AI Focus
‫นั่นคือฟังก์ชันที่สร้างขึ้นใน Unreal ที่เราสามารถใช้เพื่อให้แน่ใจว่าตัวละคร AI ของเราติดตามเราทั่วโลกสามารถเล็งมาที่เราได้ไม่ว่าเราจะไปที่ไหน
‫มาดูกันว่าโฟกัสทำงานอย่างไร
‫ตอนนี้ฉันไม่ค่อยได้ทำอะไรมาก
‫และฉันคิดว่าจุดเริ่มต้นแรกสำหรับการทำสิ่งใดๆ ก็คือให้หันกลับมาเผชิญหน้ากับผู้เล่นของเรา
‫ในการทำสิ่งนี้ เราสามารถใช้ฟังก์ชัน AI ในตัวซึ่งกำหนดจุดโฟกัสได้
‫ดังนั้นหากคุณได้ดูการควบคุม AI และมองหาการตั้งค่าโฟกัส มีวิธีการที่เกี่ยวข้องสองสามวิธีที่นี่
‫หนึ่งคือการกำหนดจุดโฟกัส อีกอันหนึ่งคือการกำหนดโฟกัส และอีกอันหนึ่งคือการกำหนดจุดโฟกัสที่ชัดเจน
‫แนวคิดในที่นี้คือคุณสามารถบอกตัวควบคุม AI ได้ว่าควรพยายามโฟกัสที่จุดใดจุดหนึ่งหรือควรพยายามเน้นที่นักแสดงคนใดคนหนึ่ง
‫หากคุณเลือกอย่างหลัง หากคุณเลือกที่จะมุ่งเน้นไปที่นักแสดง สิ่งที่จะเกิดขึ้นก็คือเมื่อนักแสดงคนนั้นเคลื่อนไหว
‫คุณจะมุ่งความสนใจไปที่นักแสดงคนนั้นต่อไป
‫หากคุณเลือกโฟกัสที่จุดใดจุดหนึ่ง คุณจะยังคงเน้นที่จุดนั้นต่อไป
‫แต่ถ้าจุดนั้นคือที่ตั้งของนักแสดง เมื่อนักแสดงนั้นเคลื่อนไหว จุดนั้นก็จะไม่ได้รับการอัพเดท
‫ดังนั้นโดยทั่วไปแล้วจุดโฟกัสมีไว้สำหรับสิ่งที่ได้รับการแก้ไขในโลก นักแสดงสำหรับสิ่งต่าง ๆ ที่เคลื่อนไหวไปมานั้นสมเหตุสมผล
‫แล้วเราก็มีฟังก์ชันโฟกัสที่ชัดเจนตรงนี้ ซึ่งบอกเราว่าเราควรหยุดโฟกัสไปที่บางสิ่ง
‫นั่นคือวิธีการทำงาน
‫คุณตั้งโฟกัส คุณโฟกัสชัดเจน
‫ตอนนี้มีตัวแปรลำดับความสำคัญในนี้ซึ่งเราจะพูดถึงกันเล็กน้อย
‫แต่แนวคิดก็คือ คุณมีลำดับความสำคัญต่างกัน
‫เรามี enum นี้ซึ่งโดยค่าเริ่มต้นในการตั้งค่าโฟกัสและการตั้งค่าจุดโฟกัสถูกตั้งค่าเป็นการเล่นเกม
‫ถ้าเราไปดูคำจำกัดความของ enum นั้น คุณจะเห็นว่ามีการย้ายเริ่มต้นและรูปแบบการเล่น และโดยพื้นฐานแล้วจะมีการระบุไว้ในลำดับความสำคัญ
‫ดังนั้นการเล่นเกมจะมีลำดับความสำคัญสูงสุด
‫หากคุณตั้งค่าบางอย่างให้เป็นเกมเพลย์ นั่นคือสิ่งที่จะพิจารณา
‫หากการเล่นเกมไม่ได้ถูกตั้งค่าเพราะคุณล้างลำดับความสำคัญในการเล่นเกม มันก็จะดูว่ามันจะไปทางไหนและถ้าไม่เคลื่อนที่ไปไหน
‫มันจะดูที่ลำดับความสำคัญเริ่มต้น ซึ่งอาจอยู่ไกลออกไป
‫ดังนั้นหากคุณมียามที่มีพฤติกรรมการลาดตระเวน เขาจะเริ่มต้นมองหาตำแหน่งที่จะย้ายไปทันทีเมื่อเขาไปถึงที่นั่น
‫คุณสามารถตั้งค่าจุดเริ่มต้นเพื่อให้เขาดูได้
‫ไม่รู้สิ บางทีเขาอาจกำลังดูทางเข้าโซนเฉพาะของเขา หรืออะไรประมาณนั้น
‫อย่างไรก็ตาม นี่คือสิ่งที่จัดลำดับความสำคัญทั้งหมดเกี่ยวกับ
‫อย่างที่ฉันพูด เราไม่จำเป็นต้องใช้มันมากเกินไปเพราะส่วนใหญ่เราจะใช้ฟังก์ชันการเล่นเกมนี้เพื่อบอกว่า
‫เฮ้ มีสิ่งที่น่าสนใจเกิดขึ้นที่นั่น
‫มีผู้เล่นอยู่แล้ว ไปดูเขากัน
‫สิ่งแรกที่เราจะทำคือเราจะเริ่มเล่นบนคอนโทรลเลอร์ AI ของเรา เพื่อให้เราสามารถโฟกัสไปที่
‫Begin Play ได้
‫นี่เป็นเพียงการแสดงให้เราเห็นว่าฟังก์ชันนี้ทำงานอย่างไร
‫ดังนั้น Begin Play อย่างที่เราคงเคยเห็นมาก่อน มันเป็นฟังก์ชันที่มีการป้องกัน
‫ดังนั้นเราจึงจำเป็นต้องสร้างส่วนที่ได้รับการป้องกัน จากนั้นเราต้องการให้โมฆะเสมือนของเราเริ่มเล่น
‫เราจะใส่คำสำคัญแทนที่เพื่อความปลอดภัยที่นี่ จากนั้นเราจะดำเนินการต่อและสร้างการใช้งานใน
‫C ++
‫และเราต้องการที่จะเรียกร้องให้ super start play เพราะนั่นเป็นแนวปฏิบัติที่ดีเสมอ เพราะไม่เช่นนั้น สิ่งต่างๆ
‫ในพิมพ์เขียวจะผิดพลาด
‫หากคุณลืมทำเช่นนี้ หากคุณเคยมีปัญหากับพิมพ์เขียวหลังจากสร้างเกมเริ่มแล้ว ให้ตรวจสอบว่าคุณกำลังโทรหา
‫super
‫และเมื่อถึงจุดนี้ สิ่งที่เราต้องการจะทำคือจับตัวผู้จำนำและตั้งโฟกัสไปที่มัน
‫ในการจับตัวผู้จำนำ เราสามารถใช้ฟังก์ชันจากส่วนหัวสแตติกของการเล่นเกม ซึ่งหากคุณวางเมาส์เหนือสิ่งนี้หรือค้นหาในตัวควบคุม
‫p เพื่อค้นหาสถิตยภาพการเล่นเกม คุณจะพบว่าสิ่งนี้อยู่ภายใต้สถิตย์ของเกมเพลย์สแลชไปข้างหน้าของ
‫kismet
‫ดังนั้นเราจะกลับไปที่มือปืนที่ฉันควบคุม CP และรวมไว้ด้วย
‫รวมแฮชแล้วมันจะเป็น kismet forward slash gameplay statics จากนั้นเราควรจะทำ U gameplay
‫statics ของเราและใช้ฟังก์ชั่นจากที่นี่ซึ่งฉันพบว่ามีประโยชน์มากคือการรับผู้เล่นซึ่งจะกลับมาเป็น
‫ตัวชี้ไปยังผู้เล่นจำนำ
‫และทำได้โดยใช้วัตถุบริบทโลกและดัชนีผู้เล่น
‫ในกรณีของเรา เราจะหาผู้เล่นที่เป็นศูนย์
‫มาเล่นเบี้ยและรับโลกกันเถอะ
‫จากนั้นเราจะมองหาดัชนีศูนย์ และเราจะบันทึกสิ่งนี้ลงในตัวแปร ตัวจำนำ
‫ที่จะเป็นผู้เล่น -- ชอบ
‫นั่นคือสิ่งที่เราต้องการเน้น
‫ดังนั้นจึงเป็นเวลาท้าทายสำหรับคุณในการกำหนดโฟกัส
‫ใช้เครื่องเล่น -- ที่เราเพิ่งใช้ฟังก์ชันการเรียก ตั้งค่า โฟกัส และทดสอบมันในโลกของเกมเพื่อดูว่าคุณเคลื่อนที่ไปรอบๆ
‫ตัวละครต่างๆ ของเราหรือไม่
‫พวกเขาจะติดตามคุณหรือไม่
‫สายตาของพวกเขาจะติดตามคุณหรือไม่?
‫หยุดวิดีโอชั่วคราวและค้นหา
‫ตกลง.
‫ยินดีต้อนรับกลับ.
‫หวังว่ามันจะไม่ยากเกินไป
‫เราต้องเรียก set focus เพราะ set focus อยู่ที่ parent
‫เราไม่ต้องหาตัวชี้ใด ๆ ที่นี่
‫เราตั้งโฟกัสแล้วได้อะไรมาบ้าง?
‫โดยพื้นฐานแล้วเราจำเป็นต้องใส่นักแสดงเพราะลำดับความสำคัญได้รับการตั้งค่าเริ่มต้นสำหรับการเล่นเกมแล้ว
‫ซึ่งเป็นสิ่งที่เราต้องการอยู่แล้ว ดังนั้นเราสามารถส่งผ่านจำนำผู้เล่นของเราได้ และนั่นควรเป็นคนที่เรามุ่งเน้น
‫ดังนั้นไปข้างหน้าและสร้าง
‫เสร็จแล้วก็ไปเล่น Unreal กัน
‫ด้วยเหตุผลบางอย่างฉันยังมีจุดวางไข่ที่น่ารำคาญอยู่ที่นี่
‫ไปข้างหน้าและลบมันออก และทำให้แน่ใจว่าเรากำลังวางไข่ใกล้กับตัวละครในสายตาของเรา
‫ไปเลย.
‫ไปดูกันเถอะ เดินไปรอบๆ ตัวละครตัวนี้ และในทันใดฉันก็เห็นได้ว่าเขากำลังหันหน้าเข้าหาตัวรับจำนำของฉันไม่ว่าที่ใดที่เบี้ยของฉันจะนำไป
‫นั่นคือจุดเริ่มต้นของ AI บางส่วน
‫ฉันรู้ว่ามันไม่มาก แต่เราจะพยายามทำให้เรื่องนี้ลึกซึ้งยิ่งขึ้นในการบรรยายครั้งต่อไป
‫ฉันจะไปพบคุณที่นั่น.