• QQ
  • nahooten@sina.com
  • 常州市九洲新世界花苑15-2

游戏开发

Unity项目架构设计与开发管理

原创内容,转载请注明原文网址:http://homeqin.cn/a/wenzhangboke/jishutiandi/youxikaifa/2018/1114/187.html

Unity项目架构设计与开发管理

 
 
对于刚接触Unity的初学者来说还是非常有经验的开发者来说,掌握项目架构设计与开发管理是迟早要掌握的知识点,为了能够帮到大家,下面我们常州游戏开发培训-幻天网络就给大家介绍下Unity项目架构设计与开发管理的知识。
1.EmptyGO
2.SimpleGameManager
3.ManagerofManagers
4.MVCS(StrageloC)
5.MVVM(uFrame)
…….
1.EmptyGo
//MainManager
EventManager
//Streamline messaging between classes.
AudioManager
//Control audio playback from one place.
GUIManager
//Centralize the controls to handle clicks.etc.
PoolManager
//Persist prefab instances in RAM and display them as needed.
LevelManager
//Queue up leves and perform transitions between  them. 这里有个插件可以参考一下:Mad LeveManager
GameManager
//manage the core game mechanics.usually projects pecific.
SaveManger
//Save and load user preferences and achievements.这里有个插件可以参考一下:Save Manager
MenuManger
//Control all menus animations contents and behaviors.
一个中型以上的项目至少有:
 1. Level Manager
 2. Pool Manager
 3. Save Manager
 1. GameManager
 2. EvemtManager
 3. MenuManager
 4. GUIManager
 5. AudioManager
内存管理问题:a simple pool design:
public GameObject Spawn(GameOjbect go)
    GameObject temp = null;
    if(dormantObjects.Count > 0)
    {
        foreach(GameObject dob in dormantObjects)
        {
            if(dob.name == go.name)
            {
                temp = dob;
                dormantObjects.Remove(temp);
                return temp;
            }
        }
    }
    temp = GameObject.Instantiate(go) as GameObject;
    temp.name = go.name;
    return temp;

public void Despawn(GameObject go)
    go.transform.parent = PoolManager.transform;
    go.SetActive(false);
    dormantObjects.Add(go);
    Trim();
public void Trim()
    while(dormantObjects.Count > Capacity)
    {
        GameObject dob = dormantObjects[0];
        dormantObjects.RemoveAt(0);
        Destroy(dob);
    }

4.StrageIOC
IBinder.Bind<Key>().To<Value>();
IBinder.Bind<key>().To<value>().ToName(name);


上篇:上一篇:Unity3d游戏开发框架-标志量,数学管理类,时间管
下篇:下一篇:TRANSFORM_TEX详解