unity sprite Mode

2015年01月27日 11:22 0 点赞 0 评论 更新于 2025-11-21 15:33

在本文中,我们将详细介绍Unity Sprite Mode相关的特性、改进、变更以及修复内容,为开发者提供全面的参考。

特性(FEATURES)

图形特性(Graphics features)

  • 着色器导入优化:着色器导入速度大幅提升,尤其是复杂的表面着色器。现在,不再在导入时为所有可能的平台编译所有着色器变体,而是按需编译所需平台的必要变体。着色器编译结果会缓存在Library文件夹下,相同的编译操作会更快完成。
  • 错误报告改进:错误报告更加准确,会在正确的行报告错误,并且在.cginc文件中的错误会报告文件名。
  • 表面着色器调试增强:无需再使用“#pragma debug”,只需在检查器中点击“Show generated code”即可。
  • 稀疏纹理支持:增加了对稀疏纹理(也称为“巨型纹理”或“分块纹理”)的支持。这是一个底层API特性,可参考SparseTexture类。在DirectX 11.2(通过分块资源)和桌面OpenGL(通过ARB_sparse_texture)上实现。
  • 立体渲染支持:在DX 11.1上增加了立体渲染支持(需要Windows 8.1和兼容硬件)。
  • iOS设备OpenGL ES 3.0支持:在iOS设备(从A7设备开始)上引入了对OpenGL ES 3.0的支持。
  • OpenGL ES 3.0 3D纹理支持:图形方面支持在OpenGL ES 3.0中使用3D纹理。

模块管理器(Module Manager)

引入了具有可更新平台支持的模块管理器。可以在不下载完整编辑器安装程序的情况下更新iOS、Android、Windows Phone 8、Blackberry Unity插件。可通过Modules菜单(位于Preferences菜单旁边)访问。

编辑器特性(Editor features)

  • 层级窗口排序更新:元素的排序现在基于变换顺序而非名称。
  • 新的编辑器API:引入了新的编辑器API AssetDatabase.FindAssets (string filter, string[] folders),可通过文件名、类型和资产标签在资产数据库中搜索资产。更多信息请参考文档。
  • 选择资产GUID获取:添加了Selection.assetGUIDs,用于获取项目浏览器中当前选择的资产。它还会返回项目浏览器第一列(双列模式下)的文件夹选择,这不属于主选择的一部分。

2D物理特性(2D Physics features)

  • 2D关节 gizmo 添加:添加了2D关节的可视化辅助工具(Gizmos)。
  • 新的2D物理组件:新增了WheelJoint2D组件。

Unity Remote升级(Unity Remote upgrade)

Unity Remote 4是适用于iOS和Android的游戏测试解决方案。从Unity 4.5开始,在iOS设备上进行游戏测试时不再有Wifi延迟。此外,还增加了对全系列iOS设备输入的支持,包括加速度计、陀螺仪和相机图像。Unity Remote 4可从Google Play和App Store免费获取。

Mecanim特性(Mecanim features)

  • AnyState转换选项添加:在AnyState转换中添加了CanTransitionToSelf选项。
  • 新的脚本函数:新增了Animator.Rebind()函数,当在游戏对象层级中进行更改时,可使用此函数手动重新绑定动画器数据集到Unity。
  • 人形骨骼根运动指定:对于人形骨骼,在导入器中可以指定一个变换节点作为动画剪辑的根运动。此变换节点将取代Mecanim自动提取的根运动(仅Pro版支持)。

Windows Store应用特性(Windows Store apps features)

  • 指南针API添加:添加了指南针API,用于检查指南针的准确性。
  • 回调方法改进:AppCallbacks方法InvokeOnUIThread和InvokeOnAppThread会检测死锁并抛出异常。新增了TryInvokeOnUIThread和TryInvokeOnAppThread,它们返回布尔值。
  • 触摸屏键盘支持:支持以编程方式打开触摸屏键盘。
  • 玩家偏好设置增强:在玩家偏好设置中增加了对缩放资源的支持,包括启动画面、中等和宽瓷砖、商店和小图标。同时,增加了对Windows 8.1缩放资源和相关设置的支持。
  • 系统光标API更新:新增了用于更改系统光标的API - AppCallbacks::SetCursor、AppCallbacks::SetCustomCursor、WSA.Cursor.SetCustomCursor。
  • 屏幕分辨率更改支持:支持在Windows 8.1上更改屏幕分辨率。

其他特性(Other features)

  • 脚本特性
  • 引入了DisallowMultipleComponentAttribute,用于禁止将同一类型的多个组件添加到单个游戏对象。
  • 添加了UnityEngine.ISerializationCallbackReceiver接口,可在序列化前和反序列化后获得回调。
  • 带有System.Serializable属性的结构体现在可以被序列化,AnimationCurve[]和double[]字段也可以被序列化。
  • Web插件特性:为Internet Explorer添加了增强的受保护模式支持,支持64位IE。

改进(IMPROVEMENTS)

2D方面

  • 默认2D着色器改进:默认2D着色器现在模拟预乘alpha,解决了某些情况下的渲染问题,例如渲染到透明渲染纹理时。
  • 精灵编辑器增强:在精灵编辑器的网格切片中添加了填充和偏移值;当编辑器处于2D模式时,iOS上的精灵纹理不再默认使用16位;精灵编辑器可用于单模式精灵;精灵现在有边框属性(以像素为单位),可在精灵导入时更改。

    脚本方面

  • Rect结构体属性添加:Rect结构体现在有min、max和size属性,便于在X和Y轴上重用相同的代码。

    安卓方面

  • 目标设备支持更新:将KitKat添加到目标设备列表中。

    资产管理方面

  • 资产后处理器访问改进:'optimizeGameObjects' 和 'extraExposedTransformPaths' 现在可以从资产后处理器访问。

    性能分析方面

  • 音频分析改进:音频分析得到改进,提供了更多相关数据和更准确的内存统计信息。

    黑莓方面

  • XML标签更新:bar - descriptor.xml文件不再使用过时的xml标签。
  • 键盘类型支持:支持键盘类型。
  • GLES 3.0支持:在z30设备上引入了GLES 3.0支持。

    其他方面

    还包括许多其他方面的改进,如文档更新、编辑器功能增强、图形性能提升等,具体内容可参考原文。

变更(CHANGES)

2D方面

  • 精灵打包策略变更:Atlas packer的DefaultPackerPolicy现在会将精灵打包为矩形,除非打包标签以“[TIGHT]”开头。新的TightPackerPolicy会紧密打包具有紧密网格的精灵,除非打包标签以“[RECT]”开头。
  • 精灵打包器状态变更:精灵打包器不再是预览功能。

    安卓方面

  • GPU分析禁用:由于驱动不稳定,暂时禁用了Adreno GPU的GPU分析。

    资产捆绑包方面

  • 构建错误处理:尝试在AssetPostprocessor中构建捆绑包现在会抛出错误。

    黑莓方面

  • 构建目标弃用:BuildTarget.BB10、BuildTargetGroup.BB10和BaseClass.BB10Player已被弃用,请使用BuildTarget.BlackBerry、BuildTargetGroup.BlackBerry和BaseClass.BlackBerryPlayer。

    编辑器方面

  • 场景视图Gizmos显示变更:带有OnSceneGUI调用的组件现在会在场景视图的Gizmos弹出窗口中显示。
  • 数据一致性检查优化:从磁盘加载对象时的数据一致性检查现在在唤醒第一个对象之前对所有对象进行,而不是交错执行这两个操作。
  • 新项目默认设置变更:新创建的Windows项目现在默认使用DirectX 11(仍可在项目设置中将DX9设为默认)。
  • 实用编辑器窗口调整:使用GUILayout时,实用编辑器窗口顶部不再自动添加10像素。
  • 精灵渲染器预览移除:移除了精灵渲染器的预览。

    其他方面

    还包括iOS、Mac、Mecanim、物理等方面的变更,具体内容可参考原文。

修复(FIXES)

2D修复

包括精灵编辑器的各种问题修复,如自定义枢轴值字段宽度调整、2D多边形碰撞器编辑器线条z位置强制为零、网格切片确认窗口添加等,具体内容可参考原文。

安卓修复

修复了许多安卓设备上的问题,如JVM环境变量问题、加速度事件时间问题、某些设备冻结问题、输入死锁问题等,具体内容可参考原文。

编辑器修复

解决了编辑器中的众多问题,如布局按钮显示问题、2D变换工具旋转问题、资产导入错误问题等,具体内容可参考原文。

图形修复

修复了图形方面的问题,如粒子系统属性动画问题、深度纹理要求问题、DirectX 11全屏应用启动问题等,具体内容可参考原文。

OpenGL ES 3.0修复

解决了OpenGL ES 3.0(Android和iOS)上的问题,如2D精灵渲染问题、布料模拟崩溃问题、第一帧损坏问题等,具体内容可参考原文。

着色器修复

修复了着色器相关的问题,如UTF8 BOM标记问题、无限回退链崩溃问题、图形模拟级别切换问题等,具体内容可参考原文。

iOS修复

解决了iOS设备上的问题,如iOS 7.1场景加载缓慢问题、CPU占用过高问题、应用构建问题等,具体内容可参考原文。