虚幻4中常用的按键和快捷键

虚幻4中有一些按键和快捷键很常用,牢记它们并运动到实际的项目开发中,将会大大地提高你的工作效率和使得工作更简便快捷。下面将列举它们出来:

按键   动作
 鼠标左键   选择actor
 鼠标左键+拖动   前后移动和左右旋转摄像头
 鼠标右键   选择actor并打开右键菜单
 鼠标右键+拖动 

 旋转摄像头方向
 鼠标左键+鼠标右键+拖动 

 摄像头上下左右移动
 鼠标中键+拖动 

 摄像头上下左右移动
 滑轮向上   摄像机向前移动
 滑轮向下 

 摄像机向后移动
 F   聚焦选中的actor
 箭头方向键 

 摄像机前后左右移动
 W 

 选中平移工具
 E 

 选中旋转工具
 R 

 选中缩放工具
 W+任何鼠标按键 

 摄像机向前移动
 S+任何鼠标按键 

 摄像机向后移动
 A+任何鼠标按键 

 摄像机向左移动
 D+任何鼠标按键 

 摄像机向右移动
 E+任何鼠标按键 

 摄相机向上移动
 Q+任何鼠标按键 

 摄像机向下移动
 Z+任何鼠标按键 

 增加视野(鼠标释放后会恢复原状)
 C+任何鼠标按键 

 缩小视野(鼠标释放后会恢复原状)
 Ctrl+S 

 保存场景
 Ctrl+N 

 创建新场景
 Ctrl+O 

 打开一个已有的场景
 Ctrl+Alt+S 

 另存为新场景
 Alt+鼠标左键+拖动 

 复制当前选中的actor
 Alt+鼠标右键+拖动 

 摄像机前后移动
 Alt+P 

 进入Play预览模式
 Esc  退出预览模式
 F11   进入仿真模式
   

UE4中的Actor类和Pawn类

这两个类是很重要的类,现在我们开始进入UE4的代码开发工作。首先,UE4的类框架是非常庞大的,看起来有点让人措手不及。不过正因为UE4的类框架很完善,有很多常用的代码(函数和类)是已经提供给我们了,我们只需要简单地调用来完成游戏开发的任务。所以我们可以将注意力集中于游戏功能和玩法上,而不是繁琐的实现细节上。这里介绍两个很重要的类:

Actor类

在UE4中,Actor类是可以放到游戏场景中的游戏对象的基本类型。你如果想放置任何东西到游戏场景中,必须继承Actor类。

Pawn类

Pawn类是一个代表你或者代表电脑的人工智能的游戏对象,它是可以在屏幕上控制的游戏对象。Pawn类是从Actor类中基础的,它可以通过玩家的设备(键盘、鼠标等)控制或者被人工智能脚本控制。如果它是被玩家控制的,我们通常称之为controller(控制器);如果它是被人工智能脚本控制的,我们通常称之为AI(Artificial Intelligence,人工智能),如果你经常玩游戏,那些NPC(Non-player Characters,非玩家角色)就通常具有AI行为。

接下来,我们将会创建一个放置我们的游戏角色的基本场景。

编译UE4编辑器

1) 现在,我们创建一个空白的UE4项目来开始。首先点击桌面的Epic Games Launcher,打开启动器,点击左上角的启动按钮。

2) 接着会运行创建项目的窗口。

接下来:

  • 点击“新建项目”。
  • 选择“C++”选项卡。
  • 然后从可用的项目列表中选择“基础代码”。
  • 在下方点击“...”按钮,设置你的项目位置,我这里是“E:\Unreal Projects”。
  • 接着填写项目名称,我这里是“MyProject5”。
  • 点击“创建项目”按钮。

3) 然后UE4会自动打开VS 2015(Visual Studio 2015)编辑器。(注意因为虚幻4是用VS2013生成代码的,所以我们要使用VS2013以上版本的才能正常编译。另外一点是,项目路径和项目名称不要使用中文,否则也无法编译成功。)

4) 在如下图所示的下拉列表中选择Development Editor(开发编辑器)。

5) 按Ctrl+F5进行编译,然后就会运行UE4编辑器界面,如下图所示:

二. 添加物体到场景中添加物体到场景中的方法很简单,只需要中内容浏览器中将物体拖放到视口中的场景。

1) 在内容浏览器中选择StarterContent文件夹,再选择Props子文件夹,将MaterialSphere拖放到场景中。

2) 按R键,当球体三个轴呈现一个立方体的时候,表示现在是缩放模式。可以通过点击拖动立方体来调整该物体大小。

3) 按F键,使得视口聚焦于球体。然后在StarterContent/Materials文件夹下,拖动M_Tech_Hex_Tile放置到球体中,就完成了材质的更换。什么是材质呢?材质的英文名是Material,是一种定义物体外观的方式,它就像画笔一样,只会影响物体的外表,而不会影响物体的物理属性。通过给球体换上不同的材质,你可以让球体看起来像玻璃球、像钢珠、甚至像纸球。

有喜欢UE4游戏开发的小伙伴可以加入公众号(MicrowaveGame),大家一起探讨!

UE4新手编程之创建C++项目的更多相关文章

  1. UE4新手编程之创建空白关卡和添加碰撞体

    让我们接着上次继续学习UE4引擎,今天我们学习下怎样创建空白的关卡以及添加碰撞物体. 一. 创建空白关卡 1) 点击文件 -> 新建关卡(或者按快捷键Ctrl+N). 2) 你可以选择Defau ...

  2. UE4的编程C++创建一个FPSproject(两)角色网格、动画、HUD、子弹类

    立即归还,本文将总结所有这些整理UE4有关角色的网络格.动画.子弹类HUD一个简单的实现. (五)角色加入网格 Character类为我们默认创建了一个SkeletaMeshComponent组件,所 ...

  3. 使用UE4/Unity创建VR项目

    一.主要的步骤是说一下使用UE4,在此之前先说一下使用unity创建的VR项目 1.unity创建oculus rift dk2项目 在unity中创建一个简单的场景,让摄像机能看见场景中的物体,不对 ...

  4. Django web编程1 -- 创建项目和应用

    python:3.7.2 Django:2.1.7 1.创建虚拟环境 虚拟环境是系统的一个位置,可以在其中安装包,并将其与其他python包隔离. 创建目录,命名为learning_log,并切换到这 ...

  5. UE4编程之C++创建一个FPS工程(一)创建模式&角色&处理输入

    转自:http://blog.csdn.net/u011707076/article/details/44180951 从今天开始,我们一起来学习一下,如何使用C++将一个不带有任何初学者内容的空模板 ...

  6. 在eclipse中使用maven创建springMVC项目

    一.在eclipse中创建maven-archetype-webapp项目: 1.新建项目选择maven项目 2.默认,下一步 3.选择maven-archetype-webapp,其他保持默认即可 ...

  7. Intellij Idea 创建Web项目入门(一)转

    Intellij Idea 创建Web项目入门(一) 相关软件: Intellij Idea14:http://pan.baidu.com/s/1nu16VyD JDK7:http://pan.bai ...

  8. CUDA samples 2.3节 用CUDA示例来创建CUDA项目

    2.3.1. Creating CUDA Projects for Windows 略 2.3.2  Creating CUDA Projects for Linux 默认的samples的安装路径 ...

  9. 跟着刚哥学习Spring框架--创建HelloWorld项目(一)

    1.Spring框架简介 Spring是一个开源框架,Spring是在2003年兴起的一个轻量级的开源框架,由Rod johnson创建.主要对JavaBean的生命周期进行管理的轻量级框架,Spri ...

随机推荐

  1. 打印Ibatis最后,SQL声明

    做项目时,满足这一需求.我们希望最终打印出在数据库运行SQL声明,这些都普遍遇到了一些一般性问题.我会去Appfuse,结果这次没有成功.它是有相关的配置,可是好像没实用.我也就没有深查下去.我想这种 ...

  2. java查找反复类/jar包/普通文件

    开发web应用时,有时更新了类却没有生效,事实上是由于jboss/tomcat中其它公布包下有同名类(包含全路径都同样). 于是萌发了做个程序来检查指定文件夹是否存在反复类(通过asm从类文件里取类的 ...

  3. Nginx搭建反向代理服务器

    [大型网站技术实践]初级篇:借助Nginx搭建反向代理服务器   一.反向代理:Web服务器的“经纪人” 1.1 反向代理初印象 反向代理(Reverse Proxy)方式是指以代理服务器来接受int ...

  4. Android从无知到有知——NO.4

    因为我们做的是手机安全卫士,因此,我们需要一个地图定位功能,些相关的项目,也有一些教程.到百度官方下载了相关的jar包和API,但自己建项目的时候却不是那么顺利,bug不断,弄得心烦意乱,最后最终臣服 ...

  5. 使用sqlldr向Oracle导入大的文本(txt)文件

    我们有多种方法可以向Oracle数据库里导入文本文件,但如果导入的文本文件过大,例如5G,10G的文本文件,有些方法就不尽如意了,例如PLSQL Developer中的导入文本功能,如果文本文件过大, ...

  6. JavaScript中对数组的操作

    原文:JavaScript中对数组的操作 一:数组的使用 1.定义:JavaScript中对数组的定义有两种形式.如: .var arr = [12,3,5,8]; .var arr = new Ar ...

  7. Redis源代码分析(二十四)--- tool工具类(2)

    在上篇文章中初步的分析了一下,Redis工具类文件里的一些使用方法,包含2个随机算法和循环冗余校验算法,今天,继续学习Redis中的其它的一些辅助工具类的使用方法.包含里面的大小端转换算法,sha算法 ...

  8. NYOJ 58 步数最少 【BFS】

    意甲冠军:不解释. 策略:如果: 这个问题也可以用深宽搜索搜索中使用.我曾经写过,使用深层搜索.最近的学校范围内的搜索,拿这个问题来试试你的手. 代码: #include<stdio.h> ...

  9. .NET MVC通过反射获取数据修

    .NET MVC通过反射获取数据修 折磨了我一个晚上的问题,奈何对物理的反射印象太深了,整天去想着物理的反射.折射怎么解.感谢少将哥哥给我的指点,经过一个晚上对反射的恶补,最终搞定了.纪念一下. 1. ...

  10. Javascript多线程引擎(六)

    Javascript多线程引擎(六) 经过三个月的时间, Javascript 引擎已经完成beta版本(还不支持多线程特性, 预计下个星期就可以支持了, 现阶段还在进行测试基本JS单元功能), 并且 ...