Camera Unity:用于特定显示的纹理2D读取像素
Unity支持多个显示输出已有一段时间了(最多8个) 使用Camera Unity:用于特定显示的纹理2D读取像素,camera,pixels,texture2d,display,unity3d,Camera,Pixels,Texture2d,Display,Unity3d,Unity支持多个显示输出已有一段时间了(最多8个) 使用ReadPixels功能,可以指定要读取的区域和原点坐标。但我无法指定要执行读取的显示编号 我需要能够读取特定区域和原点的特定显示器(1-8)的像素 我该怎么做呢?您可以实现特定屏幕/显示器的可读像素。您必须执行以下操作: 在开始之前,我假设您有多个摄影机,每个摄影机都渲染到不同的显示。为了输出到显示器,相机不得附加渲染器 定义执行以下操作的函数: 为所需的摄影机指定一个临时渲染器 使用RenderTexture.active=*临时渲染
ReadPixels
功能,可以指定要读取的区域和原点坐标。但我无法指定要执行读取的显示编号
我需要能够读取特定区域和原点的特定显示器(1-8)的像素
我该怎么做呢?您可以实现特定屏幕/显示器的可读像素。您必须执行以下操作: 在开始之前,我假设您有多个摄影机,每个摄影机都渲染到不同的显示。为了输出到显示器,相机不得附加渲染器 定义执行以下操作的函数:
RenderTexture.active=*临时渲染纹理*
使当前活动的RenderTexture与刚才创建的临时RenderTexture相等ReadPixels
使用适当的Rect
将像素读入临时texture2d
。这将从当前活动的RenderTexture
texture2d
RenderTexture.active
和摄影机RenderTexture
设置为null
outputCam.targetTexture = outputCamRenderTexture;
RenderTexture.active = outputCamRenderTexture;
outputCam.Render ();
tempResidualTex.ReadPixels (screenRect, 0, 0);
tempResidualTex.Apply ();
RenderTexture.active = null;
outputCam.targetTexture = null;
我认为unity3d可以读取窗口内的像素,我怀疑你能否最大化8个显示器大小的窗口。即使当最大化时,它只需要1个显示,你可以看到IM在谈论什么,如果你玩无尽的传奇,当你开始游戏时,窗口以显示1和2之间的中间为中心,你必须将这个窗口移动到所需的显示,然后点击Alt+Enter,以最大化它。