新来的想搞游戏的前端小白想弱弱的咨询一句

第一步我想先了解一下场景设计. 避免少走弯路!

游戏开发的项目的设计规范是怎样的?
这个 场景scene 结构应该怎么设计? 让我疑惑!
作为原生开发来说, 登录页应该是一个界面, 首页应该是一个界面, 详细的某某页应该是一个界面!
那么游戏场景呢?
是应该 login.scene / home.scene / detail.scene / setting.scene 呢?
还是应该 game.scene 里控制显示多个 UI 层显示呢?

你问的这些都不是事,没有绝对的规范,一千位程序员有一千种写法。游戏顺畅、好维护即可。

1赞

像设置呈现在页面上面的没必要用一个scene 做个ui就好了 login game这种一般都是单独的scene 他们之间界面基本不会互相影响

我一般是一个scene场景,其他主界面和单独界面都是预制体(单独拆除来的界面,可以渲染生成),不过有些需要切换场景更优化的,就会创建多个场景了

1赞

如果你数据管理设计的好,可以一个场景。

scene一般来说是比较偏重游戏地图场景,而不是UI场景的概念,UI就是UI,一般就是预支件,scener与UI是互补关联

不用纠结,老板、策划、美术会告诉你怎么做游戏,入行快10年的老游戏狗的经验!

2赞

新手能出来就好了,先会走才会飞

ui 弹窗 一般不是全屏的,同时弹窗不会影响正常的游戏执行,所以 UI界面诸如 设置,详情等这些 都是作为独立的UI 在scene里面显示,通常是作为预制体 动态加载。
对于些全屏的ui 显示,诸如你登录界面,结算界面,可以做成scene,也可以不做成scene。看个人吧
我一般 会把游戏分成两个scene,starter.scene(这个场景如果太大会导致初始启动屏时间过长,所以 只包含一个加载界面,然后调用游戏自身的ui来用于载入通用bundle、载入game.scene),game.scene(场景内的布局很少,包含一些基本的节点,或者一些简单的UI, 其他的登录界面,主页,游戏等 统统制作成预制体,动态载入)

由于要考虑到首屏加载时间问题,一般会把开始界面做成一个scene。然后主体游戏一个scene就可以了。scene本质上是提供了一次全局卸载释放所有资源的机制。对于游戏体量较小,或者开发者自己管控较好的情况来说,根本不需要分太多。一般如果你堆积了较多代码,里面耦合了很多乱七八糟的东西,然后要加一个新的功能,并且这个功能整体和原来的游戏是割裂的,比如一张新的地图,并且玩法完全不同。这时可以考虑整一个新的场景,省的和之前乱七八糟的代码混在一起。

又来一小白,本着过来人的经验,还是奉劝一句趁年轻最好转后端或者产品、运营:laughing:
当然家里有矿吃喝不愁,能力屌炸天,学历屌炸天的除外

我的做法是,加载场景,游戏场景2个即可。进游戏后只需要一个场景,用预制体进行管理。

这是典型的屎山代码吧?

适合自己即可,一般工作了这些会有项目负责人制定好。各有优劣

商店里下/买套代码,就解决你的疑惑了。。

1赞

参考这个:https://github.com/MrKylinGithub/OpenTGX
仔细看看里面的文档,应该能解决你一部分疑惑。
另外就是,工程和场景的组织结构,是没有统一的标准的。看项目和资源情况而定。

h5游戏最高性能的方法是从头到尾只有一个scene,所有东西都是prefab,只需自己管好内存即可