You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Unity中上传Color Look-Up Table至NReal眼镜实现滤镜效果?

用自定义LUT为NReal眼镜制作滤镜的实操方案

前置准备

  • 确认你的3个Color Look-Up Table(LUT)符合Unity要求:分辨率为256×16或1024×32的PNG/TGA格式,色彩空间与项目一致(推荐Linear),图片不要做压缩处理。
  • 完成NReal Unity SDK的基础配置:安装SDK、启用XR Plugin Management并添加NReal XR Provider,确保相机(默认NRMainCamera)正常工作。
  • 通过Unity Package Manager安装com.unity.postprocessing@2.1包。

导入并配置LUT资源

  1. 将LUT图片拖入Unity项目窗口。
  2. 选中LUT图片,在Inspector面板修改以下设置:
    • Texture Type:设为Default
    • Wrap Mode:设为Clamp
    • Filter Mode:设为Bilinear
    • Compression:设为None
    • 勾选Read/Write Enabled
  3. 右键点击LUT图片,选择Create > Post-processing > Color Grading LUT,生成Post-processing可识别的LUT资源。

给NReal相机添加Post-processing

  1. 选中场景中的NRMainCamera,添加Post-process Layer组件,设置Layer为相机所在的Layer(如MainCamera)。
  2. 给相机添加Post-process Volume组件,设置模式为Global(全局生效)。
  3. 点击Add Override,选择Color Grading选项。
  4. 在Color Grading面板中,找到Lookup Table,选择你生成的LUT资源;调整Lookup Table Strength控制滤镜强度(1为完全应用,0为无效果)。

实现三款滤镜的切换

方法1:多配置切换

  • 创建3个不同的Post-process Profile,每个配置对应一个LUT的Color Grading设置。
  • 用以下代码实现运行时切换:
using UnityEngine;
using UnityEngine.Rendering.PostProcessing;

public class LUTSwitcher : MonoBehaviour
{
    public PostProcessVolume targetVolume;
    public PostProcessProfile[] lutProfiles; // 拖入三个配置好的Profile

    public void SwitchToProfile(int index)
    {
        if (index >= 0 && index < lutProfiles.Length)
        {
            targetVolume.profile = lutProfiles[index];
        }
    }
}

方法2:动态替换LUT

  • 直接在同一个Color Grading组件中替换LUT资源:
using UnityEngine;
using UnityEngine.Rendering.PostProcessing;

public class LUTSwitcher : MonoBehaviour
{
    public PostProcessVolume targetVolume;
    public Texture2D[] customLUTs; // 拖入三个LUT纹理
    private ColorGrading _colorGrading;

    void Start()
    {
        targetVolume.profile.TryGetSettings(out _colorGrading);
    }

    public void SwitchLUT(int lutIndex)
    {
        if (lutIndex >= 0 && lutIndex < customLUTs.Length)
        {
            _colorGrading.lut.value = customLUTs[lutIndex];
            _colorGrading.lut.active = true;
        }
    }
}

测试与打包

  • 连接NReal眼镜,切换到XR预览模式运行场景,验证滤镜效果。
  • 确保项目Color Space设置为Linear(路径:Edit > Project Settings > Player > Other Settings),避免色彩偏差。
  • 按照NReal SDK打包指引,选择Android平台完成打包部署。

内容的提问来源于stack exchange,提问作者Rebecca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 10:02:32