马尼拉Unity开发者研究会 笔记

本文转自:http://ndark.wordpress.com/2013/05/12/20130511-新德里unity开发者研讨会-笔记/
(墙外)

图片 1图片 2

说明

本文单纯只是笔记,若有笔误敬请谅解。

相关参考连结

  1. 你无法不通晓的Unity引擎知识

  2. Unity Asia Bootcamp 巴塞罗那场–
    线上看出

  3. Unity 明天首次在台举行澳大利亚开发者商量会–
    巴哈姆特

  4. Unity着色器系统介绍(幻灯片)

  5. Unity 开发者论坛-迈阿密场(Unity ASIA BOOTCAMP TOUR TAIPEI
    )研究会
  6. 分级专访:Unity 教育表明与黑龙江高等教育的深度对谈| Unity IN |
    社群✕媒体✕平台
  7. Unity –
    Mecanim品质与优化

总论

  1. 开发者成长速度与左侧速度是Unity在江西的优势。
  2. 在Facebook与360刘灠器中预设安装Unity Plugin。
  3. 大陸有超過400個Android商城。
  4. 表达培训(新竹法高校,高应科大等院校)。
  5. 鬼武者魂由Unity開發,Server端使用PHP。
  6. 开发者必须求专注的三品级:开发-平台-广告金流。

您不可不知的Unity開發技巧

  1. Unity三種網頁發佈的措施:WebPlayer,Flash(功用低下),Chrome
    NaCl(Native C++,不须求Plugin)。
  2. Plugin的本子分别:Stable,Release,Beta,Alpha。可以修改网页码来指定plugin的下载版本与来自。
  3. Web缓存许可证(收费):“大家提供的合并Web播放器,可以在地面缓存的财力包的相当规增加那是基于大家的政工费用协会得到了一项合计,授权一般是授权给开发者提供了较大的料想收入和。没有规模较小的根底“。
  4. 怎么着动态更新Unity产品的Source
    Code:透过将程式码输出为二维的TextAsset,然后在卷入到AssetBundle中。
  5. Unity4已扶助动态字型,nGUI2.6才支援动态字型(东南亚字体)。(EZGUI近年来就已救助-感谢永康ㄉㄉ堤供情报)
  6. GameObject.Destroy不会移除该物件的资源(Mesh,Texture,Material等)。
  7. Scaleform的仅支援Unity3.5.x
  8. 网路伺服器的清单:PhotonElectronSmartFoxuLinkSlimNetSlimIOCP
  9. NavMesh.Triangle()函式
  10. 王者之剑<蓝港在线>使用Unity开发的2D游戏。
  11. 支出2D游玩的插件:Sprite
    Manager
    Ex2D
  12. Unity Cache Server是支付协会用来在不相同平台(资源)公布时的增速格局。
  13. Asset Server已不建議使用。
  14. 扶风,91都会融洽付出对Unity的金流SDK。
  15. 由此设定优化发表的制品档案大小。

运动平台优化宗旨

  1. 每个动态物件(角色)的三角形形面数在300到2000时期。
  2. 各类动态物件(角色)的Skinned Mesh Renderer仅用一个。
  3. 每个动态物件(角色)的材料数只用一个。
  4. 每个动态物件(角色)的骨架限制在30根以下。
  5. 使用Dynamic
    Batching
    集合那多少个杂类的动态物件。
  6. 静态物件设定为Static,方可举办Static Batching。
  7. 在3.5使用静态物件时移除Animation的零部件。
  8. 时势(Terrain)的始发解析度設定為257之下。
  9. 形势(Terrain)筆刷貼圖數目控制在4以下。
  10. 贴图解析度大小决定在1024以下。
  11. 3D游戏开启Mipmap会扩大回想体但是可加快功能。
  12. 貼圖uv控制在0~1。
  13. 音乐档案利用ogg/mp4,短音效使用wav。
  14. 光源使用Light Map/Light Probe来取代动态光源。
  15. 动用方向光。
  16. Pixel Light控制在1~2。
  17. 支配壁画机的z-near与z-far平面。
  18. 设定物件的删减距离。
  19. 小物件又很远得时候就绝不画。
  20. 粒子系统将粒子总数控制在200以下。
  21. 粒子系统每个发射器发射粒子控制在50之下。
  22. 粒子的深浅越小越好。
  23. 老大小的粒子去掉alpha channel。
  24. 毫无开启粒子的相撞。
  25. 碰撞類型不要使用Mesh Collider。
  26. 減少使用Animation組件。
  27. 不缩放的卡通片,去除Scale Curves的参数。
  28. 若只使用一个AnimationClip,就采取Unity 3.5的动画系统。
  29. 使用Macanim(Unity 4的動畫系統),要搭配使用Body Mask。
  30. IK選用Generic Mode。Humanoid Mode在Android上會耗費嚴重的效应。
  31. 渲染时裁减使用Alpha测试与alpha混合。
  32. Draw Call
    Batching
    分为Static与Dynamic。后者点数控制在900下,若包含Position,诺玛l,UV,则是300。
  33. 行使Texture Packing将差异物件的材质变为相同,但必须手动修改UV。
  34. 使用遮挡剔除时战战兢兢设定谨慎设定封堵器(墙)与Occludee的角色。设定PVS只,PV和动态目标,自动生成门户(会转移的门)。
  35. 程式码,使用项目变数来暂存目标。
  36. 设定Fixed Delta Time在0.04到0.067之间。
  37. IOS发布时拔取的高效和丰裕不支持的颁发格局。
  38. Shader收缩使用数学函式,缩小使用Discard。Vertex使用Float,TextureUV使用哈尔f,颜色与光使用Fixed。
  39. 在PowerVR的硬体下有时候利用八个Vec2反而会比较快。
  40. 使用Profiler。
  41. 运用Manager的架构来支配物件会比把每个物件都挂上脚本功能高。

资产包

  1. Resource那种读取资源的形状(有2G限制)会逐步移除,统一改用Asset
    Bundle(可离线创制)
  2. Web缓存只可以放资产包。
  3. Asset Bundle建出之后是有相容性的,ios与android的Asset
    Bundle与其他平台互不相容。
  4. BuildPipeline.BuildAssetBundle()是用来树立多少个资金的资产包。
  5. BuildPipeline.BuildStreamedSceneAssetBundle()则是用来树立七个情景的资产包。
  6. BuildAssetBundleOptions.DeterministicAssetBundle来建立对资本的杂凑的ID做增量公布。
  7. 资金 assetBundleObj = WWW.AssetBundle->使用中的资产包。 新
    捆绑可再展开加密动作。AssetBundle.Load() –
    >载入资产。
  8. 卸載流程:
    GameObject.Destroy()
    AssetBundle.Unload
    (false)只會卸載WWW.AssetBundle,AssetBundle.Unload(true)則會卸載WWW.AssetBundle以及相關資源。true的效果相較於使用false再拔取Resources.UnloadUnusedAssets
    ()成效並不等同。 把相同的資源基底打包為Asset捆绑
    使用BuildPipeline.PushAssetDependencies()来树立资金包里面的关连性。
  9. 范例1:把共通资源打包。
    Push
    Build共通资源包
    Push
    Build物件包1
    Pop
    Push
    Build物件包2
    Pop
    Pop
  10. 范例2:把Level所选拔的资源也做成器重格局。
    Push
    Build Level1
    Push
    Build Level2 (依赖于Level1)
    Push
    Build Level3 (依赖于Level2与Level2)
  11. 范例3:把场景包依赖于共通资源包
  12. 将设定各资源包看重关系的XML设定为ScriptableObject并封装到Asset
    Bundle内
  13. 将气象切割为Asset Bundle的方法,等分,如切成九宫格。
  14. 将气象切割为Asset
    Bundle的主意,分大物件,中物件,小物件。让大物件先读入先突显。
  15. WWW.LoadFromCacheOrDownload()可设定版号。
  16. WWW.LoadFromCacheOrDownload的crc发生办法可透过错误使用同一个函式来发出真确值。
  17. 程式碼的加密過程:Assembly->Byte->TextAsset->加密->Asset
    Bundle->加密->TextAsset->Asset Bundle。
  18. 行使native dll来保证紧要程式码,但Web应用不可以采纳dll。

合并着色器系统

  1. 透过Shader Name就会活动发出选拔Shader的架构。
  2. SubShader可视为真正的Shader,由上而下执行。
  3. SubShader的Tag表示什么实施:可指定执行的依次。
  4. SubShader的Tag表示什么表現。
  5. 著色方式Vertex Lit:快,限制多。
  6. 着色方式Forward:将灯光分为最要紧+不首要以及其余主要。区分格局可手动,也能够根据强度与大势来自动决定。
  7. 着色方式Deferred:手机不能接纳,也不扶助透明。
  8. CG/HSSL会被转译为GLSL。
  9. 行使基本Shader会必要写132行的程式,使用Surface
    Shader来做隐藏简化:标明surfae code与light code。
  10. #pragma debug可以将躲藏的程式码突显在程式码中。
  11. 透过user define keyword将参数传入shader中。

相关文章