Version: 2020.3
言語: 日本語
public static void Viewport (Rect pixelRect);

説明

レンダリングビューポートを設定します。

すべてのレンダリングは渡された pixelRect の内部に限られます。 ビューポートを変更した場合、内部のすべてのレンダリングされたコンテンツが引き伸ばされます。

using UnityEngine;

public class Example : MonoBehaviour { // Draw a red Quad that covers all the view port, and the when space is pressed // the viewport gets expanded to the whole screen and stretch the contents inside Material mat; bool stretch = false;

void Update() { if (Input.GetKeyDown(KeyCode.Space)) { if (stretch) { stretch = false; } else { stretch = true; } } }

void OnPostRender() { if (!mat) { Debug.LogError("Please Assign a material on the inspector"); return; } GL.PushMatrix(); mat.SetPass(0); GL.LoadPixelMatrix(); if (stretch) { GL.Viewport(new Rect(0, 0, Screen.width, Screen.height)); } else { GL.Viewport(new Rect(0, 0, Screen.width / 2, Screen.height)); } GL.Color(Color.red); GL.Begin(GL.QUADS); GL.Vertex3(0, 0, 0); GL.Vertex3(0, Screen.height, 0); GL.Vertex3(Screen.width, Screen.height, 0); GL.Vertex3(Screen.width, 0, 0); GL.Color(Color.yellow); GL.End(); GL.Begin(GL.TRIANGLES); GL.Vertex3(Screen.width / 2, Screen.height / 4, 1); GL.Vertex3(Screen.width / 4, Screen.height / 2, 1); GL.Vertex3(Screen.width - Screen.width / 4, Screen.height / 2, 1); GL.End(); GL.PopMatrix(); } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961