(正式版已发)Cocos Creator v3.3.0 Release Note

以3.3.0的渲染结果为准。
如果想要的效果是图示中3.2的那个透明效果,需要更改资源的blendMode,
(目前资源的blendMode为spine.BlendMode.Screen模式,请更改为spine.BlendMode.Normal即可显示正常。)

解决了,是因为这个提交导致的https://github.com/cocos-creator/engine/commit/8d0e57b0c5c987615f332201baa2acfff899821c#diff-d49224d019f1c240c89f82735adac6d665cf131bfa23f30e883bd53114be8505
解决办法也很简单,改下fairyGUI的sdk就行了

1赞

吐个槽

Creator 3.3的项目原生构建的文件结构比以前2.x 复杂很多很多(最清晰的是2dx,一眼能看明白),本想升级架构,看了新的有点一言难尽

3.3 Android原生一次构建就有三大目录

  • creator安装的引擎目前engine-native,完整的cocos2d-x lite
  • creator工程下有一个native/engine,包含common和android,common放的是Classes,android是AS工程级,类似proj.android
  • creator工程build/android下面还有两个,assets和proj, assets是游戏业务层的文件,proj是AS 项目配置, 类似 proj.android/app

所以一个工程build至少涉及5个目录,分散在三个不同的地方 :rofl:

以前那样是分为两层/三层结构 engine, proj.android 和assets,这样也还清晰,哪里改比较规范方便升级大家自然约定俗称。

所以现在不太清楚cocos这样做的目的,是否还会改回以前的模式?

他想把构建和android业务层分开
再次构建不影响android业务层

:raised_hands:t2:举手举手举手

有一定关系,但不是主要问题

原因在于,工程构建完成后,需要把工程交给另外一组人员进行进一步处理,现在项目结构分散、复杂,命名也不清晰,也默认不生成default, 至于命名 engine-native、native/engine/android, proj,这些都是谁跟谁?哪个依赖哪个?整体的清晰度相比以前差很多。

做小游戏或者webgame可能不需要关注,ccc做的非常出色,但做原生的必须对工程有所改动,如结合了Cocoapods、引用其他框架库等等,稍微注重流程的团队可能还有Jenkins这类CI工具来做自动构建,所以工程结构调整导致工程流变动还是有点工作量的,而且还会面对未来升级问题

仅限讨论,我个人认为,有些传统还是需要保留的,哈哈哈

1赞

昨天我们的项目升级到3.3.0以后,出现了一些莫名其妙的问题,主要有以下两种:

  1. 切换节点的active时,隐藏的节点,active设为true,发现没有生效

  2. 替换3D物体的材质时,发现没有替换成功

经过不断试错,我们发现只要在这些切换active或切换material时,加一个setTimeout(() => { }, 0),就不会出现这个问题

因此我们怀疑,可能是我们的代码是在游戏的生命周期内(onEable,update等),所以设置没有生效,而settimeout方法,跳出了当前的主循环,才生效的,

为此我们专门做了个测试,在update内写逻辑,然后更新节点的active,和使用setInterval代替update方法,更新节点的active

发现在update的情况下,切换几次后,active=true无效,

而在setInterval时,多次测试,依然没有问题

我们是拿自己的项目测试的,并没有单独弄一个demo测试,故测试代码不便提供

虽然我们可以使用setTimeout和setInterval,但是这总归没有cocos官方的好用,所以我们将这个问题写出来,希望能够将这个问题解决。
@panda

2赞

Label 自定义字体在3.3.0无法设置spacingx 这个属性了,导致字间距问题无法解决。现在是有新的字间距方案了吗??

3.3.0报告一个bug,编辑器里复制一个prefab,新的这个prefab里,根节点的名字不会随着prefab文件名的改变而改变。查看了meta,有一个syncNodeName,根节点的名字跟他一致,而不是和prefab的文件名一致

你是说在Assets面板里复制一个Prefab资源?

是的。在编辑器的资源管理器里直接复制一个新的prefab,名字通常是XXXX-001.prefab,然后我改文件名,改完以后,打开这个prefab,根节点名字还是XXXX-001,而不是与我改的文件名一致。meta文件里有syncNodeName这个属性,发现它才决定了根节点的名字,而不是和3.2以前的,prefab根节点名字与文件名一致

过来捧个场

感谢反馈,会在3.3.1上修复~

BUG反馈:

3.3 android 微信小游戏
如果存在多个循环播放的音效,退到后台,还会有部分音效没暂停

想做个2d物理车子的项目,但是轮子怎么都调不到想要的效果,官方能出一个物理车子的案例吗

您好,这个demo可以发出来吗?我具体分析下这个适配问题。

按住 Ctrl 键 使用 Transform Gizmo 的吸附功能,这个是我开始用3.x的原因,感谢官方大大 :smile:,要是2.x的也支持就好了 :blush:

我在试图接入,3.0得渲染流程没有看太明白,查看live2d for web版本中使用得webgl去渲染得,那么这种情况下,我如何自定义一个渲染节点,然后把live2d接入进来呢。 目前我用得RenderTexture,获取了它得framebuffer来接收live2d得绘制,然后这个renderTexure赋值给了一个Sprite.spriteFrame 。这样并没有绘制出来,gl数据有问题。

是不是必须按照3.x得渲染方式组装数据提交给commandbuff???

问题解决了吗?遇到一样的问题…