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 ...
随机推荐
- SQL点滴18—SqlServer中的merge操作,相当地风骚
原文:SQL点滴18-SqlServer中的merge操作,相当地风骚 今天在一个存储过程中看见了merge这个关键字,第一个想法是,这个是配置管理中的概念吗,把相邻两次的更改合并到一起.后来在tec ...
- hdu2899 Strange fuction
在区间(0,100).在恒大二阶导数0.f(x)有极小值.用的最低要求的一阶导数值点: #include<math.h> #include<stdio.h> #include& ...
- Swift辛格尔顿设计模式(SINGLETON)
本文已更新为2.0语法,具体查看:一叶单例模式 一.意图 保证一个类公有一个实例.并提供一个訪问它的全局訪问点. 二.使用场景 1.使用场景 当类仅仅能有一个实例并且客户能够从一个众所周知的訪问点訪问 ...
- java入门学习(十二)运算语句 if switch
这两天在网上做兼职,耽误了些博客见谅哈 欢迎来我的博客:www.taomaipin.com java中的运算语句而且频繁用到的无法就是条件语句和循环语句,包括if,for,while,switch,b ...
- HTTP报文格式详解
HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的.HTTP有两类报文:请求报文和响应报文. HTTP请求报文 一个HTTP请求报文由请求行(request ...
- c++ virtual function 虚函数面试题
下面的代码输出什么? #include<iostream> using namespace std; class A { public: virtual void foo() { cout ...
- CentOS6.8安装JDK1.7
一.查看当前系统是否自带JDK rpm -qa | grep java tzdata-java-2016c-1.el6.noarch java-1.7.0-openjdk-1.7.0.99-2.6.5 ...
- Dump Checking
Dump Checking Debug相关的一些小技巧 摘要: 1. 如何Debug一个进程的子进程? 答: 使用WinDBG attach到父进程, 然后输入命令".childdbg 1& ...
- namespace 的作用
在写CPP的时候,常常要写using namespace std;这么一句话,到底有什么用呢? #include <iostream> namespace first { ; } name ...
- yii2.0 文件上传
Yii 2.0 出来好长时间了,一直都是看下官方网站,没实践过,今天弄了下图片上传操作. 1创建一个简单的数据表 mysql> desc article; +---------+-------- ...