游戏目录结构之最佳实践

前置条件

1.多人协作开发,git管理

2.游戏不大,所有Scene合并到一起Scene中,eg.RoleScene、MapScene、StoreScene

3.Master一人管理Scene,防止多人修改产生主场景(二进制)产生冲突

目标

1.多人并行开发,互不干扰影响

2.主场景在完美情况下,只在第一次分派目录的结构的时候由Master修改一次,以后不需要任何修改

开发过程

目录结构如图: 

1.Hierarchy的目录结构,三个场景RoleScene、MapScene、StoreScene分别由三个空节点管理,坐标清0,目录下是每个界面的预制体

2.每个非动态加载的预制体放置到Dev-perfab目录,需要动态加载的放到Resources/perfabs目录,游戏打包时会将Resources/perfabs目录下所有的perfab预制体打包到游戏中(包括不用的),而其余目录的预制体只有场景中用到的才会被打包。

3.多人协作开发测试 
因为最终我们将所有的Scene都合并到GameScene中,但是开发过程 并不这么做,分别建RoleScene、MapScene、StoreScene,开发过程中每人一个场景分别开发测试预制体。

4.所有的Scene都在一个场景中,UI叠加到一起比较混乱,在开发时,可以隐藏根节点,方便开发。

注意开发细节

1.预制体目录清0

坐标统一Reset,layer选UI 

2.预制体根节点结构

包含UIPanel和UIAnchor(为了多分辨率下和屏幕对齐的),【Ui Camera】属性选None 

总结

没有完美的开发方案,只有最合适的开发方案,目前开发方案的缺点: 
1.因为所有场景合并到一起,最终只有一个Scene,导致场景加载慢 
2.所有UI在一个场景中,开发时各个场景UI叠加,只能隐藏别的UI界面再开发指定界面,在游戏巨大,UI界面非常多的情况下不适合。

【Unity3D游戏开发】之游戏目录结构之最佳实践和优化 (十一)的更多相关文章

  1. [libGDX游戏开发教程]使用libGDX进行游戏开发(1)-游戏设计

    声明:<使用Libgdx进行游戏开发>是一个系列,文章的原文是<Learning Libgdx Game Development>,大家请周知.后续的文章连接在这里 使用Lib ...

  2. magento开发手册之目录结构

    magento是一个很优秀的电商系统,很多朋友会用它部署自己的电商网站,少不了二次开发.下面我们随着ytkah来一起认识一下magento开发手册之目录结构吧. /app – 程序根目录 /app/e ...

  3. Unity3D系列教程--使用免费工具在Unity3D中开发2D游戏 第一节

    声明:   本博客文章翻译类别的均为个人翻译,版权全部.出处: http://blog.csdn.net/ml3947,个人博客:http://www.wjfxgame.com. 译者说明:这是一个系 ...

  4. Unity3D游戏开发之游戏读/存档功能在Unity3D中的实现

    喜欢我的博客请记住我的名字:秦元培,我的博客地址是:http://qinyuanpei.com 转载请注明出处,本文作者:秦元培, 本文出处:http://blog.csdn.net/qinyuanp ...

  5. JavaFX横幅类游戏开发 教训 游戏贴图

    上一节课,我们即将完成战旗Demo有了一个大概的了解.教训这,我们将学习绘制游戏地图. 由于JavaFX 2.2中添加了Canvas相关的功能,我们就能够使用Canvas来实现游戏绘制了. 游戏地图绘 ...

  6. java游戏开发杂谈 - 游戏物体

    现实生活中,有很多物体,每个物体的长相.行为都不同. 物体存在于不同的空间内,它只在这个空间内发生作用. 物体没用了,空间就把它剔除,不然既占地方,又需要花精力管理. 需要它的时候,就把它造出来,不需 ...

  7. java游戏开发杂谈 - 游戏编程浅析

    每个游戏,你所看到的它的一切,都是计算机画出来的! 地图是画出来,人物是画出来的,树木建筑是画出来的,菜单按钮是画出来的,滚动的文字.闪烁的图标.云雾烟火,都是画出来的. 游戏编程,所要做的,就是控制 ...

  8. iOS开发总结——项目目录结构

    1.前言 清晰的项目目录结构有利于项目的开发,同时也是软件架构的一部分,所以,项目开发之初搭建项目的目录结构很重要.刚转iOS时,自己并不知道如何搭建App的项目目录,在参与开发两个应用后,结合Web ...

  9. FXGL游戏开发-JavaFX游戏框架

    FXGL 是一个JavaFX 游戏开发的框架,这个框架有两个版本,其中基于JDK1.8的版本已经不再维护,目前最新的是基于JDK11的版本,也就是Openjfx的版本. FXGL 提供了各种游戏范例: ...

随机推荐

  1. PowerDesigner 15.2入门学习 一

    好久没有搞 PowerDesigner 然后记录一下 1.下载地址 http://download.sybase.com/eval/PowerDesigner/PowerDesigner152_Eva ...

  2. Oracle 常用数据类型(转)

    varchar2(6) 张三 --在jbk中是两个字节,在utm中是三个字节char(6) 张 三 --可以确定长度的用charclob --大存储,没事少用,当多余4000字节时,会用lob来存储, ...

  3. 查留言总人数的sql语句

    select count(distinct user_id) from bidproduct

  4. awk脚本

    $0,意即所有域. 有两种方式保存shell提示符下awk脚本的输出.最简单的方式是使用输出重定向符号>文件名,下面的例子重定向输出到文件wow. #awk '{print $0}' grade ...

  5. SqlServer判断表是否存在

    .判断数据表是否存在 方法一: use yourdb; go if object_id(N'tablename',N'U') is not null print '存在' else print '不存 ...

  6. zepto源码--核心方法9(管理包装集)--学习笔记

    今天介绍的是与子元素相关的函数,children, find, contents children 从源码来看,主要是调用过滤函数filtered对遍历整个包装集返回的children进行过滤. 仔细 ...

  7. LightOj 1220 - Mysterious Bacteria (分解质因子x=b^p 中的 x 求最大的 p)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1220 题意:已知 x=bp 中的 x 求最大的 p,其中 x b p 都为整数 x = ...

  8. C语言 ---- 数组 iOS学习-----细碎知识点总结

    #pragma mark - 数组:用来存放同一数据类型的数据 // 数组的定义:类型说明符 数组名[常量表达式] = {值1, 值2, 值3...};    // 定义一个float类型的数组,用来 ...

  9. 配置fabric-crashlytics教程

    1. 注册账户 登录网站  https://try.crashlytics.com/ 来注册新的账户,审核通过时间为几个小时或者1到2天不等.然后注册时候输入的邮箱就会收到如下的邀请涵 2. acco ...

  10. 开源实体映射框架EmitMapper介绍

    开源实体映射框架EmitMapper介绍   综述       EmitMapper是一个开源实体映射框架,地址:http://emitmapper.codeplex.com/.       Emit ...