降低 Spark AR 中相机纹理的分辨率

Posted

技术标签:

【中文标题】降低 Spark AR 中相机纹理的分辨率【英文标题】:Lowering resolution of the camera texture in Spark AR 【发布时间】:2020-11-14 20:30:26 【问题描述】:

我正在尝试通过脚本或补丁修改 Spark AR 中相机纹理的分辨率。 This medium post 有助于理解相机纹理的一些组件,但我需要一些帮助。

require('Textures')require('CameraInfo') 似乎是必不可少的,但我不确定如何修改它们。

CameraInfo.previewSize.widthCameraInfo.previewSize.height 可能会在减小尺寸方面发挥重要作用,但我也不确定如何将这些变量传递给纹理。

这是一个非功能性示例。任何建议将不胜感激:

const Scene = require('Scene');
const R = require('Reactive');
const Textures = require('Textures'); 
const CameraInfo = require('CameraInfo'); 

const blur_mat = Materials.get('blur_mat');
const cameraTex = Textures.get('cameraTex');

const cameraLoRes = cameraTex.signal;

// attempt reduce resolution of camera texture
const loResX = R.div(4, CameraInfo.previewSize.width);
const loResY = R.div(4, CameraInfo.previewSize.height);
const loResTex = R.mul(loResX, loResY);
const loResTex = R.add(texcoords, R.pack2(loResX,loResY));

blur_mat.setTexture(cameraLoRes, textureSlotName: "diffuseTexture");

【问题讨论】:

【参考方案1】:

非常简单的答案 - 着色器渲染通道补丁允许您降低特定对象的相机纹理分辨率。

从补丁菜单添加着色器渲染通道。根据需要调整尺寸变量并选择您需要的尺寸模式。将纹理插入着色器端口,并将纹理输出附加到材质补丁。

看这个精彩而详细的教程:https://www.youtube.com/watch?v=0L2Gr-SQpCU&feature=youtu.be

【讨论】:

【参考方案2】:

因此当前渲染通道不适用于脚本。目前仅用于补丁。

【讨论】:

以上是关于降低 Spark AR 中相机纹理的分辨率的主要内容,如果未能解决你的问题,请参考以下文章

游戏中开启MipMap会导致纹理消耗内存增大多少

降低 OpenCV 中的图像分辨率

新型无镜头相机助力计算机视觉

有没有办法降低 iPad 照片质量

unity 3d怎样在相机中导出rendertexture

Opengl 纹理映射和图像分辨率