UnrealScript(通常缩写为“UScript”)在虚幻引擎4发布之前是虚幻引擎的原生脚本语言,用于编写游戏代码和游戏玩法事件。该语言专为简单、高阶游戏编程而设计[2]。UnrealScript解释器由虚幻引擎的作者蒂姆·斯維尼编写,他同时也是另一门更早的游戏脚本语言ZZT-oop的创造者。

UnrealScript
编程范型面向对象泛型
實作者蒂姆·斯維尼
发行时间1998年5月,​25年前​(1998-05
当前版本
  • 4.24 (穩定版本)[1]
編輯維基數據鏈接
型態系統静态、强类型、安全
操作系统跨平台
文件扩展名.uc .uci .upkg
網站docs.unrealengine.com
啟發語言
C++, Java

Java类似,UnrealScript是面向对象的,不支持多重继承(类都继承自一个公共Object类),并且类的定义均存储于与之同名的单独文件中。与Java不同的是,UnrealScript没有对原始类型提供面向对象的包装。介面特性仅在虚幻引擎3和少数虚幻引擎2游戏中受到支持。UnrealScript支持运算符重载;但除函数的可选参数特性外,不支持方法重载

在2014年3月举办的游戏开发者大会上,Epic Games宣布虚幻引擎4将移除对UnrealScript的支持,改为使用C++[3]。“蓝图视觉化编程”系统将让设计师得以进行可视化编程,取代早期的Kismet可视化脚本系统[4][5]

在虚幻引擎4开发过程中的一个关键时刻是,我们围绕我自己设计的沿用了三代的脚本语言UnrealScript展开了一系列辩论。我们要让UnrealScript在未来拥有竞争力,为此我们要做些什么。之后我们不断列出让UnrealScript升级换代后需要支持的功能,以及谁可能能实现这个功能。这份列表越来越长,越来越庞大。之后我们便开了一次会来整理这份列表,做出取舍,然后指定计划,然后——就在这时我说:“你们提出要添加进UnrealScript的这些功能C++已经都有了,那为什么不直接丢掉UnrealScript直接全面倒向C++呢?要知道,最大化性能,最大化可调试性,这些优势C++都能带给我们。”
— 蒂姆·斯維尼,2017年在与Gamasutra的采访中[6]

参考文献 编辑

  1. ^ https://docs.unrealengine.com/en-US/Support/Builds/ReleaseNotes/4_24/index.html.
  2. ^ UDN - Three - UnrealScriptReference. udn.epicgames.com. [2013-06-26]. (原始内容存档于2013-07-03). 
  3. ^ Schultz, Warren. Unreal Engine 4 - First Look. About.com. [2017-12-29]. (原始内容存档于2012-05-24). 
  4. ^ Nutt, Christian. Epic's Tim Sweeney lays out the case for Unreal Engine 4. Gamasutra. 2014-03-21 [2017-10-03]. (原始内容存档于2017-10-03). 
  5. ^ Grayson, Nathan. Fortnite's Jessen Talks Minecraft, PC Gaming, UE4. Rock, Paper, Shotgun. 2012-07-20 [2018-05-01]. (原始内容存档于2018-05-01). 
  6. ^ Wawro, Alex. For Tim Sweeney, advancing Epic means racing into AR and VR. Gamasutra. 2017-03-01 [2017-07-19]. (原始内容存档于2017-07-20).