|
|
@@ -230,6 +230,11 @@ public class InfraredDemo : JCUnityLib.ViewBase
|
|
|
//亮度过滤阈值 - 0.8
|
|
|
public ParamFloatValue infraredFileterValue = new ParamFloatValue("ic_infraredFileterValue", 0.8f);
|
|
|
|
|
|
+ //准心的偏移值
|
|
|
+ public ParamVector2Value cameraLocationValue = new ParamVector2Value("ic_cameraLocation", Vector2.zero);
|
|
|
+ public ParamVector2Value screenUVValue = new ParamVector2Value("ic_screenUV", Vector2.zero);
|
|
|
+
|
|
|
+
|
|
|
|
|
|
//线段宽度阈值
|
|
|
public ParamFloatValue lineWidth = new ParamFloatValue("ic_lineWidth", 4.0f);
|
|
|
@@ -1519,8 +1524,10 @@ public class InfraredDemo : JCUnityLib.ViewBase
|
|
|
Debug.Log("CameraLocation:"+buffer[i].CameraLocation.Value);
|
|
|
var centerOffset = infraredCameraHelper.GetCenterOffset(buffer[i].CameraLocation.Value, "CameraLocation");
|
|
|
Debug.Log("CenterOffset: " + centerOffset);
|
|
|
+ cameraLocationValue.Set(centerOffset);
|
|
|
var uvCenterOffset = infraredCameraHelper.GetCenterOffset(buffer[i].ScreenUV.Value, "ScreenUV");
|
|
|
Debug.Log("UvCenterOffset: " + uvCenterOffset);
|
|
|
+ screenUVValue.Set(uvCenterOffset);
|
|
|
//如果是新手教程场景里面的校准
|
|
|
InfraredGuider infraredGuiderObj = FindObjectOfType<InfraredGuider>();
|
|
|
if (infraredGuiderObj != null)
|
|
|
@@ -1534,6 +1541,15 @@ public class InfraredDemo : JCUnityLib.ViewBase
|
|
|
|
|
|
|
|
|
}
|
|
|
+ /// <summary>
|
|
|
+ /// 设置存储的中心偏移位置
|
|
|
+ /// </summary>
|
|
|
+ public void InitCenterOffset() {
|
|
|
+ infraredCameraHelper.SetCenterOffset(cameraLocationValue.Get(), "CameraLocation");
|
|
|
+ infraredCameraHelper.SetCenterOffset(screenUVValue.Get(), "ScreenUV");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 重置中心点
|
|
|
/// </summary>
|
|
|
@@ -1838,4 +1854,60 @@ public class ParamFloatValue
|
|
|
PlayerPrefs.Save();
|
|
|
}
|
|
|
|
|
|
+}
|
|
|
+/// <summary>
|
|
|
+/// 存储Vector2
|
|
|
+/// </summary>
|
|
|
+public class ParamVector2Value
|
|
|
+{
|
|
|
+ private string _saveKey;
|
|
|
+ private Vector2 _valueDefault;
|
|
|
+ private bool _valueLoaded;
|
|
|
+ private Vector2 _value;
|
|
|
+
|
|
|
+ public ParamVector2Value(string saveKey, Vector2 valueDefault)
|
|
|
+ {
|
|
|
+ _saveKey = saveKey;
|
|
|
+ _valueDefault = valueDefault;
|
|
|
+ }
|
|
|
+
|
|
|
+ public Vector2 Get()
|
|
|
+ {
|
|
|
+ if (!_valueLoaded)
|
|
|
+ {
|
|
|
+ float x = PlayerPrefs.GetFloat(_saveKey + "_x", _valueDefault.x);
|
|
|
+ float y = PlayerPrefs.GetFloat(_saveKey + "_y", _valueDefault.y);
|
|
|
+ _value = new Vector2(x, y);
|
|
|
+ _valueLoaded = true;
|
|
|
+ }
|
|
|
+ return _value;
|
|
|
+ }
|
|
|
+
|
|
|
+ public Vector2 GetDefault()
|
|
|
+ {
|
|
|
+ return _valueDefault;
|
|
|
+ }
|
|
|
+
|
|
|
+ public string GetKey()
|
|
|
+ {
|
|
|
+ return _saveKey;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void Set(Vector2 value)
|
|
|
+ {
|
|
|
+ _value = value;
|
|
|
+ PlayerPrefs.SetFloat(_saveKey + "_x", _value.x);
|
|
|
+ PlayerPrefs.SetFloat(_saveKey + "_y", _value.y);
|
|
|
+ PlayerPrefs.Save();
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 重置成默认值
|
|
|
+ /// </summary>
|
|
|
+ public void Reset()
|
|
|
+ {
|
|
|
+ PlayerPrefs.SetFloat(_saveKey + "_x", _valueDefault.x);
|
|
|
+ PlayerPrefs.SetFloat(_saveKey + "_y", _valueDefault.y);
|
|
|
+ PlayerPrefs.Save();
|
|
|
+ }
|
|
|
}
|