Unity 图形功能的硬件要求

概要

 PC/MaciOS/AndroidFlash360/PS3
延时光照 (Deferred lighting)SM3.0、GPU 支持--
正向渲染 (Forward Rendering)SM2.0OpenGL ES 2.0
顶点光照渲染 (Vertex Lit Rendering)-
实时阴影 (Realtime Shadow)SM2.0、GPU 支持-部分支持
图像效果 (Image Effects)大部分需要 SM2.0大部分需要 OpenGL ES 2.0部分支持
顶点着色器 (Vertex Shader)SM1.1OpenGL ES 2.0
像素着色器 (Pixel Shader)SM2.0OpenGL ES 2.0
固定函数着色器 (Fixed Function Shaders)-

实时阴影

实时阴影 (Realtime Shadow) 目前可在桌面和控制台平台上运行。在桌面平台上运行时通常需要可用 Shader Model 2.0 的 GPU。在 Windows (Direct3D) 上运行时,GPU 还需支持阴影贴图功能;大部分离散 GPU 支持 2003 以后的版本,而大多数集成 GPU 支持 2007 以后的版本。技术方面,在 Direct3D 9 上 GPU 需要支持 D16/D24X8 或 DF16/DF24 纹理格式;而在 OpenGL 上需要支持 GL_ARB_depth_texture 扩展。

Flash 的确支持实时阴影,但由于缺少深度偏差以及着色器的限制,实时阴影有自投影的假象(增加光照的阴影偏移),并且边缘更“尖锐”些。

移动阴影 (iOS/Android) 需要 OpenGL ES 2.0 和 GL_OES_depth_texture 扩展。最为显著的是,该扩展无法在基于 Tegra 的 Android 设备上显示,因此在这些设备上无法生成阴影。

图像效果

图像效果需要渲染到纹理 (render-to-texture) 功能,本千年以来制造的所有设备上一般都支持此功能。但是,除了最简单的效果之外,所有的效果都需要完全可编程的像素着色器,因此,若要达到所有实际用途,桌面平台的 Shader Model 2.0(2003 以后的离散 GPU;2005 以后的集成 GPU)和移动平台的 OpenGL ES 2.0 是必不可少的。

一些图像效果在 Flash 上有效,但大部分并非如此;原因是不支持非 2 的幂的纹理、着色器限制或缺少类似深度纹理支持的功能。

着色器

在 Unity 中,您可以编写固定函数或可编程着色器。除控制台(Xbox 360 和 Playstation 3)之外,任何位置都支持固定函数。可编程着色器默认为 Shader Model 2.0 (桌面平台)和 OpenGL ES 2.0 (移动平台)。在桌面平台上,可以将 Shader Model 1.1 指定为顶点着色器的目标。

Page last updated: 2013-06-28