The UNREAL® Way(UNREAL的方法)
文档概要:虚幻引擎各方面的设计决定的讨论,也被称为UNREAL的禅宗。
文档变更记录: 由 Richard Nalezynski? 创建并维护。
概述
虚幻引擎的设计目标是使得可以尽可能容易并快速地创建一个游戏项目并运行它。为了达到这个目的,我们鼓励以 Unreal®的方法 TM 的方法处理事情,该方法是我们使用引擎来处理事情更加倾向的方法。
请记住本引擎是一个成熟的系统,在大多数情况下,为什么某些事情在特定的情况下要以特定的方式完成是有其实际原因的,而且 在虚幻引擎的情境中 我们所提供的解决方案通常是最好的也是最实用的。正如在过去所说的,设计孤立的系统可能比虚幻引擎更容易变得先进、容易使用或者更加高效,但当使它和其它的游戏代码协同工作及使它在可以接受的帧频率下运行时,则会引起无数的令人头痛的问题。
我们因此鼓励您使用我们所提供的解决方案,这可以最小化您对核心引擎的操作,因为它可以在使用和融合将来的版本方面为您节约无数的时间和努力。跟随我们制作的游戏项目的模型,这些项目都是用你们正在使用的引擎创建的! 隔离您的游戏项目-无论是在内容上以及代码上。为了使您的修改不会影响到核心引擎,请尽量在你自己的模块中创建核心组件类的子类以及拷贝示例游戏中已经实现的功能, 这不仅对版本融合有用,同时也对支持有所帮助。
和所有使用授权技术的项目一样,你必须对融合更新的代码所需要的时间及努力和您的改变(或大规模的子系统替换)将带来的改善做出权衡。如果您有任何关于引擎修改的设计目标或者仅仅是想以某种方式了解技术的挑战和妥协的问题,请以适当的方式自由地向我们提问。
要获得常见问题列表,请查看常见问题 页面;要获得隐含问题列表,请查看 常见技术问题 页面。
最佳实践
编码标准
要获得使用该技术开发虚幻引擎及游戏的所使用的Epic的编码标准,请查看编码标准页面。
高层次的概念
Native C++编码讲解
对于使用虚幻引擎进行编程的新手,要获得使用虚幻引擎的简单的编码讲解,请访问编码讲解 页面。
包和版本
关于虚幻引擎中的包及资源展示的概述,请参照Unreal包页面。
一般实现
Unreal单位(Unreal Units)
要获得已经讨论的关于改变Unreal单位的复杂任务的问题概要,请访问改变单位页面。
分区(Zoning)
大多数”分区”的功能已经被移入到”体积”中;同样地,EPIC将不再在关卡中使用分区。请查看 VisibilityCulling(可见性剔除)页面获得更多信息。
宽屏 (Widescreen)
我们设计的游戏是16:9的FOV,所以在另一个4:3的FOV中看到的效果是不同的。对于没有很多垂直FOV的游戏,使用固定的水平FOV或许是一个好的选择,所以如果你没有管状视,4:3的FOV是可以仍然播放的。这就意味着您在4:3的FOV中将比在宽屏上看到更多的内容,但是如果我们设计游戏的FOV为16:9时则并不把那看成一个问题。
如果您设计一个锁定垂直FOV 16:9的游戏,那么你不能获得比16:9更广的FOV但是可以获得一个比4:3窄一些的FOV。或许平衡这些意味着您在4:3的FOV上有管状视。如果您不想那样,要获得一个比正常的16:9的FOV更宽的FOV,意味着您不仅要为水平方向的关卡描画更多的象素,也可能要描画更多的三角形/几何体,从而导致性能额外地产生下降。从我们设计的立场来看,如果您的主焦点为16:9,那么锁定垂直FOV不是一个好的方法。
在过去的PC游戏中,因为大多数玩家都使用4:3的屏幕,所以我们发行过使用锁定垂直FOV的游戏,这样也使第一人称武器更加容易了,但是对于16:9的FOV,意味着固定的水平视场更加可取,这也是我们现在所使用的方式。
虚幻脚本
一般来说,UnrealScript是作为虚幻引擎的一部分而设计的-所以UnrealScript本身是也是引擎技术设计决定的驱动力之一.
请参照UnrealScript 参考页面获得更多信息。
Important!
You are viewing documentation for the Unreal Development Kit (UDK).
If you are looking for the Unreal Engine 4 documentation, please visit the Unreal Engine 4 Documentation site.