เปลี่ยนความละเอียดของเกม
สภาพแวดล้อมการตรวจสอบ
- หน้าต่าง
-
- หน้าต่าง 11
- บรรณาธิการ Unity
-
- ปี 2021.3.1f1
- แพ็คเกจระบบอินพุต
-
- 1.3.0
ข้อกําหนดเบื้องต้นสําหรับเคล็ดลับนี้
การตั้งค่าต่อไปนี้ถูกกําหนดค่าไว้ล่วงหน้าเป็นข้อกําหนดเบื้องต้นสําหรับคําอธิบายของเคล็ดลับเหล่านี้
การระบุความละเอียดเมื่อเริ่มเกม
คุณสามารถตั้งค่าความละเอียดเมื่อเริ่มเกมได้จากการตั้งค่าโปรเจ็กต์ อย่างไรก็ตามมีข้อ จํากัด เช่นสมมติฐานโหมดหน้าต่างดังนั้นหากคุณต้องการตั้งค่าอย่างน่าเชื่อถือฉันคิดว่าการตั้งค่าโดยโปรแกรมที่อธิบายไว้ในภายหลังมีความน่าเชื่อถือมากขึ้น
ในการดําเนินการนี้ให้เลือกแก้ไข - >การตั้งค่าโครงการจากเมนู
เลือก "ผู้เล่น" จากเมนูด้านซ้าย
ที่ด้านล่างคุณจะพบการตั้งค่าสําหรับแต่ละสภาพแวดล้อม ตัวอย่างเช่นหากไอคอนแสดงผลทางด้านซ้ายสุดคือการตั้งค่าของสภาพแวดล้อมพีซีเช่น Windows
"ความละเอียดและการแสดงผล" ถูกยุบอยู่ภายในดังนั้นคลิกเพื่อขยายและเลือก "หน้าต่าง" จาก "โหมดเต็มหน้าจอ" ในกลุ่มความละเอียด
จากนั้น "ความกว้างหน้าจอเริ่มต้น" และ "ความสูงหน้าจอเริ่มต้น" จะปรากฏขึ้นเพื่อให้คุณสามารถตั้งค่าความละเอียด (= ขนาดหน้าจอ) ได้ที่นี่ การตั้งค่านี้สามารถตั้งค่าได้ในโหมดหน้าต่างเท่านั้น
มีการตั้งค่าในสภาพแวดล้อมอื่น ๆ ดังนั้นโปรดตรวจสอบ แผนภาพต่อไปนี้แสดงการกําหนดค่าใน WebGL ความละเอียด = ขนาดของผืนผ้าใบ
เรียกใช้และตรวจสอบ
ฉันไม่สามารถตรวจสอบว่าถูกต้องหรือไม่แม้ว่าฉันจะเรียกใช้ใน Unity Editor ดังนั้นฉันจะส่งออกเกมและตรวจสอบ สําหรับคําแนะนําโดยละเอียด โปรดดู เคล็ดลับสําหรับเอาต์พุตเกม
ตรวจสอบให้แน่ใจว่าแสดงบนขนาดหน้าจอที่ระบุ
อย่างไรก็ตาม แม้ว่าคุณจะเปลี่ยนค่าขนาด ขนาดอาจไม่เปลี่ยนแปลง นี่เป็นเพราะตัวเกมเองจําความละเอียดก่อนหน้านี้ได้ หากคุณต้องการตรวจสอบให้แน่ใจว่าจอแสดงผลอยู่ที่ความละเอียดที่ระบุจะมีความน่าเชื่อถือมากขึ้นในการเปลี่ยนด้วยโปรแกรมที่อธิบายไว้ด้านล่าง
เปลี่ยนความละเอียดจากโปรแกรม
ที่นี่ฉันต้องการเตรียมหน้าจอต่อไปนี้และควบคุมโดยทางโปรแกรมเพื่อให้ความละเอียดเปลี่ยนไปเมื่อคลิกปุ่มแต่ละปุ่ม สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีจัดการ UI และปุ่มต่างๆ โปรดดูที่ เคล็ดลับ UI
นี่คือสิ่งที่จะเกิดขึ้นเมื่อคุณคลิกปุ่มแต่ละปุ่ม:
using UnityEngine;
public class ButtonEvent : MonoBehaviour
{
public void OnClick_960x540()
{
// 横幅 pixel、縦幅 pixel、ウィンドウモード、リフレッシュレート(Hz) を指定
// ウィンドウモードの場合、ウィンドウサイズも変わる
Screen.SetResolution(960, 540, FullScreenMode.Windowed, 60);
}
public void OnClick_1280x720()
{
// 横幅 pixel、縦幅 pixel、ウィンドウモード、リフレッシュレート(Hz) を指定
// ウィンドウモードの場合、ウィンドウサイズも変わる
Screen.SetResolution(1280, 720, FullScreenMode.Windowed, 60);
}
public void OnClick_1600x900()
{
// 横幅 pixel、縦幅 pixel、ウィンドウモード、リフレッシュレート(Hz) を指定
// ウィンドウモードの場合、ウィンドウサイズも変わる
Screen.SetResolution(1600, 900, FullScreenMode.Windowed, 60);
}
}
สําหรับสองวิธีด้านล่างความแตกต่างเพียงอย่างเดียวคือหมายเลขความละเอียด
Screen.SetResolution
คุณสามารถเปลี่ยนความละเอียดได้โดยระบุ "ความกว้างความละเอียด (px)", "ความสูงความละเอียด (px)", "โหมดเต็มหน้าจอ" และ "อัตราการรีเฟรช (Hz)" ในอาร์กิวเมนต์เมธอดตามลําดับ
คราวนี้จะถูกตั้งค่าในโหมดหน้าต่าง แต่สามารถตั้งค่าได้ในลักษณะเดียวกันในโหมดเต็มหน้าจอ
หากคุณต้องการบังคับให้ตั้งค่าเมื่อเกมเริ่มขึ้นฉันคิดว่าคุณสามารถจัดการกับมันได้ด้วยวิธีสคริปต์ที่แนบมากับวัตถุบางอย่างใน awake
ฉากแรก
เรียกใช้และตรวจสอบ
ฉันคิดว่าคุณจะเห็นว่าการคลิกปุ่มแต่ละปุ่มจะเปลี่ยนความละเอียด (+ ขนาดหน้าต่าง)