3d摄像机捕捉到rt再渲染到2d相机,尺寸错误问题

版本是3.6.1 新建工程做的一个demo

设计分辨率是960x640
于是一系列尺寸设置都是按960x640来的

image

相机挂载rt

创建canvas以及rt精灵
image

rt精灵做个顶边 并新建材质球勾选从rt采样


image

代码如下:
image
ps:本来以为start只走一次 当时的尺寸不对 后来放在update里也是一样的

运行结果:

960x640是正常的

1334x640显示被拉伸的

而去掉相机的rt 走正常的3D渲染 运行结果如下

960x640自然一直 不用贴图了

1334x640 的没有被拉伸 相机可以捕捉更多两侧的细节

嗯,盲猜是3d相机给到的图就已经有问题了,于是我把精灵的尺寸设置成固定的300x300

运行结果是

可以看出 给到的图就没有两边的细节 Orz
为啥适配多出来的部分 走正常渲染,结果是正确的(符合常理),而走rt渲染到2d相机,结果是设计分辨率拍照的尺寸再拉伸?

很戏剧性,帖子编辑完,还没发,想着找找api能不能处理,结果发现Camera组件下的camera有个resize的功能, 于是重设了一下size 就解决了
多加了一行代码

本来想着都解决了 是不是要删帖,最后想想 这个适配,引擎底层不应该自动resize么? 嗯,还是发出来吧。

1赞

这个把RenderTexture的内容赋给精灵的时候,一次应该就够了吧,需要放在update下么

是一次就够了,我是怕刚进来,屏幕还没适配,相机按设计分辨率960设置的,放update里做个保险措施,结果还是有问题,那就可以排除这个猜测