📅  最后修改于: 2023-12-03 15:35:29.853000             🧑  作者: Mango
Unity针对高动态范围(HDR)的脚本旨在帮助程序员处理HDR图像。这种类型的图像拥有比标准图像更高的亮度和对比度范围。
使用HDR脚本可以:
HDR脚本的实现如下代码所示:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Camera))]
public class HDRScript : MonoBehaviour {
[Range(0,8)]
public float exposure = 1;
[Range(0,1)]
public float gamma = 1;
void OnRenderImage(RenderTexture src, RenderTexture dest) {
//把src的图像转到Bloom材质中
Material mat = new Material(Shader.Find("Hidden/HDRShader"));
mat.SetFloat("_Exposure", exposure);
mat.SetFloat("_Gamma", gamma);
Graphics.Blit(src, dest,mat);
}
}
要使用HDR脚本在Unity中的场景中,程序员需要将其添加为场景中的游戏对象的组件之一,并将脚本属性填好。在场景运行时,HDR脚本会自动渲染所有对象并在渲染时应用所选属性,以创建更加生动的HDR图像。
void Start() {
HDRScript script = Camera.main.gameObject.AddComponent<HDRScript>();
script.exposure = 2;
}
Unity HDR脚本是一种非常有用的工具,它可以将普通图像升级为高动态范围图像,从而使图像的细节更加丰富,色彩更加明亮,锐度更加突出。具有所需属性的HDR脚本可以添加到场景中的游戏对象中,以便在场景运行时自动应用所选属性并渲染所有对象。