1、PXR_ScreenFade
pico sdk
UI 没挡住
2、TunnelingVignetteController
XR Interaction Toolkit 2.5.2
vignetteParameters.defaultParameters.featheringEffect = 0
vignetteParameters.defaultParameters.featheringEffect = value
using System.Collections;
using System.Collections.Generic;
using Unity.XR.PXR;
using UnityEngine;
using UnityEngine.XR.Interaction.Toolkit;
using DG.Tweening;
public class PXR_ScreenFadeExt : MonoBehaviour
{
void Start()
{
StartCoroutine(SetSetAlpha());
}
IEnumerator SetSetAlpha()
{
SetAlpha_0();
yield return new WaitForSeconds(5);
SetAlpha_1();
yield return new WaitForSeconds(5);
StartCoroutine(SetSetAlpha());
}
public void SetAlpha_1()//
{
SetCurrentAlpha(1, 1);
}
public void SetAlpha_0()//黑屏
{
SetCurrentAlpha(0, 1);
}
public void SetCurrentAlpha(float alpha, float time)
{
if (pxr_ScreenFade)
{
pxr_ScreenFade.gradientTime = time;
pxr_ScreenFade.SetCurrentAlpha(alpha); //改 private 为 public
StartCoroutine(pxr_ScreenFade.ScreenFade()); //改 private 为 public
}
else
{
float cur = vignetteParameters.defaultParameters.apertureSize;
float tar = alpha;
DOTween.To(() => cur, (value) =>
{
vignetteParameters.defaultParameters.apertureSize = value;
//vignetteParameters.defaultParameters.featheringEffect = 0;
vignetteParameters.defaultParameters.featheringEffect = value;
vignetteParameters.UpdateTunnelingVignette(vignetteParameters.defaultParameters); //改 private 为 public
}, tar, time).SetEase(Ease.Linear);
}
}
[SerializeField]
private TunnelingVignetteController vignetteParameters;
[SerializeField]
private PXR_ScreenFade pxr_ScreenFade;
}