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 ...
随机推荐
- 打印Ibatis最后,SQL声明
做项目时,满足这一需求.我们希望最终打印出在数据库运行SQL声明,这些都普遍遇到了一些一般性问题.我会去Appfuse,结果这次没有成功.它是有相关的配置,可是好像没实用.我也就没有深查下去.我想这种 ...
- java查找反复类/jar包/普通文件
开发web应用时,有时更新了类却没有生效,事实上是由于jboss/tomcat中其它公布包下有同名类(包含全路径都同样). 于是萌发了做个程序来检查指定文件夹是否存在反复类(通过asm从类文件里取类的 ...
- Nginx搭建反向代理服务器
[大型网站技术实践]初级篇:借助Nginx搭建反向代理服务器 一.反向代理:Web服务器的“经纪人” 1.1 反向代理初印象 反向代理(Reverse Proxy)方式是指以代理服务器来接受int ...
- Android从无知到有知——NO.4
因为我们做的是手机安全卫士,因此,我们需要一个地图定位功能,些相关的项目,也有一些教程.到百度官方下载了相关的jar包和API,但自己建项目的时候却不是那么顺利,bug不断,弄得心烦意乱,最后最终臣服 ...
- 使用sqlldr向Oracle导入大的文本(txt)文件
我们有多种方法可以向Oracle数据库里导入文本文件,但如果导入的文本文件过大,例如5G,10G的文本文件,有些方法就不尽如意了,例如PLSQL Developer中的导入文本功能,如果文本文件过大, ...
- JavaScript中对数组的操作
原文:JavaScript中对数组的操作 一:数组的使用 1.定义:JavaScript中对数组的定义有两种形式.如: .var arr = [12,3,5,8]; .var arr = new Ar ...
- Redis源代码分析(二十四)--- tool工具类(2)
在上篇文章中初步的分析了一下,Redis工具类文件里的一些使用方法,包含2个随机算法和循环冗余校验算法,今天,继续学习Redis中的其它的一些辅助工具类的使用方法.包含里面的大小端转换算法,sha算法 ...
- NYOJ 58 步数最少 【BFS】
意甲冠军:不解释. 策略:如果: 这个问题也可以用深宽搜索搜索中使用.我曾经写过,使用深层搜索.最近的学校范围内的搜索,拿这个问题来试试你的手. 代码: #include<stdio.h> ...
- .NET MVC通过反射获取数据修
.NET MVC通过反射获取数据修 折磨了我一个晚上的问题,奈何对物理的反射印象太深了,整天去想着物理的反射.折射怎么解.感谢少将哥哥给我的指点,经过一个晚上对反射的恶补,最终搞定了.纪念一下. 1. ...
- Javascript多线程引擎(六)
Javascript多线程引擎(六) 经过三个月的时间, Javascript 引擎已经完成beta版本(还不支持多线程特性, 预计下个星期就可以支持了, 现阶段还在进行测试基本JS单元功能), 并且 ...