zoukankan      html  css  js  c++  java
  • Unity+NGUI中关于多分辨率对应多套资源的解决方案

    游戏初始的资源总是做到最高清的,但是其实低端设备没有那么好的分辨率,也没有那么多的内存支持,所以通常就会希望对这些设备做一套低清资源。前面谈到过Cocos2d-x结合CocosBuilder的解决方案,现在发现Unity+NGUI也有对应的做法。

    首先明确一个概念就是在这个解决方案中,不管是高分辨率还是低分辨率下,对于一个控件而言,控件自己的尺寸是固定的,变化的是两套atlas。

    对于atlas而言,首先png尺寸上是差了一半,然后所有sprite类似于uv这样的位置大小参数,也变化成一半,最后有一个叫Pixel Size的参数,要变成两倍。如果贴图缩小了一半,那么贴图里一个像素占的位置就应该增加一倍,所以注意保持各款配置中,贴图尺寸*PixelSize的值一样就行了。

    接下来对应使用了atlas的ui prefab,我们可以写代码自动生成一份half版本,把所有的贴图引用改成指向half贴图。其实在NGUI里面还提供了另一种解决方案:atlas除了标准版之外,还可以选择一种引用版,专门用于指向具体的标准atlas。可以在ui prefab里面全部使用这种引用atlas,然后再根据具体情况指定引用atlas指向正确的版本。

    这个做法有个问题就是如果想在平时的工作中看到效果,引用atlas必定要已经指向某个版本。但是最后如果这样直接打包,那么载入的时候,会先载入已经指向的版本,再载入正确的版本。所以官方推荐做法是在做版本之前,把这些引用atlas的指向都先清空。我觉得还好,但是同事觉得麻烦,目前就还是用的代码自动生成half版本的解决方案。

  • 相关阅读:
    c# base knowledge
    Asp.net life cycle introduction
    Build a excel which contains downlist.
    using Assembly to create object
    Build a endtoend log to record system performance.
    转帖 饱含人生哲理的真情嘱咐
    Using nunit in website and class project.
    updatepanel summary
    我的项目 系统性能优化
    service数据改变时发广播给前端activity供显示
  • 原文地址:https://www.cnblogs.com/unionfind/p/3592026.html
Copyright © 2011-2022 走看看