查看Unity导出的apk包资源

安卓的apk包可以将后缀改成.zip之后解压。但是由于unity会对游戏内的资源进行压缩,所以直接通过解压包的方式,并不能看到具体的游戏资源。

这时候查看资源就需要用到一个开源工具AssetStudio,这里是工具下载https://github.com/Perfare/AssetStudio/releases

首先下载AssetStudio的压缩包,解压后启动AssetStudioGUI,然后在AssetStudioGUI的菜单栏点击File->Load Folder选择刚才由apk包解压出来的文件夹

载入后可以在Scene Hierarchy看到包体内的场景结构,在Asset List可以看到资源文件

 在Asset List下的搜索栏输入文件后缀,可以筛选对应的文件

选中下方的文件,右键选择export selected assets可以批量导出文件。

可以用这个来查看shader文件,以及一些lua脚本等。l这边尝试将自己项目的shader导出查看对比,发现实际项目中编写的shader跟导出的文件是不太一样的。所以导出的shader并不能直接使用。下面节选了部分导出的shader内容,Properties基本一致,到SubShader开始差异就特别大了

Properties {
_Tint ("_Tint", Color) = (1,1,1,1)
_MainTex ("_MainTex (albedo)", 2D) = "white" { }
[Header(Alpha)] [Toggle(_CLIPPING)] _Clipping ("Alpha Clipping", Float) = 1
_Cutoff ("_Cutoff (Alpha Cutoff)", Range(0, 1)) = 0.5
[Header(Shadow)] _GroundHeight ("_GroundHeight", Float) = 0
_ShadowColor ("_ShadowColor", Color) = (0,0,0,0.5)
_ShadowFalloff ("_ShadowFalloff", Range(0, 1)) = 0.05
_SrcBlend ("__src", Float) = 1
_DstBlend ("__dst", Float) = 0
_ZWrite ("__zw", Float) = 1
_Cull ("__cull", Float) = 2
_Specular ("Specular", Color) = (1,1,1,1)
_Gloss ("Gloss", Range(8, 256)) = 80
}
SubShader {
 LOD 100
 Tags { "IGNOREPROJECTOR" = "true" "QUEUE" = "Transparent" "RenderType" = "Transparent" }
 Pass {
  LOD 100
  Tags { "IGNOREPROJECTOR" = "true" "LIGHTMODE" = "FORWARDBASE" "QUEUE" = "Transparent" "RenderType" = "Transparent" "SHADOWSUPPORT" = "true" }
  Blend SrcAlpha OneMinusSrcAlpha, SrcAlpha OneMinusSrcAlpha
  ZWrite Off
  GpuProgramID 16829
Program "vp" {
SubProgram "gles3 hw_tier00 " {
Keywords { "DIRECTIONAL" }
"#ifdef VERTEX
#version 300 es

猜你喜欢

转载自blog.csdn.net/shaobing32/article/details/123239363