您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
50 行
1.1 KiB
50 行
1.1 KiB
using UnityEngine;
|
|
using UnityEngine.XR.ARFoundation;
|
|
|
|
[RequireComponent(typeof(Light))]
|
|
public class LightEstimation : MonoBehaviour
|
|
{
|
|
Light m_Light;
|
|
|
|
public float? brightness { get; private set; }
|
|
|
|
public float? colorTemperature { get; private set; }
|
|
|
|
public Color? colorCorrection { get; private set; }
|
|
|
|
void Awake ()
|
|
{
|
|
m_Light = GetComponent<Light>();
|
|
ARSubsystemManager.cameraFrameReceived += FrameChanged;
|
|
}
|
|
|
|
void FrameChanged(ARCameraFrameEventArgs args)
|
|
{
|
|
if (args.lightEstimation.averageBrightness.HasValue)
|
|
{
|
|
brightness = args.lightEstimation.averageBrightness.Value;
|
|
m_Light.intensity = brightness.Value;
|
|
}
|
|
|
|
if (args.lightEstimation.averageColorTemperature.HasValue)
|
|
{
|
|
colorTemperature = args.lightEstimation.averageColorTemperature.Value;
|
|
m_Light.colorTemperature = colorTemperature.Value;
|
|
}
|
|
|
|
if (args.lightEstimation.colorCorrection.HasValue)
|
|
{
|
|
colorCorrection = args.lightEstimation.colorCorrection.Value;
|
|
m_Light.color = colorCorrection.Value;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|