首页 > 解决方案 > ARCore Unity 更改白平衡 (Android)

问题描述

我正在尝试在 Unity3D 中的一个 ARCore 示例(AugmentedImage)中调整 AR 相机的白平衡(色温)。有没有办法在应用程序内将智能手机(Android)的相机设置更改为不同的固定白平衡?

我更愿意调整相机视图以匹配我的对象白平衡(~2800K),而不是更改对象以匹配真实场景。尽管任何解决方案都可以。

我在 ARCore 教程中找到了“从可用配置中选择特定相机配置”一章,但我并没有真正对此有任何进一步的了解。(https://developers.google.com/ar/develop/unity/light-estimation

更新:我在 ARCore 示例中找到了 ARBackground.shader 文件,我想可能有机会在其中更改某些内容,尽管我对着色器的了解有限。

有人对我的这个问题有任何意见吗?先感谢您。

标签: c#androidunity3dshaderarcore

解决方案


在 ARCore 示例中包含的 ARBackground.shader 文件中,我更改了以下几行,将颜色通道与不同的权重相乘。生成的相机图像对于我的目的来说足够准确。

vec3 scalingVec = vec3(1.1f, 1.0f, 1.01f);
vec3 tmpVec = texture(_MainTex, textureCoord).rgb;
vec3 resVec = tmpVec * scalingVec;
mainTexColor = resVec;

推荐阅读