Ureal Engine(以下简称UE)是Epic Games开发的游戏引擎。他与游戏Ureal Tournament 2004(UT2004)一起发布。UE和UT2004都分别发布了Windows,Linux和Macintosh版本。UE针对第一人称射击游戏(FPS)提供了丰富的接口,如3D图形,立体音效,武器系统,脚本开发以及物理仿真引擎。UE还提供了强大友好的开发工具,包括用于开发竞技场(arena),3D模型和地形(terrain)的Unreal Editor,脚本编译器UCC。Epic Games还提供一些可选的开发工具和插件,如脚本开发的UDE,从Maya或3dsmax导入模型和动画工具ActorX等。这些工具都可从[1]下载到。

我先简单介绍一下用UE开发游戏的基本方法。前面已经提到UE是针对第一人称射击类游戏开发的游戏引擎,最新版本是Unreal Engine3。基于UE开发的游戏有:Unreal Tournament[2],Mass Effect[3]等等。PC平台游戏大致分为一下几类:

1. FPS(First Person Shooting Game)

可以认为是Action Game的一个分支。Counter-Striker就是一款十分流行的FPS游戏。还有Unreal Tournament,使命召唤系列都是FPS类型。

2. STG(Shooting Game)

会和FPS混淆。STG的特点是玩家操作一个飞行物或其他移动物体完成任务。此类经典游戏有:雷电,沙罗曼蛇,猎杀潜航等。

3. RTS(Real Time Strategy)

目前十分流行的星际,魔兽都是RTS。

4. ACT(Action Game)

FPS和STG都属于ACT游戏。有的ACT游戏出了射击元素外,还有更丰富的内容。比如Ubisoft出的分裂细胞系列游戏就淡化了射击,而更强调近身搏杀和潜入。

5. RAC(Racing Game)

代表作:极品飞车系列。

6. SPT(Sporting Game)

代表作:实况,NBA等。

还有很多其它类型,参见[4]。

  FPS STG RTS ACT RAC SPT
3D图形要求
立体声
物理仿真
实时性
AI智能
AI策略多样性

FPS游戏尽量给玩家提供前所未有的游戏体验。这种体验可以模拟真实的战争场面,也可以模拟科幻场景。FPS游戏还可以进一步细分为竞技类和情节类(我自己分的)。竞技类如CS,游戏没有具体背景,玩家体验很简单,杀人和团队合作的快感。情节类有使命召唤等。此类游戏往往需要一定的背景,可以源于历史,也可以是科幻。玩家不仅能体验杀人的快感,还有更随情节发展体验人物内心,有点像RPG。

UE作为FPS游戏引擎,不仅提供了3D图形引擎,声音引擎和物理仿真引擎,还提供了Unreal Script用于AI开发。UE3还提供了更方便的Kismet[5],让非程序员能用图形化的方式开发游戏流程。本文目的是介绍包含于UT2004的Unreal Engine 2.5。

Unreal Editor

首先介绍Unreal Editor(简称UnrealEd)的主要概念。用UnrealEd构建地图时,最好把UnrealEd中的空间想象未一块足够大的粘土,而你是一个技术高超的雕刻家,高超到可以穿透到粘土里面挖出一块空间。整个地图都包含在这个空间里。然后你还可以向空间中添加各种物体和效果等。

Unreal Editor主界面如下图。

创建基本世界空间

在UnrealEd中,“雕刻”世界空间的工具叫做Brush.UnrealEd提供一些简单常用的Brush可以穿件基本几何体。你也可以用2D编辑器创建复杂点的Brush,也可以从Max,Maya导入。

右击立方体,会弹出Brush属性对话框。

修改后点击Build。

此时立方体空间还没被创建,还需要从粘土中将这一块减掉。怎么减呢?

出现,贴图时默认贴图。

好丑啊!我们先编译一下,点击,发现又变成漆黑一片。因为我们还没加灯光。

然后重新编译

到这里我们基本上完成了一个竞技场的创建,但如果你点击运行地图的话,会弹出错误:

通过最后一行,我们发现原来还没有添加玩家初始点。添加玩家初始点与添加光源相似,右击选择“Add Player Start Here”,出现,然后切换到前视图或左视图,选择初始点,按住Ctrl+鼠标左键,将其拖到立方体底部,如下图。一定要将初始点放在底部,否则编译会出错。重新编译后会发现初始点自动调整到合适位置,然后就可以运行地图了。

下一节我将介绍用3dsmax创建几何体并导入到UE中。

[1]http://udn.epicgames.com/Main/WebHome.html

[2]http://www.unrealtournament.com/

[3]http://masseffect.bioware.com/

[4]http://baike.baidu.com/view/18461.htm

[5]http://udn.epicgames.com/Three/KismetUserGuide.html

基于Unreal Engine 2的救援机器人仿真平台开发(一)相关推荐

  1. matlab如何打开dcm_MATLAB结合Unreal Engine构建用以自动驾驶仿真测试的逼真驾驶场景...

    之前的文章<MATLAB/Simulink自动驾驶工具箱之Driving Scenario Designer>提到了MathWorks自己开发的场景构建工具Driving Scenario ...

  2. Isaac Sim机器人仿真平台

    Isaac 仿真 简介 Nvidia机器人项目的两个目标之一就是机器人的现实仿真.仿真的优势在于机器人系统和算法的开发.测试以及评估都可以在仿真环境中实现,而不需要真实机器人,这加速了开发速度. Is ...

  3. 干货 | 浅谈机器人仿真平台

    " 仿真是机器人学习和研究过程中最重要的工具之一,是指通过计算机对实际的物理系统进行模拟的技术.机器人仿真基于交互式计算机图形技术和机器人学理论,生成机器人的几何图形,并对其进行三维显示,用 ...

  4. 机器人仿真平台——RobotHw

    说明:本次内容基于本博客中每章内容进行代码整合和重构,设计了一个新的机器人仿真平台软件RobotHw(纯完全个人设计) 一.新增和改动内容包括 1.界面UI重构,设计了新的界面操作系统,优化操作逻辑 ...

  5. 【控制】《多无人机协同控制技术》周伟老师-第12章-基于 Multi-Agent 的多无人机协同控制仿真平台的设计与实现

    第11章 回到目录 无 第12章-基于 Multi-Agent 的多无人机协同控制仿真平台的设计与实现 12.1 多无人机协同控制视景仿真系统设计 12.1.1 多无人机协同控制视景仿真系统功能描述 ...

  6. Webots 机器人仿真平台(一) 系统安装

    系统安装 1 Webot介绍 2 Webot安装 2.1 ubuntu环境安装 2.2 Windows环境安装 3 参考资料 1 Webot介绍 Webots是一个开源的三维移动机器人模拟器,它与ga ...

  7. Webots 机器人仿真平台(三) 新建环境模型

    新建环境模型 1 新建世界模型 2 添加机器人模型 3 添加机器人控制器 参考资料 这篇博客介绍如何在webot中新建一个世界并在该环境中加入障碍物.机器人等元素,并添加机器人对应的控制器.这可以帮助 ...

  8. Webots 机器人仿真平台(五) 新建四轮小车模型

    新建机器人模型 1 添加机器人本体 1.1 添加Body 1.2 添加机器人轮子 2 添加距离传感器 3 小结 参考资料 下图为我们这篇博客创建的小车效果,接下来我们一步一步的实现在webots中搭建 ...

  9. Webots 机器人仿真平台(二) 与ROS通讯

    Webot 与ROS通讯 1 Webot Ubuntu客户端与ROS通讯 1.1 配置webots_ros包 1.2 启动webots_ros包 1.3 gmapping建图测试 1.4 键盘遥控we ...

最新文章

  1. 10个小动作帮你简化生活
  2. 4G EPS 中的 Control Plane
  3. P1975 [国家集训队]排队(三维偏序)
  4. Tensorflow实现线性回归
  5. Tornado之异步authenticated
  6. Fortran 语言学习(菜鸟都可以看得懂的入门级教程)(持续更新中ing...)
  7. WordPress模板制作教程
  8. Meta-Tracker: Fast and Robust Online Adaptation for Visual Object Trackers
  9. translation exercise 3
  10. IMF Fintech负责人:金融科技监管体制设计的五原则
  11. e4a和php教程,2019开源影视APP优化运营版+对接苹果cms10+全套类库E4A资源+开发文档+搭建教程源码...
  12. 视频教程-项目管理12个微案例-项目管理
  13. 酷睿i7 11700什么水平 i711700怎么样 i7 11700属于高端吗
  14. jm8.6之参数,函数简介
  15. win10系统通过文件名称快速搜索文件的软件
  16. 华为荣耀8电信卡显示无服务器,华为荣耀手机实现双电信卡双待双通,5步告诉你真相...
  17. (附源码)计算机毕业设计SSM基于的仓库管理系统
  18. 区块链到底是个什么鬼?
  19. 单调函数的不连续点可数——泛函分析观点
  20. GNU Radio系列教程(一):什么是GNU Radio?为什么我需要用GNU Radio?

热门文章

  1. 简单的正片叠底字教程
  2. 一个人和一家企业的半山腰:在京东完成技术转身之际
  3. 博诺杯工业机器人比赛2019_嘉兴技师学院 智能制造 师生同台献技艺 赛场争相出佳绩——记2020机械行业“博诺杯”工业机器人维修调试与技术应用大赛...
  4. Oracle EBS-SQL (SYS-18):检查系统安装的各个表是否打开(PJM%).sql
  5. Python基础知识:if语句
  6. 三星商城 S21 优惠券大乌龙后续:用户已收到 4000 元打款
  7. 新手如何学好C++?
  8. 排他思想 (Js代码实现,有经典案例)
  9. Feathers UI 性能优化
  10. 公众号开发模式下客服消息开发