稳定复现的,这个问题。在场景中编辑,挂一个脚本,脚本上放一个meshrender或者啥的,然后吧这个节点上的mesh拖到这个slot上,保存为预制体,就会看到slot 引用丢失了
你拖到 slot 上时,控制台有警告吗?
ps:空闲时,给个 demo 吧
assets.zip (7.5 KB) 先把FullWater的meshrender放到node上的脚本的render slot里面去。然后把node拖成一个预制体。就发现hierarchy里面的预制体的node上的脚本render slot引用丢了 。engine 3.8.7
你好,感谢反馈。这个是因为同步了 spine c++的官方代码
3.8最新的代码要求slot需要有对应的attachment,可以看下官方代码
第 484 行的逻辑是官方新增的。
所以针对这个问题,如果你觉得对你有影响,可以修改对应文件,然后自己重新编译wasm 替换目标文件
官方新的代码要求 slot需要存在有效的 attachment。勾选掉应该就是去掉无用的数据。
还需要将旋转去掉,不然setSlotTexture 设置了图片之后,如果图片在spine 图集中有旋转,会出现显示异常!

解决了。如果要发正式版一定记得把这个pr 带上啊。我看引擎仓库里面昨天就多了这一个提交。
好的谢谢!
因为总尺寸等于 物体总 size + (数量-1)* spacingX,
如果按你说的改,那么源代码就会"不雅"。
就好像数学里面非0数的零次方是1一样正常。
这个问题会在这个版本解决么
自 CocosCreator 3.8.7 社区版本公测帖【7.31】 继续讨论:
材质setProperty后显示隐藏后失效
版本:v3.8.7-win-073013
在3.8.6测试是正常的。
this.material = this.sprite.getMaterialInstance(0);
// this.material = this.sprite.getSharedMaterial(0);
if (this.material) {
this.material.setProperty("endColor", new Vec4(1, 0, 0, 1));
}
this.sprite.node.active = false;
this.sprite.node.active = true;
按这个修改getSharedMaterial的测试显示隐藏后正常了,getMaterialInstance依然有问题。TestC387.zip (64.2 KB)
不太对,间隙的生效条件应该是每两个元素产生一个间隙,(数量-1)逻辑上明显不严谨。
并没有复现这个问题,一样操作,功能使用都是正常的。如果你依然有疑问,先确认下配置是否被修改了,然后用 387 最新版测试,因为之前版本有的问题 387 修复了。
实测,3.8.7还是有这个问题,求修复!!!
左:位置没更新bug
右:墙片正确位置

你赢了1234





