unity架构原则(摸索、增补中)

1,逻辑集中原则:

一定不要到处挂脚本,那样会使逻辑梳理起来非常困难。尽量在大模块的根节点上挂大脚本,里面包囊括此模块所有子孙节点的控制逻辑。

2,部分引用整体原则:

各节点脚本中都要存有其所属模块的根节点的引用,以便实现任何一个节点都能访问其所在的整个模块。

另外注意最好不要在节点脚本中public GameObject m_moduleRoot并在inspector中连接模块根节点引用,这样容易导致调整Hierarchy时引用丢失,最好是在节点脚本中private GameObject m_moduleRoot并在节点脚本的Awake函数中通过m_moduleRoot=GameObject.FindWithTag(tagOfModuleRoot)来获得模块根节点的引用。

而模块根节点脚本中要保存其所属的更大模块的根节点的引用。

3,引用集中原则:

节点保存有其所属模块根节点的引用,同时模块根节点脚本中要保存其所属的更大模块的根节点的引用。这样就够了(足够每个节点在整个Hierarchy中想访问谁访问谁了),不要再在脚本中保存其它节点的引用了,那样会导致混乱并容易造成引用丢失。

4,prefab无限可apply原则:

如果你把一个模块做成了prefab,这个prefab可能在同一个scene中添加多个,甚至添加到了多个scene中。设所有这些实例为instance(1),instance(2),...,instance(n),那么理想状态下我们应该保证对于任何一个instance(i)来说,对它点apply都不会对工程造成任何影响。注意,这是一个必可实现但又很难实现的原则。

时间: 2024-10-23 21:05:19

unity架构原则(摸索、增补中)的相关文章

三层架构在登录窗体中的实现

    刚刚学习了三层的内容,初接触三层,一头的雾水,原来在一个界面上自己还玩不转呢,现在又加了两层,于是自己看过了三层的视频之后就有种置身迷宫中的感觉,身陷重重围墙之中足足转了一周多的时间(当然有效时间没有那么多喽O(∩_∩)O~),今天,自己总算是找到了点感觉,现总结如下,望大家多多指教! 从不同的角度区划分,三层有不同的诠释.从物理角度区划分,三层包括显示层.业务层.数据层:从逻辑角度划分,三层包括用户层.业务逻辑层.数据访问层.接下来我将从逻辑角度给大家做一个详细的介绍: **用户层(U

架构原则

我们的软件架构设计与管理将基于业界公认的TOGAF Framework 体系结构, 我们的软件分析与设计将基于业界著名的Domain Driven Design领域模式,我们的软件开发管理将基于业界流行的Scrum敏捷管理流程.以这三大理论体系为依托我们制定创建了我们自己的总体架构原则.目标架构和基于.NET的面向领域的多层体系结构框架.在此基础上我们从领域模型和系统概要设计的角度描述了系统的逻辑架构. 1. 总体架构原则 1) 遵循标准 在设计和开发中使用开放标准和行业标准. 2) 子系统/模

三层架构在登录窗体中再实现(二)

在上一篇博客中介绍了自己学习的三层架构在登录窗体中实现的过程,感觉自己略有所懂,时至今日才发现自己欠缺的东西还是很多的,自己的理解还是很不够深入的.再次实现登录功能,不同的是自己用到了不同的语言--vb.net,只有在这个过程中才发现了自己真正的问题之所在: 一.尽管明白各层之间的调用关系,但是并不了解是具体如何调用,或者说是在调用什么: 二.对于vb.net中的一些基础知识还是有很多的欠缺的: 三.陌生的开发环境让加上三层之间的切换让自己有点晕头转向: 这就是自己在初期的真实感受,不过,经过自

Unity在Android和iOS中如何调用Native API

本文主要是对unity中如何在Android和iOS中调用Native API进行介绍. 首先unity支持在C#中调用C++ dll,这样可以在Android和iOS中提供C++接口在unity中调用.利用这一特性,可以扩展unity的功能.例如集成和调用第三方库.同时为了满足对unity接口的一致性,可以考虑在android和iOS上提供相同的接口供C#调用. 这里列举以下两个例子. 1. 1. 以弹出一个覆盖部分屏幕的webview为例来说明如何从C#调用Native接口. 2. 2. 简

Unity脚本在层级面板中的执行顺序测试4-附加内容

测试4为一些附加内容,后面的各种tips都加在此. 前几篇测试的链接: Unity脚本在层级面板中的执行顺序测试1 http://www.cnblogs.com/hont/p/4298110.html Unity脚本在层级面板中的执行顺序测试2 http://www.cnblogs.com/hont/p/5034419.html Unity脚本在层级面板中的执行顺序测试3 http://www.cnblogs.com/hont/p/5179427.html 1.基本执行顺序 Awake OnEn

Unity Mecanim在大型mmo中的应用

Unity的新动画系统Mecanim出来也有一阵子了,我的第一个Unity项目就是使用这个动画系统.但是只是做了最基本的应用,没有做深入的研究. Mecanim的好处有三点:1.动画重定向,可以最大程度的复用动画资源   2.可视化编辑的状态机    3.Blend Tree可以方便的做动画融合,例如一边跑一边攻击. 但是对于我而言,Mecanim在使用上感觉有些蹩脚,最大的问题就是在可视化的状态机编辑上了. 这个状态机让动画编辑变得容易了,不需要一行代码就可以控制动作的流转,像Temple R

JavaScript全讲-架构原则解析

因为近期一直在忙,非常久没有更新,见谅. 上篇我们讲完JavaScript函数式编程的特性,今天我们就来聊聊JavaScript中的架构. 提到JavaScript架构.非常多人会认为不可思议,由于架构多是针对类似Java这样的强语言,而JavaScript一直被看成是弱语言,它有设计模式,能够用来构建架构吗? 答案无疑是肯定的! 设计模式本身是一种非常重量级的东西.当JavaScript被当做辅助使用时.谈架构反而会添加复杂度! 所以这么多年.大家并没有看到JavaScript关于设计模式.架

针对架构设计的几个痛点,我总结出的架构原则和模式

一.分层架构 分层架构是最常见的架构,也被称为n层架构.多年以来,许多企业和公司都在他们的项目中使用这种架构,它已经几乎成为事实标准,因此被大多数架构师.开发者和软件设计者所熟知. 分层架构中的层次和组件是水平方向的分层,每层扮演应用程序中特定的角色.根据需求和软件复杂度,我们可以设计N层,但大多数应用程序使用3-4层.有太多层的设计会很糟糕,将导致复杂度的上升,因为我们必须维护每一层.在传统的分层架构中,分层包括表现层.业务或者服务层,以及数据访问层. 表现层负责应用程序的用户交互和用户体验(

设计原则在手机摄影中的运用

作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请保留这段声明. 为了给在校的最后一年留下纪念,最近我总是拿着手机溜达到校园的角落拍照.手机拍照很容易分享.我渐渐发现,那些最受朋友喜爱的照片,无意识中符合了某些设计原则.这些原则交错游走,不断遵循和打破,最终定格成下面的一张张照片. 统一 如果说艺术是对生活的提炼,那么摄影就是对视觉的提炼.所谓的“提炼”,就是从日常看到的东西中做减法,把一个画面中的所有元素统一到同一个主题上来.我们需要不断去掉画面中的杂乱元