TileMap中用子Camera组件渲染到Sprite的时候 每个地块上都有黑边

我在用TileMap时先是通过子Camera组件渲染到Sprite然后再通过主Camera到场景里,这样会有缝隙
正常直接渲染到场景里没缝隙,这怎么解决?

这是通过子Camera渲染

这是通过主Camera渲染的
ccc的版本是版本2.0.9
demo.zip (1.8 MB)

顶一顶这个谁清楚?

你好,是在哪个平台上出现的问题?你可以把demo发到我的邮箱,我帮你看下。
337031709@qq.com

demo已经发你邮箱了,谢谢!

方案如下:
先把你项目上的SpT的混合模式改一下。

然后在代码中开启RenderTexture预乘
加入代码:

texture._premultiplyAlpha = true;

你这样渲染有没有遇到比原来效果大一些的情况?

应该不会啊!

但还是有点问题啊

按照这样来有点白边

你渲染一个普通精灵试试,我这边是有问题的…不知道是不是我写的有问题

肯定是你这个设置的问题 看一下大小size mode

我今天再看。。。变小了,图片size mode是一样的

老哥你是这么写的么

。。。当子摄像机与渲染对象,在编辑器是active状态时。。。运行游戏直接渲染,就会出现变大或变小的问题。。。
而当子摄像机与渲染对象,在编辑器是隐藏状态时,运行游戏渲染之前active=ture,就不会有问题。
刚刚试出来的。。。
难道这才是正确的使用方式?
引擎大佬,有时间可以讲述一下这个原理。。。
写代码终究是个玄学问题。。。

let gl = cc.game._renderContext;
let texture = new cc.RenderTexture();
texture.initWithSize(1334, 750, gl.STENCIL_INDEX8);
let spriteFrame = new cc.SpriteFrame();
spriteFrame.setTexture(texture);
SpTM.spriteFrame = spriteFrame;
texture.update({flipY: true});
texture._premultiplyAlpha = true;
this.TCCamera.targetTexture = texture;

我确认了一下 其实上面的方案已经解决了问题,为什么有白边,是因为SpT下面有其它渲染物品在。
建议把SpT放在一个合适的层级,demo.rar (1.8 MB)

嗯好的感谢!

大佬,为什么我这样用之后,图片本身的一部分阴影不见了???

能发个demo给我么 上面的邮箱。

NewProject_2.zip (547.1 KB)

这是demo,邮箱也发了,试了几次,有点迷。。。
而且今天一下午都在优化DC,十几个mask都这样转了一遍,DC降了一半多,到最后比之前还卡。。。醉了

抽空看一下,感谢