无论是创建 2D 还是 3D 游戏,Unity 都很拿手。在 Unity 中创建新项目时,可以选择以 2D 或 3D 模式启动。您可能已经知道要构建什么,但有一些细微的要点可能会影响选择的模式。
选择是以 2D 还是 3D 模式启动决定了 Unity Editor 的一些设置,例如图像是作为纹理还是精灵导入。无论在创建项目时设置何种模式,都可以随时在 2D 或 3D 模式之间切换(请参阅 2D 和 3D 模式设置)。下面这些指导原则有助于做出选择。
3D 游戏通常使用三维几何体,在游戏对象的表面上渲染材质和纹理,使它们看起来像构成游戏世界的坚固环境、角色和对象。摄像机可以在场景中及其周围自由移动,并以逼真的方式在游戏世界中投射光线和阴影。3D 游戏通常使用透视渲染场景,因此当对象靠近摄像机时,对象在屏幕上显得更大。对于符合此描述的所有游戏,请采用 3D 模式。
有时游戏使用 3D 几何体,但使用正交摄像机,而不是透视。这是游戏中常用的技巧,可用于对动作进行鸟瞰,有时也称为“2.5D”。如果要制作这样的游戏,还应该在 3D 模式下使用 Editor,因为即使没有透视,仍将使用 3D 模型和资源。但此情况下需要将摄像机和 Scene 视图切换为正交 (Orthographic) 视图。
许多 2D 游戏使用平面图形,有时称为精灵(没有任何三维几何体)。它们作为平面图像被绘制到屏幕上,而且游戏的摄像机没有透视。对于这种类型的游戏,应该以 2D 模式启动 Editor。
一些 2D 游戏将 3D 几何体用于环境和角色,但将游戏玩法限制为二维模式。例如,摄像机可以显示横向卷轴视图,并且玩家只能在两个维度上移动,但是游戏本身仍然将 3D 模型用于障碍物并且将 3D 透视用于摄像机。对于这些游戏,3D 效果的用途可能是为了营造风格,而不是充当某种功能。这种类型的游戏有时也被称为“2.5D”。尽管游戏玩法是 2D,但主要是操纵 3D 模型来构建游戏,因此应该以 3D 模式启动 Editor。
这是另一种流行的 2D 游戏风格,使用 2D 图形,但通过透视摄像机来获得视差卷轴效果。这是一个“纸板剧院”风格的场景,所有图形都是平面的,但按照与摄像机之间的不同距离排列。在这种情况下,2D 模式最有可能符合开发要求。但是,应将摄像机的投影模式更改为透视 (Perspective),并将 Scene 视图模式更改为 3D。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.