เปลี่ยนความละเอียดของเกม

ปรับปรุงหน้า :
วันที่สร้างเพจ :

สภาพแวดล้อมการตรวจสอบ

หน้าต่าง
  • หน้าต่าง 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 ฉากแรก

เรียกใช้และตรวจสอบ

ฉันคิดว่าคุณจะเห็นว่าการคลิกปุ่มแต่ละปุ่มจะเปลี่ยนความละเอียด (+ ขนาดหน้าต่าง)