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版本的解决方案。

  • 相关阅读:
    (转)交换两个变量的值,不使用第三个变量的四种法方
    Java权威编码规范
    Git的安装和设置
    ActiveMQ简单入门
    JMS术语
    求助 WPF ListViewItem样式问题
    初步探讨WPF的ListView控件(涉及模板、查找子控件)
    圆角button
    用Inno Setup来解决.NetFramework安装问题
    [!!!!!]Inno Setup教程-常见问题解答
  • 原文地址:https://www.cnblogs.com/unionfind/p/3592026.html
Copyright © 2011-2022 走看看