android 修改 dpi_UnityPlayerSetting-Android 打包设置介绍

951698d835e773441c9913239d98e1a1.png

Resolution And Presentation

Start in fullscreen mode

以全屏模式启动

在启用的情况下,在第一次启动时隐藏导航栏(拦窗),如果未设置,则在第一次启动时或者加载第一个场景时出现导航栏(拦窗)。

Render Outside Safe Area

安全区域外渲染

如果启用将利用所有可用的屏幕空间,将渲染布局扩展到显示切口区域。

Preserve framebuffer alpha

保留帧缓冲区

如果想让Unity在原生Android UI上渲染,可以启用这个选项,相机必须将清除标志设置为Alpha小于1的纯色才能生效(仅限OpenGL ES )。

Resolution Scaling

Resolution Scaling Mode

分辨率缩放模式

FixedDPI

固定DPI

允许您将设备的屏幕分辨率缩放到其原始分辨率以下,并显示Target DPI属性。使用此功能可优化性能和电池寿命,或目标特定的DPI设置。

Target DPI(当“ 分辨率缩放模式”设置为“ 固定DPI ”时,此选项才会出现)

目标DPI,设置游戏的分辨率,如果设备的本机屏幕DPI高于此值,则Unity则会自动将游戏屏幕DPI缩小以匹配此设置。

比例计算为公式为:min(Target DPI * Factor / Screen DPI, 1)。该因子由“ 质量”窗口上的“ 分辨率缩放固定比例DPI因子 ” 控制(Edit->Quality->Resolution Scaling Fixed DPI Factor)。

Disabled

确保不应用缩放,并且游戏呈现其原始屏幕分辨率。

Blit Type

位块传输类型

Always

总是使用

使Unity渲染到屏幕外缓冲区,然后复制到系统帧缓冲区。这与大多数设备兼容,这与大多数设备兼容,但通常比从不使用慢。

Never

从不使用

使Unity渲染到操作系统提供的帧缓冲区。如果在应用程序运行期间出现某种情况导致失败,则应用程序将向设备日志打印一次性警告。从不使用通常比总是使用快,但它不能与所有设备兼容。

Auto

自动

如果可能,将使用Unity渲染到操作系统提供的帧缓冲区。如果满足阻止您的应用程序渲染到系统帧缓冲区的条件,则该应用程序将切换到屏幕外渲染,并向设备控制台发出警告。

Supported Aspect Ratio

Aspect Ratio Mode

设备的宽高比模式

Legacy Wide Screen (1.86)

传统宽屏(1.86)。

Native Aspect Ratio

本机宽高比(原始宽高比)。

Custom

自定义宽高比,当选择Custom的时候出现Up To。

Up To

最大屏幕宽高比。

Orientation

Default Orientation(此设置Android和IOS通用)

默认方向

Portrait

设备为纵向,垂直于手,Home键在下方,日常看手机的方向

Portrait Upside Down

设备为纵向,垂直于手,Home键在上方,日常看手机的反方向

Landscape Left

设备为横向,垂直于手,Home键在左方

Landscape Right

设备为横向,垂直于手,Home键在右方

Auto Rotation

自动旋转

Allowed Orientations for Auto Rotation

允许自动旋转的方向(只有在选择自动旋转的情况下可选择)

Portrait

是否允许纵向

Portrait Upside Down

是否允许纵向倒置

Landscape Right

是否允许右横向

Landscape Left

是否允许左横向

Use 32-bit Display Buffer

使用32位显示缓冲区

在启用的情况下,可创建一个显示缓冲区以容纳32位颜色值(默认为16位)。如果看到纹理或在后处理效果中需要alpha,请使用它,因为它们会创建渲染纹理。

与显示缓冲区的格式相同。

Disable Depth and Stencil

禁用深度和模具

在启用的情况下,禁用深度和模板缓冲区。

Show Loading Indicator

显示加载指示符

选择加载指示符的显示方式。可选择: Don’t Show,Large,Inversed Large,Small, Small。

Splash Image

Virtual Reality Splash Image

虚拟现实启动画面

Splash screen(PC和Android是一样的设置)

Show Splash screen

个人版无法选择关闭启动(默认开启,Pro或者Plus版本可以选择关闭)。

Preview

预览设置的开机动画效果

Splash Style

Dark on Light

背景颜色偏灰色,在显示Unity Logo的情况下,Unity Logo颜色为黑色。

Light on Dark

背景颜色偏给黑色,在显示Unity Logo的情况下,Unity Logo颜色为白色。

Animation

Static

没有动画, Logo和背景静止显示

Doll

背景和 Logo做放大动画。

Custom

自定义动画

logo zoom

Logo 放大程度。

background zoom

背景放大程度。

Logos(PC和Android是一样的设置)*

Show Unity logo

是否显示Unity的Logo(个人版不可以选择,Pro,Plus版本可以进行选择)

Draw Mode

Unity Logo Below

Unity Logo显示在自己设置Logo的下方,每次同时显示两个Logo(一个Unity的Logo,一个自己设置的)。如果没有设置自己的Logo Unity Logo还是会在中间位置显示。

Unity

All Sequential

每个Logo按顺序显示在屏幕中间。

Logos

Logo Duration

Logo显示时长(以秒为单位)。

Background(PC和Android是一样的设置)

Overlay Opacity

覆盖不透明度

设置背景的覆盖的透明度 ,1为完全不透明 0完全透明。

Background Color

背景的颜色

在没有设置背景图片的情况下可以设置。

Background Image

背景图片

在设置了背景图片的情况下,不能设置背景颜色

Alternate Portrait Image*

设置备用纵向图片(竖屏设备)。如果没有指定Alternate Portrait Image Sprite,将自动使用使用背景图进行纵向和横向模式。

Static Splash Image(仅Android有)

Image

安卓启动时候的图片(静态的)。

Scaing

Center(only scale down)

居中(仅缩小)

Scale to fit(letter-boxed)

自适应缩放(宽高比不变)

Scale to fill(cropped)

自适应填充(裁剪)

——————————————————————————————————————

OtherSettings

Rendering

ColorSpace

Gamma:伽马色彩空间

Linear:线性色彩空间

Auto Graphics API

是否自动选择 OpenGL API

在启用的情况下,Unity会首先尝试使用GLES3.2。如果设备不支持GLES3.2,则Unity会退回到GLES3.1,GLES3或GLES2。

在不启用的情况下,可以自行选择API,共三个选项:OpenGLES3,OpenGLES2和Vukan。

Multithreaded Rendering

多线程渲染

在启用的情况下,渲染API调用从Unity主线程移动到单独的工作线程,可以帮助提高主线程CUP使用频率较高的应用程序性能。

Static Batching

静态批处理

在启用的情况下,在项目构建过程中使用静态批处理。

Dynamic Batching

动态批处理

在启用的情况下,在项目构建过程中使用动态批处理。

GPU Skinning

GPU蒙皮

在启用的情况下,GPU在即将在CUP中进行的蒙皮工作转移到GUP中进行

说明:此操作只支持VR应用,仅在项目中选择支持虚拟现实时才起作用

Graphics Jobs (Experimental)

图形作业(实验)

在启用此选项的情况下,可指示Unity将图形任务(渲染循环)卸载到在其他CPU内核上运行的工作线程。这减少了在主线程上使用Camera.Render的时间,这通常是一个瓶颈。

注意:此功能是实验性的。它可能无法为项目带来性能上的改进,并且可能会导致不稳定。

当前仅在使用Vulkan时支持图形作业,而在使用OpenGL ES 时此设置无效。

Lightmap Streaming Enabled

启用光照贴图流

在启用的情况下,可仅在需要时加载光照贴图mipmap。要渲染当前的游戏摄影机,Unity会在生成纹理时将该值应用于光照贴图纹理。

注意:要使用此值,请启用Texture Streaming Quality setting(纹理流质量设置)。

Streaming Priority

流的优先级

定义光照贴图资源争用时,mip map流优先级。有效范围是-127到128,其中正数表示较高的优先级。仅当选中“启用光照贴图流” 时,此设置才可用。要使用此值,请启用“ 纹理流质量”设置。

Protect Graphics Memory

保护图形内存

在启用的情况下,会强制通过硬件保护的通道显示图形缓冲区。仅在支持它的设备上工作。

Enable Frame Timing Stats

启用帧定时统计

在启用时,收集有关帧占用CPU和GPU的时间的统计信息。

Vulkan Settings

SRGB Write Mode*

SRGB写入模式

在启用的情况下,允许Vulkan渲染器上的Graphics.SetSRGBWrite()切换sRGB写入模式。

注意:启用此功能可能会降低性能,特别是对于平铺的GPU。

Identification

Package Name

包的名称

设置应用程序ID,该ID是在设备上或者应用商店上的唯一标识,基本格式为:com.CompanyName.AppName,可以随意设置。

说明:此项设置在Android和IOS之间共享。

Version

版本号

该版本号用于标识捆绑软件的迭代(已发行或未发行),例如:8.2.3

说明:此项设置在Android和IOS之间共享。

Bundle Version Code

内部版本号

此项设置可以用来确定一个版本是否比另一个版本新,此项版本号不展示给用户,该数字由VersionName设置。

说明:该设置必须为整数。

Minimum API Level

最低API(Android Sdk)等级

运行该应用程序时所需要的最低Android SDK版本。

Target API Level

目标API(Android Sdk)等级

编译应用程序时所针对的Android SDK版本。

Configuration

Scripting Runtime Version

脚本运行时版本

.NET 3.5 Equivalent (Deprecated)

不建议使用

实现.NET 3.5 API的.NET运行时。此功能已被弃用,不应再使用。请使用.NET 4。

.NET 4.x Equivalent

实现.NET 4 API的.NET运行时。该API比.NET 3.5更新,因此,它可以访问更多API,与更多外部库兼容,并且支持C#6。这是默认的脚本运行时。

Scripting Backend

脚本后端(脚本编译模式)

Mono

将C#代码编译为.NET公共中间语言(CIL),并使用公共语言运行时执行该CIL。

IL2CPP

将C#代码编译为CIL,将CIL转换为C ++,然后将该C ++编译为本机代码,该代码直接在运行时执行。

API Compatibility Level

.NET API兼容等级

选择在项目中使用的.NET API。

注意:此设置可能会影响与第三方库的兼容性。

.Net 2.0

.Net2.0库,最大的.net兼容性,最大的文件大小(使用.net2.0库的所有AP)。已弃用的.NET 3.5运行时的一部分。

.Net 2.0 Subset

完全与.Net兼容性的子集,文件更小(使用部分.net2.0库的API)。已弃用的.NET 3.5运行时的一部分。

.Net Standard 2.0

与.NET Standard 2.0兼容。生成较小的版本,并具有完整的跨平台支持。

.Net 4.x

与.NET Framework 4(包括.NET Standard 2.0配置文件中的所有内容以及其他API)兼容。当使用访问.NET Standard 2.0中未包含的API的库时,请选择此选项。生成更大的版本,并不一定在所有平台上都支持任何可用的其他API。

C++ Compiler Configuration

C ++编译器配置

选择在编译IL2CPP生成的代码时使用的C ++编译器配置。

说明:只有在脚本后端选择IL2CPP才可以进行选择。

Mute Other Audio Sources

静音其他音频源

在启用的情况下,将会停止其他的应用程序在后台使用音频,如果没有启用,其他应用程序则可以在后台使用音频。

Disable HW Statistics

禁用硬件统计

在启用的情况下,用程序会将匿名硬件统计信息发送到Unity,反之,则不发送。

Target Architectures

目标结构

选择应用程序运行的CPU类型,可以选择32-bit ARM, 64-bit ARM, 32-bit Intel。

注意:在64位环境中运行Android应用具有性能优势,并且64位应用可以处理4GB以上的内存空间。

Split APKs by target architecture (Experimental)

按目标架构拆分apk(实验)

在启用的情况下,可为“目标架构”中每个CPU体系的系统结构创建一个单独的apk,使包体的下载大小变小。(主要应用于Google Play商店,其他的商店可能不支持)。

Install Location

安装位置

apk在设配上的安装位置。

Automatic

让系统自动选择安装位置(这样的话用户能够来回移动应用程序)。

Prefer External

如果用户有外部存储,那么优先安装在外部存储中(可能会安装失败),如果没有外部存储,那么会安装在内部存储中。

Force Internal

将应用程序安装在内部存储中(用户不能将应用程序移动到外部存储)。

Internet Access

联网设置

是否始终在AndroidManifest.xml中添加请求联网权限。

Auto

仅在使用网络API时添加联网访问权限。

Require

始终添加互联网访问权限。

Write Permission

写入权限

Internal

仅授予对内部存储的写入权限。

External(SDCard)

启用对外部存储的写入权限。并会在AndroidManifest.xml文件中添加相应请求权限代码。

Filter Touches When Obscured

遮挡滤镜

启用此选项可在另一个可见窗口覆盖Unity应用程序时放弃接收到的触摸。这是为了防止窃听。

Sustained Performance Mode

持续性能模式

在启用的情况下,可在更长的时间内设置可预测且一致的设备性能水平,而不会产生热调节。启用此设置后,整体性能可能会降低。基于Android Sustained Performance API。

Maximum Java Heap Size

最大Java堆大小

将最大Java堆大小设置为要构建的用户(以兆字节为单位)。默认为4096。

Low Accuracy Location

应该是关于GPS和安卓之间的一些设置。(暂时不知道具体是干什么用的)。

Android TV Compatibility

Android TV兼容性

是否兼容Andorid TV。

Android Game

Android游戏(仅对Android TV起作用)

在启用的情况下,将apk标记为游戏而不是常规应用程序。

Android Gamepad Support Level

Android Gamepad支持级别(仅对Android TV起作用)

选择对游戏手柄提供的级别支持,可选择使用D-Pad,支持游戏手柄和需要游戏手柄。

Scripting Define Symbols

自定义宏命令

Allow ‘unsafe’ Code

允许使用“不安全”代码

在启用的情况下,会支持对预定义程序集中编译不安全的C#代码。

Active Input Handling

主动输入管理

Input Manager

输入控制器

使用传统的Input Manager

Input System (Preview)

输入系统(预览)

使用需要安装InputSystem包,如果未安装选择了此选项,除了会进行一些额外处理外,对别的没有任何影响。

Both

同时使用两个输入系统。

Optimization

Prebake Collision Meshes

预烘焙碰撞网格

在启用的情况,在项目构建的时候,将碰撞数据传输到网格。

Keep Loaded Shaders Alive

保持着色器活跃

在启用的情况下,可以防止着色器被卸载。

Preloaded Assets

预加载资源

设置资源数组,以供项目在启动的时候预加载。

Strip Engine Code (IL2CPP only)

脱机引擎代码(仅IL2CPP可用)

在启用的情况下,指定Unity Linker工具是否删除项目未使用的Unity Engine功能的代码。

Managed Stripping Level

托管剥离等级

定义Unity如何积极剥离未使用的托管(C#)代码。Unity Linker进程可以从项目中使用的托管动态链接库中剥离未使用的代码。剥离代码可以使生成的可执行文件显着减小,但有时会错误地删除实际使用的代码。

Enable Internal profiler (Deprecated)

启用内部分析器(以弃用)

在启用的情况下,在项目调试时,可以使用adb logcat获取分析器数据(仅在Development Build开启的情况下可用)。

Vertex Compression

顶点压缩

可以为除了 lightmap UV和位置外的所有内容启用压缩。

整个网格,每个导入对象的压缩设置,将覆盖在对象上设置顶点压缩的位置,其他的一切都将遵循这些压缩顶点设置。

Optimize Mesh Data

优化网格数据

在启用的情况下,会从网格中删除应用到物体上的不需要的数据(如:UV,法线,切线)。

Logging

设置日志类型

Legacy

Clamp BlendShapes (Deprecated)

限制混合形状(不建议使用)

在启用的情况下,在SkinnedMeshRenderers中限制住混合形状权重的范围。

——————————————————————————————————————

Publishing Settings

发布设置

可以自定义构建Android应用

Keystore

Use Existing Keystore Create New Keystore

使用一个已经存在的秘钥库 创建一个新的秘钥库

Browse Keystore Browses to select key store name

浏览秘钥库 浏览以选择密钥库存储库名称

从系统文件中将已经创建好的秘钥库导入进来

Keystore password

秘钥库密码

Confirm password

确认密码

此操作只在创建新的秘钥库文件的时候使用。

Key

Alias

选择秘钥。

Password

上面选择的秘钥密码。

Build

Custom Gradle Template

自定义Gradle模板

在启用的情况下,可以更改Gradle构建文件,自定义打包Gradle过程。

文件位置:Assets/Plugins/Android/mainTemplate.gradle。

User Proguard File

用户混淆文件

在启用的情况下,可以使用混淆文件来缩小和优化应用程序。

文件位置:Assets/Plugins/Android/proguard-user.txt。

Minify

**Release **

**Debug **

指定是否要使用Proguard或者Gradle (Experimental) 来缩小,或者选择不启用(None),从Release(发布) 或者 Debug(调试) 的下拉菜单中来进行选择

Split Application Binary

把应用程序二进制

启用此选项会把打包出来的包拆分为两个包,一个主包(apk)和一个扩展包(OBB)。

Use Legacy SDK tools

使用旧版SDK工具

注意:启用此选项可能会增加构建时间。

——————————————————————————————————————

XR Settings

关于虚拟现实的设置。

略。

——————————————————————————————————————

void CDemoView::OnSendmessagePmctlgetfile() // // Display information about the current file. { if (! Validate()) { return; } PAN_CtlFileInfo fi; if (! SendMsg(PM_CTLGETFILE, 0, (LPARAM)(PAN_CtlFileInfo * ) &fi)) { return; } m_pWndOut->SendToOutput("PM_CTLGETFILE:\r"); switch (fi.type) { case PAN_RasterFile : m_pWndOut->SendToOutput("type: RASTER FILE"); break; case PAN_VectorFile : m_pWndOut->SendToOutput("type: VECTOR FILE"); break; case PAN_DatabaseFile : m_pWndOut->SendToOutput("type: DATABASE FILE"); break; case PAN_SpreadsheetFile : m_pWndOut->SendToOutput("type: SPREADSHEET FILE"); break; case PAN_DocumentFile : m_pWndOut->SendToOutput("type: DOCUMENT FILE"); break; case PAN_ArchiveFile : m_pWndOut->SendToOutput("type: ARCHIVE FILE"); break; } /* switch */ m_pWndOut->SendToOutput("name: %s", fi.name); m_pWndOut->SendToOutput("size: %ld", fi.size); time_t currentDate = fi.date; m_pWndOut->SendToOutput("date: %s", ctime(&currentDate)); m_pWndOut->SendToOutput("desc: %s", fi.desc); // display the dimensions PAN_CtlRange* rg = &fi.dimensions; switch (fi.type) { case PAN_VectorFile: m_pWndOut->SendToOutput("dim : %.2lf x %.2lf x %.2lf\r", rg->max.x - rg->min.x, rg->max.y - rg->min.y, rg->max.z - rg->min.z); break; case PAN_RasterFile: m_pWndOut->SendToOutput("dim : %.2lf x %.2lf\r", rg->max.x - rg->min.x, rg->max.y - rg->min.y); break; default: m_pWndOut->SendToOutput("dim : %.2lf x %.2lf\r", rg->max.x - rg->min.x , rg->max.y - rg->min.y); } m_pWndOut->SendToOutput("colr: %d (bits)", fi.colorDepth); m_pWndOut->SendToOutput("nbPg: %d", fi.nPages); if ( fi.type == PAN_RasterFile ) { m_pWndOut->SendToOutput("tiles: %d x %d", fi.tilex, fi.tiley); } if ( fi.ins.offset.x !=0 || fi.ins.offset.y !=0 || fi.ins.offset.z != 0 || fi.ins.scale.x !=0 || fi.ins.scale.y !=0 || fi.ins.scale.z != 0 ) { m_pWndOut->SendToOutput("Insertion data:\n"); m_pWndOut->SendToOutput(" Point: (%.2lf, %.2lf, %.2lf)", fi.ins.offset.x, fi.ins.offset.y, fi.ins.offset.z); m_pWndOut->SendToOutput(" Scaling: (%.2lf, %.2lf, %.2lf)", fi.ins.scale.x, fi.ins.scale.y, fi.ins.scale.z); m_pWndOut->SendToOutput(" Resolution: (%.2lf, %.2lf, %.2lf)", fi.ins.dpi.x, fi.ins.dpi.y, fi.ins.dpi.z); m_pWndOut->SendToOutput(" Rotation: %.2lf radians", fi.ins.rot); } }
07-16
这段代码是一个处理`OnSendmessagePmctlgetfile`命令消息的函数。它用于显示当前文件的信息。下面是代码的详细解释: 1. 首先,通过调用`Validate()`函数来验证当前视图的有效性,如果无效则返回。 2. 创建一个`PAN_CtlFileInfo`对象`fi`,用于存储控件文件的信息。 3. 调用`SendMsg()`函数发送`PM_CTLGETFILE`消息,并将`fi`的地址作为参数传递给消息处理函数,以获取控件文件的信息。如果发送消息失败,则返回。 4. 使用`m_pWndOut->SendToOutput()`函数将"PM_CTLGETFILE:"输出到日志输出窗口。 5. 根据文件类型(`fi.type`)使用`switch`语句,将文件类型的相关信息输出到日志输出窗口。 6. 使用`m_pWndOut->SendToOutput()`函数将文件的名称、大小、日期和描述等信息输出到日志输出窗口。 7. 根据文件类型,使用`switch`语句处理尺寸(dimensions)的输出。对于矢量文件(PAN_VectorFile),输出三维尺寸;对于栅格文件(PAN_RasterFile),输出二维尺寸;对于其他类型的文件,输出二维尺寸。 8. 使用`m_pWndOut->SendToOutput()`函数将颜色深度、页数和瓦片大小(仅适用于栅格文件)等信息输出到日志输出窗口。 9. 如果文件的插入数据(fi.ins)中存在偏移、缩放或旋转等信息,则使用`m_pWndOut->SendToOutput()`函数将插入数据的相关信息输出到日志输出窗口。 总之,这段代码用于获取并显示当前控件文件的信息,包括文件类型、名称、大小、日期、描述、尺寸、颜色深度等。它将这些信息输出到日志输出窗口,以便进行调试或查看文件的详细信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值