2021-10-28Unity一些功能实现

Screen.sleepTimeout = SleepTimeout.NeverSleep;//让屏幕处于从不休眠状态
Screen.sleepTimeout = SleepTimeout.SystemSetting;//让屏幕处于系统设置休眠状态保存资源进入本地

//保存资源到路径
void SaveAssets(string path, string name, byte[] bytes)
{
Stream sw;
FileInfo file = new FileInfo(path + “//” + name);
if (!file.Exists)
{
try
{
sw = file.Create();
sw.Write(bytes, 0, bytes.Length);
sw.Close();
sw.Dispose();

        }
        catch
        {   debug.Log("创建文件加失败");}
    }

}

IEnumerator LoadFromWeb(string p)
{
UnityWebRequest request = UnityWebRequest.Get§;
yield return request.SendWebRequest();
if (request.isHttpError || request.isNetworkError)
{
Debug.Log(request.error);
}
else
{
//Debug.Log(request.downloadHandler.data.Length);
AssetBundle ab = AssetBundle.LoadFromMemory(request.downloadHandler.data);

        object[] ss = ab.LoadAllAssets();
        for (int i = 0; i < ss.Length; i++)
        {
            //VideoClip vc = ss[i] as VideoClip;
            //byte[] bs = ConvetToObj(ss[i]);
            //SaveAssets(Application.persistentDataPath, ss[i].ToString(), );
        }
        
        ab.Unload(false);
    }
}

获取前置、广角摄像头
int GetScore(in WebCamDevice device)
{
int score = 0;
if (device.isFrontFacing == true) score++;
if (device.kind == WebCamKind.WideAngle) score++;
return score;
}
var prefers = devices.OrderByDescending(d => GetScore(d));
sceneDirector.GetComponent().ChangeWebCamDevice(prefers.First());

Yield return new WaitUntil(() => Application.HasUserAuthorization(UserAuthorization.WebCam) && WebCamTexture.devices.Length > 0);

猜你喜欢

转载自blog.csdn.net/weixin_43780907/article/details/121017357
今日推荐