protobuf的问题

我在尝试使用3d的时候,第一个大坑,就是protobuf,看了所有的帖子,依然没能爬出来。甚至打算脱坑。

cc3d板块,发现有不少问protobuf的问题。被坑好几天,依然没解决的大有人在。我就是。

官方这简直就是在坑人!!!为什么这么说?

protobuf在游戏里,使用的很多。这种情况,官方难道不该出个范例来造福用户吗?

很多用户根本没有js web npm基础,是其他引擎,其他语言转过来的,写游戏可以,但根本搞不定protobuf这个坑。

对于官方来说,这个例子,相信是手到擒来,速度吧。

目前主要问题应该是加载顺序问题,我们在 v1.1 会提供加载顺序定制功能

其实 v1.0.4 已经固化了,可以尝试用前缀来稳定打包出固定的插件脚本加载顺序,比如

1_dependency.js
2_pb.js

为这个来喷引擎没必要吧,毕竟第三方的东西。
而且如果自己一步一步接过cocos2dx或者unity的protobuf,对原理了解清楚的话,c3d接入也没多少坑吧。

我们用的是 https://github.com/dcodeIO/protobuf.js 已经有项目上线了
当时唯一卡壳的坑是一开始用的686版本,因为用了eval和new Function来生成消息,微信小游戏不支持,无奈回退5.0.3版本。

第三方库的坑不光是pb的。。。原理清楚并没有什么卵用,关键是生成代码,加载完全不知什么回事,微信小游戏直接报错,凡是导入为插件的第三方库,都说找不到。。。协议我都直接放弃pb了,用白鹭版pb,微信小程序可以用,但编辑器只要保存就直接飙红报错:innocent:。现在都不敢用第三方库了。
还有,这帖子官方也没有解答。
“cocos creator 3d导入第三方js库,微信小游戏报错”

你好,非常感谢建议,我们已经在尝试制作 protobuf 的范例了。

现阶段如果 protobuf 的使用遇到问题,可以参考一下:

  1. 为什么 protobuf 的全局变量 proto 没有生效
  2. 用 pbjs 生成的协议文件如何使用
1赞

非常感谢官方的范例。
发现npm里的不少第三方包,都用不了,要怎么解决???
比如这个 https://github.com/dchest/fossil-delta-js

我觉得还是等官方吧,现在弄第三方库,太煎熬了。

真心煎熬

例子有了吗?

1.1发布之时会有

1.1 新增了一个 protobuf 示例:https://github.com/cocos-creator/example-3d

哎,换回2d版了。。。

因为 protobuf 放弃了?

首先 感谢官方

换回2d版本也是多方面的原因

主要3d版还没有稳定的正式版。而2d版也能用常规的3d功能。

脚本方面的兼容性似乎没有2d版好,限制比较多。protobuf还要重新踩坑。

还有不支持插件。

最后多说几句吧。
对用大多户来说,很多高大上的功能其实基本用不上。
我们也知道官方一直在优化性能。官方人手不够。但希望官方在需求排期时,以投入和回报比来看。
一个功能对用户,究竟有多少用,是不是解决了痛点。
反而一些对商业级游戏的方案支持,才最最立竿见影的效果。
比如 把文理压缩,动态合图,图片通道压缩,减小包体、shapesprite等等功能,做细致做深入。而不是简单支持一下就完事。
基本工具链都完善了,再搞一些高大上的功能。
感觉之前让大家投票 定需求优先级 的方式很好,才能知道用户真正要的是什么
比如运行时的节点可视化,你们觉得优先级低,但是用户很需要。你们没有从真正做项目的角度来考虑需求

投票是个好主意,能看到大多数用户的意见

更新一下3.3.2版本呀