3.5多相机 MapCamera按钮失效了 只有原始相机渲染的按钮起作用


这是第二相机渲染的按钮,3.4.2还可以了,更新后就不行了 ,新建按钮也是一样的,都不作用,点击不到
http://record-logs.oss-cn-beijing.aliyuncs.com/vcr-3.5.0-CaiLuLu-1334160-2.mp4?t=1651891840687

请问可以帮忙给一下 demo 吗,我们跟进一下

我把初始化相机的位置移动了一下,又恢复了原始位置,就好了,不知道啥问题,其实啥也没改。QQ图片20220507120718
也行跟你们改的这个有关系
现在没问题了,正常了

没搞定,还是有问题,


这个代码注释掉就没问题,使用renderTexture 就有问题了。
3.4.2确实可以使用的,3.5就不行了,麻烦帮忙看一下,谢谢
assets.zip (80.8 KB)

抱歉,渲染到 RenderTexture 的节点,正常应该不支持触摸才对,
之前能使用的情况有点讨巧了,因为刚好 offscreen 节点贴满屏幕了,
如果把 offscreen 节点缩小一半,或者甚至可以多个节点渲染 RenderTexture,触摸检测目前是没办法准确知道按钮的渲染位置的

请问这么做的需求是什么呢,可以看看有没有什么其他办法可以绕过
为什么按钮要渲染到 RenderTexture 上呢

按钮没有渲染到renderTexture,我那个demo您可以抽空看一下,3.4.2确实可以正常运行,3.5就不可以。或者说我这样写本身就有问题。麻烦您帮忙看一下demo。谢谢


我看你这里就是渲染到 renderTexture 上哦,再把 renderTexture 渲染到一个 offscreen 节点的 sprite 组件上

3.4.2这样写也没问题,是啥情况

触摸检测的逻辑改了,现在3.5 使用 camera 来计算触点
3.4.2 还是基于 2d 的位置计算,完全不考虑摄像机,这样子的实现是假设了摄像机正对着屏幕,一旦摄像机发生位移,触点就不正确了
你 demo 里的这个按钮正好渲染到那个位置上了,如果 offscreen 节点稍有偏移,也是按不到的

这个用法本身不是很正确的


那这种天黑的效果不能用renderTexture来做,有啥推荐的实现方法吗?
按照您的说法,只要上面有renderTexture,那所有按钮都会失效的,那我按钮就不能跟随角色存在于世界地图了。我只能将世界地图的位置转到UI上渲染了。要多转换一步,这做法是不是有点蠢!

请问可以把 button 节点作为人物的子节点吗

这个有关系吗,我试试。
主要是人物和按钮都是被mapCamera渲染的,mapCamera又使用了renderTexture.
按理说只要是mapCamera渲染的按钮都应该失效的才对呀

嗯,抱歉,正常我们应该禁用 渲染到 RenderTexture 上节点的触摸检测的,这块目前还没有做禁用,触摸检测的结果是不确定的

您遇到的问题,可以先尝试不使用 RenderTexture 渲染呢,不是很清楚天黑的效果目前是怎么实现的呢

行吧,我再想其他方法吧,谢谢您的回复

建议提供开关选择是否开启触摸,我现在也是用rt去做某些效果,但是意外带来了其他触摸问题,期待可以尽快在下面的版本中提供

大佬这个情况处理了么?怎么处理的?

暂时,将世界位置转换成UI位置,用UI相机渲染了

也可以创建多个世界相机,分别渲染不同的数据,但移动的时候,多个世界相机位置都要变化,根据需求自己选一个效率高的就可以了

我遇到个很迷的情况 自定义了一个layer层 用3.5版本的2d相机只渲染这个层 但是首次创建是正常的 移除销毁再创建相机就不渲染了

我也用的最新版本,对象都是循环使用的,没出现你说的问题,我也是自定相机渲染的。你调试一下,会不会,对象已经创建,因为某些原因,layer呀,parent,位置呀,导致你看不到。应该跟相机没关系,我一直这么用的,没出现过问题。实在找不到原因,建个新场景,单调试这个问题。