【Unity】20180903摘录笔记整理

1、C#中的四种访问修饰符
属性修饰符:
Serializable:按值将对象封送到远程服务器
STAThread:单线程套间
MATAThread:多线程套间

存取修饰符:
public:
private:
internal:当工程可存取
protected:只有包含该成员的类似及派生类可以存取

类修饰符:
abstract:抽象类,指示一个类只能作为其他类的基类,方法/属性未实现
sealed:密封方法,必须对基类的虚方法重载,和override同时使用
delegate:委托,基于delegate+event的事件驱动
Const:指定该成员的值只读不允许修改
event:声明一个事件
override:重写
readonly:一个域只能在声明时以及相同类的内部被赋值
Static:不经实例化便可使用,类型本身
virtual:指示一个方法或存区器的实现可以在继承类中被覆盖
new

2、Unity3d在移动端的一些优化资源的方法

  • 使用assetbundle,实现资源分离和共享,将内存控制到200M内,同时也可以实现资源的在线更新
  • 降低顶点数到8万以下,fps稳定到30帧左右
  • 只使用一盏动态光,不用阴影,不用光照探头
  • 剪裁粒子系统
  • 合并同时出现的粒子系统
  • 自己实现轻量级的粒子系统
  • 不需跟骨骼动画和动作过渡的地方全部使用animation,控制骨骼数量在30根以下
  • aniamtor出视野不更新,删除无意义的animator,粒子上尽量不用animator
  • 绝对禁止掉那些不带刚体带包围盒的物体运动
  • 每帧递归的计算final alpha改为只有初始化和变动时计算
  • 去掉法线计算
  • 不要每帧计算viewsize和windowsize
  • filldrawcall时构建顶点缓存使用array.copy
  • 代码裁剪:使用strip level,使用.net 2.0 Subset
  • 尽量减少smouth group
  • 给美术定一个严格的科学美术标准,并在U3D里配以相应的检查工具

    3、Camera组件的ClearFlags选成Depth only
    摄像机只渲染看见的对象,把背景完全透明,一般用在两个摄像机以上的场景中

4、设置游戏对象为Static时,这些部分被静态物体挡住而不可见时,将会被剔除<或禁用>网格对象
因此,场景中所有不会动的物体都应该标记为Static

5、渲染管道
本地坐标——视图坐标——背面裁剪——光照——裁剪——投影——视图变换——光栅化

6、插件

  • 界面制作:NGUI
  • 2D游戏制作:2DToolkit
  • 可视化编程:PlayMaker
  • 插值插件:iTween,HotWeen
  • 路径搜寻:Simple Path
  • 美术及动画制作:RageSpline,Smooth Moves
  • 画面增强:BitMap2Material,Strumpy Shader Editor
  • 摄像机管理:Security Camera
  • 资源包:Nature Pack
  • 造路插件:EasyRoad3D

7、面向对象的设计原则

  • 单一职责原则(SRR):一个类最好只做一件事,只有一个引起它的变化
  • 开放封闭原则(OCP):对应扩展是开放的,对于更改是封闭的
  • Liskov替换原则(LSP):子类必须能够替换其基类
  • 依赖倒置原则(DIP):依赖于抽象
  • 接口隔离原则(ISP):使用多个小接口,不要使用一个大的总接口

8、Unity连接数据库
需要得到Mono.Data.Sqlite.dll文件与System.Data.dll文件

猜你喜欢

转载自blog.csdn.net/Dylan_Day/article/details/82343971