เอกสาร Steamworks
ตัวส่งคำสั่ง
ตัวส่งคำสั่งเป็นเครื่องมือที่มีประสิทธิภาพในการควบคุมลักษณะ เวลา และความถี่ในการตอบสนองของอินพุต

ตัวอย่าง: สั่งให้เกิดเหตุการณ์ "ลง" ซ้ำเมื่อกดปุ่มค้างไว้


คุณเคยเล่นเกม RPG ที่ควบคุมด้วยเมนูเป็นหลัก แล้วยากมากตอนที่ต้องกดปุ่ม "ลง" ซ้ำหลาย ๆ ครั้งเพื่อเลื่อนดูไอเท็มทีละชิ้นในรายการที่มีไอเท็มหลายร้อยชิ้นหรือเปล่า?

คุณสามารถใช้ตัวส่งคำสั่งเพื่อนิยามมาโครง่าย ๆ เช่น "ถ้าฉันกดปุ่ม 'ลง' ค้างไว้นาน 1 วินาที ให้เกิดเหตุการณ์ 'ลง' ซ้ำไปเรื่อย ๆ ทุก 0.1 วินาทีจนกว่าจะปล่อยปุ่ม" เยี่ยมเลย! คุณก็จะสามารถเลื่อนดูรายการได้อย่างรวดเร็วเพียงแค่กดปุ่มลงค้างไว้ โดยผู้พัฒนาเกมไม่จำเป็นต้องสร้างฟังก์ชันนี้ให้!

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

activator_ddown.png

เมื่อเลือกปุ่ม เราจะเห็นเมนูนี้ จากนั้นเลือก "แสดงตัวส่งคำสั่ง"

show_activators.png

จากส่วนนี้ เราจะไปที่เมนูตัวส่งคำสั่งซึ่งมีการตั้งค่าหลากหลายรูปแบบให้เลือกใช้:

activator_menu.png

ขั้นตอนแรก เราจะเลือกประเภทการสั่งงานเป็น "กดค้าง" จากนั้นเราก็จะมาตั้งค่าพฤติกรรมพิเศษให้กับการสั่งงานรูปแบบนี้กัน

activator_long_press.png

โดยค่าเริ่มต้นแล้ว ตัวส่งคำสั่งจะเชื่อมโยงกับอินพุตเดิม (ปุ่มลงของ Dpad) ซึ่งเราจะไม่แก้ไขอะไร เพราะเป็นสิ่งที่เราต้องการอยู่แล้ว และเราจะใช้ค่าเริ่มต้นของ "เวลาการกดค้าง" ที่ 0.15 วินาที

แต่จะตั้งค่า "กดค้างเพื่อป้อนคำสั่งซ้ำ (เทอร์โบ)" เป็น "On":

activator_turbo.png

เราจะใช้ค่าเริ่มต้นของ "อัตราการซ้ำ" ที่ 0.9 วินาที จากนี้ไป ทุกครั้งที่กดปุ่มลงของ Dpad และกดค้างไว้นานกว่า 0.15 วินาที คอนโทรลเลอร์จะส่งพัลส์เหตุการณ์การกดปุ่มลงของ Dpad เพิ่มหนึ่งครั้งทุก ๆ 0.9 วินาทีจนกว่าจะปล่อยปุ่ม แน่นอนว่าคุณสามารถกำหนดจังหวะเวลาเหล่านี้ได้ตามความต้องการส่วนตัว

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

การตั้งค่าของตัวส่งคำสั่ง


เรามาแจกแจงการตั้งค่าทั้งหมดที่มีให้ในระบบตัวส่งคำสั่งกัน การตั้งค่าเหล่านี้สามารถใช้งานได้กับการสั่งงานทุกประเภท:

ชื่อค่าคำอธิบาย
ประเภทการส่งคำสั่งกดปกติ กดสองครั้ง กดนาน กดเริ่ม กดปล่อย กดคอร์ด ไม่มี - ลบตัวส่งคำสั่งตัวส่งคำสั่งจะกำหนดรูปแบบการตอบสนองของอินพุตต่อคุณ โดยส่วนนี้ใช้สำหรับกำหนดรูปแบบการสั่งงานที่ต้องการ ว่าเป็นการกดแบบทั่วไป การกดค้าง หรือการดับเบิลแท็บ หรือจะลบการสั่งงานออกก็ได้
การกำหนดปุ่มอินพุต/แอ็กชันแบบดิจิทัลคุณสามารถเชื่อมโยงแอ็กชั่นต่าง ๆ กับตัวส่งคำสั่งนี้ได้ เช่น ปุ่มของคีย์บอร์ด เมาส์ และเกมแพ็ด หรือแอ็กชั่นแบบเนทิฟ
กดสลับเปิด ปิดการสลับจะทำให้ตัวส่งคำสั่งทำงานต่อไปหลังจากปล่อยปุ่มและจะหยุดทำงานเมื่อกดปุ่มอีกครั้ง
เวลาหน่วงก่อนเริ่มคำสั่ง0.0-1.0 หลังจากกดปุ่ม ตัวส่งคำสั่งจะรอเป็นเวลานานเท่านี้ก่อนแล้วจึงเริ่มทำงาน ค่านี้จะหน่วงเวลาการกดปุ่มค้างออกไปทั้งช่วง ดังนั้น หากไม่ได้กำหนดเวลาหน่วงในการหยุดทำงาน ระยะเวลารวมของการกดปุ่มค้างจะนานเท่าเดิม แค่ปุ่มจะเริ่มทำงานช้าเท่านั้น
เวลาหน่วงหลังจบคำสั่ง0.0-1.0 หลังจากปล่อยปุ่ม ตัวส่งคำสั่งจะรอเป็นเวลานานเท่านี้ก่อนแล้วจึงหยุดทำงาน เวลาหน่วงในการหยุดทำงานจะช่วยให้ปุ่มสามารถทำงานต่อไปได้นานกว่าการใช้นิ้วกดปุ่มจริง ๆ
แรงสั่นแฮปติกปิด ต่ำ กลาง สูงการตั้งค่านี้สามารถกำหนดความแรงของการสั่นแบบแฮปติกบนการเปิดใช้งานและปิดใช้งานของตัวส่งคำสั่ง
การกำหนดคำสั่งแบบวนรอบเปิด ปิดการกำหนดคำสั่งแบบวนรอบจะกำหนดให้ตัวส่งคำสั่งนี้วนตามลำดับที่เชื่อมโยงไว้ทุกครั้งที่ใช้งาน ลำดับการทำงานจะยึดตามลำดับการเลือกในระหว่างกระบวนการเชื่อมโยงปุ่ม

ต่อไปนี้คือคำอธิบายเกี่ยวกับตัวส่งคำสั่งชนิดต่าง ๆ:

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

การตั้งค่าเหล่านี้สามารถใช้ได้กับการสั่งงานบางประเภทเท่านั้น:

ชื่อค่าประเภทการส่งคำสั่งคำอธิบาย
ขัดจังหวะได้ปิด เปิดการกดปกติ การกดปล่อยตัวส่งคำสั่งอื่น ๆ สามารถหยุดชั่วคราวหรือหยุดถาวรตัวส่งคำสั่งแบบขัดจังหวะได้ ตัวอย่างเช่น ตัวส่งคำสั่งการกดนานสามารถขัดจังหวะตัวส่งคำสั่งการกดเต็มได้ เพื่อให้การกดเต็มส่งคำสั่งเมื่อการกดนานไม่ได้ส่งเท่านั้น หากตัวส่งคำสั่งแบบขัดจังหวะได้มีค่าเป็น "ปิด" ตัวส่งคำสั่งจะเพิกเฉยต่อพฤติกรรมของตัวส่งคำสั่งอื่น ๆ
เวลาการแตะสองครั้ง0.0-1.0กดสองครั้งกำหนดความเร็วที่คุณจะต้องแตะสองครั้งเพื่อสั่งงานตัวส่งคำสั่ง ตัวส่งคำสั่งแบบขัดจังหวะได้ใด ๆ ก็ตามที่อยู่กับอินพุตนี้ด้วยจะไม่ส่งคำสั่งจนกว่าจะพ้นช่วงเวลานี้ไป
เวลาการกดนาน0.0-1.0กดนานกำหนดว่าคุณจะต้องกดปุ่มนานเท่าใดเพื่อสั่งงานตัวส่งคำสั่ง ตัวส่งคำสั่งแบบขัดจังหวะได้ใด ๆ ก็ตามที่อยู่บนการควบคุมนี้ด้วยจะไม่ส่งคำสั่งจนกว่าจะปล่อยปุ่มก่อนถึงช่วงเวลานี้ และจะไม่ส่งคำสั่งเลยหากการกดนานได้ส่งคำสั่งไปแล้ว
กดค้างเพื่อกดซ้ำ (เทอร์โบ)เปิด ปิดกดปกติ กดสองครั้ง กดนานเทอร์โบจะช่วยให้ตัวส่งคำสั่งนี้เปิดใช้งานและยกเลิกการทำงานได้อย่างรวดเร็วในขณะที่กดค้างไว้ สามารถใช้ร่วมกับการกำหนดคำสั่งแบบวนรอบได้
อัตราการกดซ้ำ0.0-1.0กดปกติ กดสองครั้ง กดนานความเร็วของเทอร์โบจะกำหนดโดยตัวเลื่อนนี้