您当前的位置: 首页 >  unity

莉萝爱萝莉

暂无认证

  • 4浏览

    0关注

    58博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Unity-Post Processing

莉萝爱萝莉 发布时间:2022-05-16 22:44:29 ,浏览量:4

1. 基础使用
  1. 在Package Manager 中安装 Post Processing
  2. 在 Project 中创建 Profile 配置文件
  3. 创建空物体,并添加 Post Process Volume 组件
  4. 将配置文件拖拽到 Volume 组件上,勾选 isGlobal 全局响应
  5. 将创建的空物体右上角定义为 Post Process Layer
  6. 选中主摄像机,添加 Post Process Layer 组件,并在组件中选择刚创建的 layer 层
2. 基础使用
  1. Ambient Occlusion 环境光遮蔽 用于增强3D游戏中的暗部效果,使画面更真实更有层次感。
  2. Bloom 辉光效果 给一个强光源一个外发的光晕
名称效果Intensity强度Threshold阈值Dirtiness光照的效果材质
  1. Chromatic Aberration 色差效果(边缘动态模糊)

  2. Vignette 边角压暗

  3. Grading Curves 色阶 (需点击overriding方可更改)

  4. Auto Exposure :自动曝光,根据图像包含的亮度级别范围动态调整图像的曝光

    名称描述Filtering过滤器,设置直方图的上下百分比,找到稳定的平均亮度。超出此范围的值将被丢弃,不会影响平均亮度。Minimum设置环境光当中最小平均亮度Maximum设置环境光当中最大平均亮度Exposure Compensation曝光补偿,设置中灰色值来补偿场景的全局曝光。

    Adaptation settings:

    名称描述Type选择适应类型。progressive的自动曝光。fix的自动曝光。Speed Up设置从黑暗环境到光明环境的适应速度.Speed Down设置从光亮环境到黑暗环境的适应速度。
3. 代码操作
  1. 常规使用
using UnityEngine;
using UnityEngine.Rendering.PostProcessing;

public class UnityEffects : MonoBehaviour
{
    void Start()
    {
        // 获取
        var volume = GetComponent();
        Vignette vignette;
        volume.profile.TryGetSettings(out vignette);
        // 修改(某一属性)值
        vignette.intensity.value = 1;
        vignette.intensity.Override(1);
    }
}
  1. 纯代码创建
using UnityEngine;
using UnityEngine.Rendering.PostProcessing;

public class UnityEffects : MonoBehaviour
{
    PostProcessVolume volume;
    Vignette vignette;

    void Start()
    {
        // 创建到内存中
        vignette = ScriptableObject.CreateInstance();
        vignette.enabled.Override(true);
        vignette.intensity.Override(1);
    }

    void OnDestroy()
    {
        // 释放
        RuntimeUtilities.DestroyVolume(volume, true, true);
    }
}

4. post-process layer 设置
  1. Anti-aliasing 反锯齿 在这里插入图片描述
关注
打赏
1663903574
查看更多评论
立即登录/注册

微信扫码登录

0.4321s