UE4新手编程之创建C++项目
虚幻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++项目的更多相关文章
- UE4新手编程之创建空白关卡和添加碰撞体
让我们接着上次继续学习UE4引擎,今天我们学习下怎样创建空白的关卡以及添加碰撞物体. 一. 创建空白关卡 1) 点击文件 -> 新建关卡(或者按快捷键Ctrl+N). 2) 你可以选择Defau ...
- UE4的编程C++创建一个FPSproject(两)角色网格、动画、HUD、子弹类
立即归还,本文将总结所有这些整理UE4有关角色的网络格.动画.子弹类HUD一个简单的实现. (五)角色加入网格 Character类为我们默认创建了一个SkeletaMeshComponent组件,所 ...
- 使用UE4/Unity创建VR项目
一.主要的步骤是说一下使用UE4,在此之前先说一下使用unity创建的VR项目 1.unity创建oculus rift dk2项目 在unity中创建一个简单的场景,让摄像机能看见场景中的物体,不对 ...
- Django web编程1 -- 创建项目和应用
python:3.7.2 Django:2.1.7 1.创建虚拟环境 虚拟环境是系统的一个位置,可以在其中安装包,并将其与其他python包隔离. 创建目录,命名为learning_log,并切换到这 ...
- UE4编程之C++创建一个FPS工程(一)创建模式&角色&处理输入
转自:http://blog.csdn.net/u011707076/article/details/44180951 从今天开始,我们一起来学习一下,如何使用C++将一个不带有任何初学者内容的空模板 ...
- 在eclipse中使用maven创建springMVC项目
一.在eclipse中创建maven-archetype-webapp项目: 1.新建项目选择maven项目 2.默认,下一步 3.选择maven-archetype-webapp,其他保持默认即可 ...
- Intellij Idea 创建Web项目入门(一)转
Intellij Idea 创建Web项目入门(一) 相关软件: Intellij Idea14:http://pan.baidu.com/s/1nu16VyD JDK7:http://pan.bai ...
- CUDA samples 2.3节 用CUDA示例来创建CUDA项目
2.3.1. Creating CUDA Projects for Windows 略 2.3.2 Creating CUDA Projects for Linux 默认的samples的安装路径 ...
- 跟着刚哥学习Spring框架--创建HelloWorld项目(一)
1.Spring框架简介 Spring是一个开源框架,Spring是在2003年兴起的一个轻量级的开源框架,由Rod johnson创建.主要对JavaBean的生命周期进行管理的轻量级框架,Spri ...
随机推荐
- PLSQL导入/导出数据方法
PLSQL导入/导出数据方法 PLSQL导入/导出数据方法 以前导数据库信息的时候,总是会先开启sql窗口,把自己手写的建表文件复制进去,然后再导入数据信息. 今天突然懒得去找以前的建表文件,而想用S ...
- Apache JMeter--网站自动测试与性能测评
Apache JMeter--网站自动测试与性能测评 2013-02-28 15:48:05 标签:Jmeter From:http://bdql.iteye.com/blog/291987 出于学习 ...
- 用RequireJS优化Wijmo Web页面
用RequireJS优化Wijmo Web页面 上周Wijmo 2014 V2版本刚刚发布(下载地址), 有网友下载后发现仅仅使用了40个Widgets的一小部分,还需要加载全部的jquery.wi ...
- Angularjs web应用
构建兼容浏览器的Angularjs web应用 背景 随着mvvm逐渐成熟,现在使用jQuery构建web应用已经显得过时了,而且使用jQuery需要编写更多的代码去控制dom的取值.赋值.绑定事件等 ...
- 简单的三层asp.net webForm使用Ninject实现Ioc
简单的三层asp.net webForm使用Ninject实现Ioc 在asp.net webform下使用Ninject的简单过程. 首先建立个项目,如下图,简单三层(PS:UI层要同时引用BLL. ...
- SQLServer数据库误删数据找回
记一次SQLServer数据库误删数据找回 昨天 同事在本机清理数据库表时,连接到了生产机,误删了二十几张表,幸好是晚上加班的时候删除的,生产机上当时是一天一备份,还原备份是最后的策略,最关键的还是要 ...
- Javascript模块化编程之Why
说到模块化编程,大家比较容易想到Java, C++等语言,感觉这事和Javascript沾不上一丁点边.虽说Javascript看上去好像同Java有莫大的关系,但那也只是一厢情愿,不过是挂羊头卖狗肉 ...
- SZU:G32 Mass fraction
Judge Info Memory Limit: 32768KB Case Time Limit: 5000MS Time Limit: 5000MS Judger: Float Numbers (1 ...
- c#二进制、十进制、16进制之间的转换
//十进制转二进制 Console.WriteLine(Convert.ToString(69, 2)); //十进制转八进制 Console.WriteLine(Convert.ToString(6 ...
- 在 go/golang语言中使用 google Protocol Buffer
怎么在go语言中实用google protocol Buffer呢? 现在的潮流趋势就是一键搞定,跟ubuntu安装软件一样 go get code.google.com/p/goprotobuf/{ ...