降低 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.width
和 CameraInfo.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 中相机纹理的分辨率的主要内容,如果未能解决你的问题,请参考以下文章