【Unity3d】将PSD直接导出成UGUI界面(二)

之前一篇博文介绍了Psd 2 Unity uGUI Pro这个插件(【Unity3d】将PSD直接导出成UGUI界面(一))。经过更长时间的使用之后发现一些需要注意的地方,也是这个插件可以更加完善的地方。

首先是Photoshop中,之前用过的插件是图层不能出现中文命名,这个插件支持所有语言,但是图层名字后一定要加“=PNG”或“=JPG”等标识,不然脚本会跳过该图层,不将图层信息写入json文件中,而且组不能加上标识不然整个组会被切成一张图片(当然如果我们要的就是这个效果就另当别论了)。所以我们需要给所有图层加上标识。如果图层很多的话可以写一个PS脚本一键重命名所有图层,先全部命名为=“PNG”,在讲需要单独导出成JPG或其他配置的进行修改,因为毕竟UI大多都是PNG格式的图片。
PSD设置
PS脚本中使用需要判断是组还是图层,如果是组,就取组中的Layers继续判断,这里采用递归的方法可以很方便的实现这一功能:

function TryRenameArtLayer(layers)
{
    for (var i = 0; i < layers.length; i++)
    {
        var layer = layers[i];
        if(layer.typename == 'ArtLayer')
        {
            layer.name += "=PNG";
        }
        else
        {
            TryRenameArtLayer(layer.layers);
        }
    }
}

将psd文件处理过后我们会得到一个资源文件夹和一个json文件,右击json文件选择Set as Psd 2 Unity Pro’s Target可以打开界面生成面板并将自动配置structure和file。而右击空白处打开Set as Psd 2 Unity Pro’s Target则需要手动配置structure和file。其中Target配置的Root物体,我们可以直接选择Canvas或者Canvas下的某个子物体,但是需要注意的是这里只能先使用Space-Overlay,如果需要用Space-Camera或者World Space类型,可以在界面生成之后再设置。
Canvas设置
生成之后的界面中,UI元素的Raycast Target默认是勾选状态,不过在制作界面的时候,对于不需要交互的元素,我们最好还是把这个设置勾掉,特别是有些会覆盖到按钮的元素(一般是带有透明部分的图片,一不小心会有部分覆盖到按钮上,很难被发现)。可以全选所有Image或者Text,将Raycast Target勾掉。也可以写一个脚本,获取子物体上的Image和Text控件,然后将raycastTarget设置会false,再对按钮的Raycast Target进行单独设置。当然如果不嫌麻烦的话可以每个UI物体单独设置。脚本需要编写Editor脚本。先顶一个SetRaycastTarget空类:

public class SetRaycastTarget : MonoBehaviour
{


}

然后重写该类Editor的OnInspectorGUI方法(需新建一个对应的SetRaycastTargetEditor脚本):

[CustomEditor(typeof(SetRaycastTarget))]
public class SetRaycastTargetEditor : Editor
{
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        SetRaycastTarget raycast = (SetRaycastTarget)target;

        if(GUILayout.Button("Set Raycast Target"))
        {
            var image = raycast.GetComponentsInChildren<Image>(true);
            for(int i = 0; i < image.Length; i++)
                image[i].raycastTarget = false;

            var text = raycast.GetComponentsInChildren<Text>(true);
            for (int i = 0; i < text.Length; i++)
                text[i].raycastTarget = false;
        }
    }

}

将脚本挂载到Canvas上,点击Inspetcor上的Set Raycast Target按钮,就能一键设置了。
SetRaycastTarget

By:蒋志杰

### 回答1: 抱歉,我是AI语言模型,无法提供图文并茂的回答。但是,以下是一些常用的Kali Linux命令: 1. apt-get:用于安装、升级和删除软件包。 2. apt-cache:用于查询软件包的信息。 3. dpkg:用于安装、升级和删除Debian软件包。 4. ls:列出目录中的文件和子目录。 5. cd:更改当前工作目录。 6. pwd:显示当前工作目录的路径。 7. mkdir:创建一个新目录。 8. rm:删除文件或目录。 9. cp:复制文件或目录。 10. mv:移动文件或目录。 11. chmod:更改文件或目录的权限。 12. chown:更改文件或目录的所有者。 13. ps:显示当前正在运行的进程。 14. top:显示系统资源使用情况。 15. netstat:显示网络连接和端口状态。 16. ifconfig:显示网络接口的配置信息。 17. ping:测试网络连接。 18. traceroute:显示数据包从源到目的地的路径。 19. nmap:扫描网络主机和端口。 20. metasploit:用于渗透测试和漏洞利用。 希望这些命令能够帮助您更好地使用Kali Linux。 ### 回答2: Kali Linux是一种基于Debian的Linux发行版,专门用于渗透测试和网络安全审计。以下是Kali Linux中的常用命令: 1. ls:列出当前目录中的文件和文件夹。 2. cd:更改当前工作目录。 3. pwd:显示当前所在的工作目录。 4. mkdir:创建一个新的目录。 5. rmdir:删除一个空目录。 6. touch:创建一个空文件或这更新已有的文件的时间戳。 7. cat:查看文件的内容。 8. cp:将文件从一个位置复制到另一个位置。 9. mv:将文件重命名或将文件从一个位置移动到另一个位置。 10. rm:删除文件或目录。 11. chmod:更改文件或目录的权限。 12. chown:更改文件或目录的所有者。 13. ps:显示当前运行的进程。 14. top:显示系统中运行的进程。 15. netstat:显示系统的网络状态和连接。 16. arp:显示和管理系统的ARP缓存。 17. tcpdump:抓取和分析网络流量。 18. ping:测试网络连接的可用性。 19. traceroute:显示到达目标主机的路径。 20. ifconfig:显示和配置系统的网络接口。 以上是一些常用的Kali Linux命令,稍加练习,能熟练掌握这些命令对于渗透测试和网络安全非常重要。另外,在使用这些命令时应该非常小心,因为它们有一些危险的操作,如删除文件或更改系统文件,这些操作可能会影响到系统的稳定性。 ### 回答3: Kali Linux是一种流行的开放源代码安全渗透测试操作系统,可用于各种用途包括扫描漏洞、破解密码、网络攻击等。要使用Kali Linux,您需要学习一些基本命令。以下是一些常用的命令。 1. ls 命令:列出当前目录下的所有文件和子目录。 2. pwd 命令:显示当前工作目录的完整路径。 3. cd 命令:更改工作目录。例如,cd /home/user/Desktop, 就可以把工作目录切换到桌面。 4. mkdir 命令:创建一个新的目录。 5. rmdir 命令:删除一个目录。先使用 cd 命令到目录外,再使用 rmdir 命令。 6. mv 命令:移动或重命名文件。例如,mv file1.txt file2.txt, 就可以把 file1.txt 重命名为 file2.txt。 7. cp 命令:将文件复制到另一个目录或者重命名文件。例如,cp file1.txt /home/user/Desktop, 就可以将 file1.txt 复制到桌面。 8. touch 命令:创建一个空文件或者修改文件的最后修改时间。例如,touch file1.txt, 就可以创建一个名为 file1.txt 的空文件。 9. rm 命令:删除文件或目录。例如,rm file1.txt, 就可以删除名为 file1.txt 的文件。 10. sudo 命令:以管理员权限执行命令。 以上是一些Kali Linux常用命令,您可以根据自己的需要学习使用。同时,对于更高级的操作,您还可以研究一些其他命令,例如:ping、nmap、netstat、ifconfig、iwconfig、airmon-ng、aireplay-ng 和 arpspoof 等。这些命令可用于扫描网络、跟踪数据包、嗅探攻击、改变MAC地址等。总之,对于那些想要掌握Kali Linux的专业人员来说,这些命令是非常重要的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值