- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
游戏引擎框架中脚本系统应用研究
游戏引擎框架中脚本系统应用研究中图分类号:TP 文献标识码:A 文章编号:1007-0745(2012)08-0126-01
摘要:本文浅析Lua、Python脚本语言的特点,介绍并总结脚本系统在游戏引擎框架中的应用,并指出了可视化脚本系统在游戏引擎的发展趋势。
关键词:游戏架构 可视化脚本系统 脚本语言
一、引言
随着游戏产业的蓬勃发展,在国外涌现出一大批优秀的三维游戏引擎,著名的商业引擎有Epic公司的Unreal系列引擎、Crytek公司的CryEngine系列引擎、BigWorld公司的BigWorld引擎和Garage Games公司的Torque 3D引擎等。优秀三维游戏引擎通常包括:渲染引擎、物理引擎、音效引擎、脚本系统、动画系统、人工智能、网络引擎等,而且提供方便、快捷、有效、可扩展的接口以方便游戏开发人员在这个接口上开发游戏相应的模块,并且还提供了功能极其强大的编辑器,主要包括场景编辑器、模型编辑器、物理系统编辑器和粒子系统编辑器等,并配备齐全的第三方插件进行导入和导出,以满足各种复杂的游戏开发的需求。游戏引擎主要是通过脚本系统来控制游戏内容和游戏逻辑[1],即将游戏内容和游戏引擎相分离,避免硬编码,可以不需要重新编译整个工程的情况下,调整、测试和修改游戏运行的机制和特性,并且还能够在发布后很容易的进行扩展[2]。
二、游戏开发中脚本语言的应用
由于游戏引擎规模越来越复杂,游戏内容情节越来越丰富,使脚本技术在游戏引擎框架得到广泛的应用,并且已经成为其中不可或缺的组成部分,在游戏应用领域中大放异彩。目前比较流行的脚本语言:Lua、Python、GameMonkey及Ruby等,其中Lua 是一个小巧、精悍、高效的脚本语言,其设计目的主要是为了嵌入应用程序中,进而为应用程序提供灵活的扩展、配置和定制功能。Lua脚本和C/C++代码可以相互调用,也可以作为配置文件,并且更加容易理解和维护,这使得其得到广泛应用。Lua由标准C代码实现,代码简洁优美,并支持跨平台编译和执行。Lua是一种为支持有数据描述机制的一般过程式编程语言而设计的扩展编程语言[4]。
其实现过程主要是载入Lua基本库(#include “lua.h”、#include “lauxlib.h”和#include “lualib.h”)、编写Lua的脚本文件,并调用Lua函数,在Lua中是以函数指针的形式调用函数,任何在Lua中注册的函数必须有同样的原型为:typedef int(*lua_CFunction)(lua_State *L)、执行Lua脚本文件(lua_dofile(L, “脚本文件名”)来完成。目前应用程序采用Lua作为嵌入式脚本语言,以此来实现可配置性、可扩展性,其中包括魔兽世界、愤怒的小鸟等。
而Python是一种面向对象、可扩展性、直译式的语言,其语法简捷而易学,具有丰富和强大的类库的支持。Python标准库的主要提供了:系统管理、数据库接口、文本和文件处理、图形系统、网络通信和协议等功能,Python社区提供了大量、成熟而可靠的第三方应用模块更是大放异采,主要涉及系统编程、多媒体应用、科学计算、Web编程开发和图形系统等领域,并且可以把Python嵌入C/C++程序,但其执行的速度不够快。
目前无论是商业的Unreal、CryEngine及Unity3D等引擎还是开源的图形渲染引擎OGRE,无不例外都提供了相应的脚本系统,从而实现了与外部进行很好的交互,避免直接调用底层,从而使得编码变得简单容易[3]。
三、脚本系统
由于在游戏引擎创建脚本系统能够缩短游戏程序编译时间、减少模块之间的耦合度,有利于代码的复用[5],延长游戏软件的生命周期,降低了开发的成本,提高了开发效率。脚本系统在总体设计上分为属性脚本和命令脚本系统的设计,开发游戏脚本系统,其优点在于:可以创建自定义的脚本语言(语法和语义的规则);为程序提供灵活的可扩展性;发布和授权脚本系统(Lua遵守MIT),缺点主要需要开发人员掌握关于编译器理论、虚拟机等相关领域知识;需要大量花费时间去测试以确保其稳定,其中比较成熟脚本如Unreal Script是为Unreal开发人员创建的,是一种强大的内置的编程语言,主要设计目标: 支持时间、网络、属性等新兴的概念并简化了游戏编程。Unreal提供的诸如Unreal Kismet是一个灵活且强大的可视化脚本系统,它允许非开发人员编写关卡中的复杂的游戏性流程脚本,进而帮助用户创建丰富的游戏剧情等,从而使得可视化脚本系统有着无可比拟的开发效率,进而走在游戏开发设计的最前沿。
四、结束语
为了降低游戏开发进度和难度,当前游戏引擎中都包含可视化脚本系统,其具有友好界面、操作方便、功能强大、修
您可能关注的文档
最近下载
- 某公司服装生产线单件流实施方案.doc VIP
- 2025年四川省绵阳市中考数学二模试卷.docx
- 中职英语教案:Food-and-Drinks(全6课时).doc VIP
- 1019高二【历史(统编版)】近代以来中国的官员选拔与管理(下)-课件.pptx VIP
- 南阳历史文化名镇保护规划(2021-2035)文本+图集(100页).pdf VIP
- WinCC与Office办公平台的数据报表集成DataMonitor.pptx
- 1015高二【历史(统编版)】近代以来中国的官员选拔与管理(上)-课件.pptx VIP
- 双照楼诗词稿.docx VIP
- 锅炉维修施工方案.pdf VIP
- 美剧剧本绝望主妇台词本中英文对照精排版第一季第一集.pdf VIP
文档评论(0)