一直有个想法,如果手机只作为VR显示端,那么用PC来运行VR程序,传输实时画面到手机不就可以了。今天就来实验下,看看方案是否可行。

首先创建一个Render Texture,用于将相机渲染到该目标。

创建以下脚本,实时获取Render Texture中的数据:

using UnityEngine;

using UnityEngine.UI;

public class GetCameraTexture : MonoBehaviour

{

Camera cam;

RenderTexture rt;

public RawImage ri;

public Text text;

void Start()

{

cam = GetComponent();

rt = cam.targetTexture;

rt.vrUsage = VRTextureUsage.TwoEyes;

t2d = new Texture2D(rt.width, rt.height, TextureFormat.ARGB32, false, true);

ri.texture = t2d;

}

const float MB = 1024 * 1024;

float max = 0;

float min = float.MaxValue;

void OnPostRender()

{

GetRTPixels(rt);

byte[] x = t2d.GetRawTextureData();

//byte[] x = t2d.EncodeToJPG(); //这种也不靠谱,帧率瞬间降至15 float send = x.Length / MB;

float cur = send / Time.deltaTime;

max = Mathf.Max(max, cur);

min = Mathf.Min(min, cur);

text.text = "发送一次的大小:" + send.ToString("0.##") + " MB\n\n" + "单位:MB/S\n当前:" + cur.ToString("0.##") + "\n最大:" + max.ToString("0.##") + "\n最小:" + min.ToString("0.##");

}

static Texture2D t2d;

static public Texture2D GetRTPixels(RenderTexture rt)

{

RenderTexture currentActiveRT = RenderTexture.active;

RenderTexture.active = rt;

t2d.ReadPixels(new Rect(0, 0, t2d.width, t2d.height), 0, 0);

t2d.Apply();

RenderTexture.active = currentActiveRT;

return t2d;

}

}

然后将Unity切换到XR模式,运行看效果:

当使用HTC Vive分辨率时,传输需要的速率一下上升到了600MB/S,以现在的Wifi网络环境根本达不到这要求呀,看来还是放弃算了。

今天的实验到此结束,欢迎神通广大的网友说说你的看法吧~

更新于 2018年7月30日

1080P分辨率发送一次的数据量如此庞大,于是决定进行一下小小的压缩。思路就是通过ComputeShader来将一个像素压缩到一个16bit大小的单元中。经过今天一晚上的努力终于成功了,不过最终结果就是数据体积减半,实际使用还是不太现实。

首先创建一个ComputeShader来用于压缩像素,将最终压缩完的像素保存到以下变量:

RWStructuredBuffer Result;

然后编写脚本,在每帧中读取GPU为我们压缩好的数据:

void RunShader()

{

int kernelHandle = shader.FindKernel("CSMain");

shader.SetTexture(kernelHandle, "InputTex", rt);

shader.SetBuffer(kernelHandle, "Result", buffer);

shader.SetTexture(kernelHandle, "OutputTex", rt_result);

shader.Dispatch(kernelHandle, rt.width, rt.height, 1);

buffer.GetData(output);

}

运行以后最终结果,测试还是使用的是华为手机1080P分辨率大小

看结果一帧画面还是很大,广大网友们有没有更好的思路呢。。。

联系我们

* 网址:神工团队

* 工作邮箱:2423200363@qq.com

unity 实时画面投屏到手机_将Unity实时画面投屏到手机相关推荐

  1. screen投屏怎么用_教大家Screen怎么投屏电脑的方法

    近日有关于教大家Screen怎么投屏电脑的方法的问题受到了很多网友们的关注,大多数网友都想要知道教大家Screen怎么投屏电脑的方法的具体情况,那么关于到教大家Screen怎么投屏电脑的方法的相关信息 ...

  2. 苹果概念手机_力压苹果!环绕屏概念手机发布:360度都是屏!

    NEWS 折叠屏手机还没用上,环绕屏手机又来了. 9月24日,小米公司在北京举行产品发布会,发布了"环绕屏"概念手机小米Mix Alpha,定价为19999元(人民币,下同).这款 ...

  3. 苹果概念手机_吊打华为苹果!马云概念手机终于问世?

    []点击上方蓝色字体免费关注 整个网络都被马云的手机刷屏了.. 三面折叠 ,比苹果.华为还绚丽,简直不要太美! (图:来源支付宝官方微博) 据支付宝官方微博透露 马云家的第一款手机 取名 " ...

  4. unity lookat导致物体颠倒怎么解决_在Unity 2D中如何用一行代码实现LookAt的效果,以及向量归一化小总结...

    被疫情困在家无聊翻翻以前的文章,发现好黑历史啊,虽然是刚学unity的时候写的,后面学习了DX11并且补了3D数学,发现这些问题都是小case了O(∩_∩)O. 在我最近制作的小游戏中,需要实现防御塔 ...

  5. w7电脑蓝屏怎么解决_教你win7电脑蓝屏怎么办

    上期小编讲解了引用了一个不可用的位置,详细教您电脑引用不可用的位置,本次正特手机网小编给大家讲解一下教你win7电脑蓝屏怎么办,win7系统的电脑会时常出现蓝屏的现象,而导致电脑蓝屏的原因有五花八门, ...

  6. 为什么苹果录屏没有声音_原来苹果手机自带录屏功能,还能同时录制声音,教你这样开启...

    最近有位朋友新买了一部苹果手机,发现不能录屏,其实苹果手机内置一个录屏功能,还能同时录制声音,下面教你如何开启. 一.自带的屏幕录制 1.首先我们需要把录屏的快捷键,添加到控制中心里面,先打开苹果手机 ...

  7. w7电脑蓝屏怎么解决_详解win7电脑蓝屏怎么办

    win7系统的电脑会时常出现蓝屏的现象,而导致电脑蓝屏的原因有五花八门,但大多数集中在不兼容的硬件和驱动程序有问题的软件.病毒等.如果遇到蓝屏怎么办呢?小编建议你尝试下面的解决方法. 电脑蓝屏是常见的 ...

  8. 苹果电脑投屏到电视_最全小米电视投屏官方教程公布:手机、PC、APP通吃

    如今越来越多人用手机代替电视观影,这与手机端内容的丰富以及操控便捷性,而电视端内容的匮乏密不可分. 不过6寸的手机屏幕和60寸的电视屏幕,观影的感觉完全是两种体验,因此手机投屏电视成为很多人的选择. ...

  9. 苹果x怎么投屏到电视_苹果手机怎么连接、投屏电视?一招解决,看完涨知识了...

    用惯了安卓手机,换了苹果手机后,发现有点不习惯.平时,我喜欢在手机听听音乐,但又不太喜欢苹果手机的音效.除了蓝牙连接小音响,我还会把苹果手机投屏到电视上,这样就能在其他设备上听到手机里面喜欢的音乐啦( ...

最新文章

  1. windows7 64位机上CUDA7.0配置及在VS2010中的简单使用举例
  2. 数据库like匹配的实现猜测
  3. 使用小技巧教你用Selenium获取鼠标指向的元素
  4. Adaboost原理与推导
  5. UESTC_摩天轮 2015 UESTC Training for Dynamic ProgrammingProblem K
  6. gulp编译less简单demo
  7. 高通摄像头调试(OV8856)
  8. android APP优化知识图谱
  9. AI风向标:发改委重大工程项目公布,首个无人车路测试点落户亦庄
  10. python之语音识别(speech模块)
  11. 多媒体制作技术心得体会_多媒体课件制作的学习心得体会
  12. 【Get深一度】信号处理(三)——3db带宽
  13. Lifelong learning with dynamically expandable networks - 使用动态可扩展网络的终身学习-不完全记录
  14. AlertDialog.Builder setPositiveButton 点击时不关闭dialog
  15. 老版本 linux 浮点,Linux-浮点运算
  16. 二代证|港澳台居民居住证|电子护照阅读器 读卡器MEPR200+的应用与二次开发攻略
  17. VUCA时代的领导力开发
  18. Windows 8 自带定时关机的4种实现方法
  19. 使用zxing生成带logo的二维码图片,自动调节logo图片相对二维码图片的大小
  20. 打开word出现运行时错误‘-2147418113 (8000fff)‘的解决办法

热门文章

  1. 三星S10系列首销告捷:热度高涨超前代 供不应求也要“拧螺丝”
  2. 常见的HTTP响应状态码类型
  3. 魅族16S“SOC点胶门”事件落幕,买一赔二!
  4. 爬了个爬(一)爬虫入门
  5. Word里为什么输不了空格?怎么处理?
  6. KARL LAGERFELD推出2022早春虎年胶囊系列
  7. JavaWeb 实现密码修改的案例
  8. Vector - VTESTStudio(软件篇) - CAPL实现MD5算法 - 01
  9. js 时间戳 格式化 年月日
  10. logstash中Ruby代码把@timestamp时间戳格式转换