Unreal Engine 4 笔记 2
转自:http://blog.csdn.net/st_dark/article/details/48005947
2.Actor继承自aactor,可以看成是一个容器,用来装"组件"这个对象
3.根据Unreal的传统命名规则,所有直接或间接继承自Actor的类都以首字母A开头,所有直接继承自UObject类都以首字母U开头
4.把物体蓝图的碰撞属性设置成overlap重叠碰撞,然后碰撞判断使用重叠的那一个函数
5.Ue4常用概念
Hud:显示在游戏屏幕上的信息(区别与按下菜单键才出来的信息),如血量,伤害等等
Component组件,有很多种属 性,如movecompnent表示移动属性
Rootcompnent表示方向,位置属性
Actor :无方位,位置的最基本的物体
pawn :继承自actor,最常用的傀儡,可以被玩家控制器或者ai控制器操控
character:继承自pawn,相当于添加了movecompnent的pawn,并且拥有碰撞体积(胶囊状,需要把它调整到贴图的大小)也经常用。
Controller:分为玩家控制器和ai控制器
6.可以利用时间轴来做出数值的渐变效果,如从走路到跑步的渐变(减少了突然跑步的唐突性),
并且里面有一个reverse表示一个相反的速度,即接上reverse接口后又可以从跑步渐变回走路
7.混合空间1d可以缓和各几种可以由同一个变量控制的动画,但它本质也是一个动画(只不过是几个动画的组合,但本质不变),
而如从站到走(速度超过x到跑(速度超过y)).但记得点应用参数修改否则上面的变量名字none不会改变(如改成speed)
该执行哪种动画(跳,游泳,还是这里的走路选择动画)都需要建立状态机来判断,
其实这里的混合空间动画也可以直接用状态机来判断速度到达与否。所以某种意义上说混合空间动画只是为了简化状态机的蓝图书写而产生的
8.第三人称给摄像机添加一个springarm之后就可以使得摄像机随着人物动而动,和第一人称的那个一样.注意是把摄像机拖到sringarm(弹簧臂)里作为它的子节点
9.动画蓝图由状态机和eventgraph两部分组成,状态机用来写什么(如状态a)状态下改变动画,eventgraph用来写什么是a状态。
类蓝图则用来放入形象,动画蓝图,控制器等等,相对于精灵。也可以加入其它组件(如摄像机,弹簧臂)让他们和角色成为同一个组件一起移动
只有在场景里放入物体的蓝图才能接受控制,直接放入物体则不行,因为物体无法直接添加属性,自然无法接受控制属性。
10.自适应旋转的移动(orient rotation movement),这个在类蓝图里记得勾上,可以在主角左移右移时通过旋转人物改变人物的朝向,但记得你首先得把人物的yaw设置为至少360才能各种x轴旋转。
11.之所以不能切换视角是因为springarm没有设置为use pawn control rotation!
默认没勾上。
所以通过设置 find camera component when view 成第一人称视角可以动是因为此时忽略了camera和springarm.
12.蓝图里直接添加按键和inputs里在action mapping处设置按键效果一样,都是按下一瞬间有效果,那种长按的效果只有inputs的axis mapping设置才行
13.在物体move components里设置的max walk speed 表示的是物体在接收到移动命令后一瞬间能够到达的速度,以后将一直维持这个速度。
并且这个速度将作为值传递需要的变量(如需要通过值判断播放哪种动画的变量)。它并不表示物体的速度不能设置的更大了。所以可以把max walk speed设置为100,并在动画蓝图里将100处设为walk,200处设为run,那么自然一般情况下只会播放walk动画,然后你可以通过设置一个跑步键,按下它的时候max walk speed(也就是一般走路速度)将达到200,松开回到100,那么自然就可以播放和停止跑步动画
14.Ue4技巧,打开场景蓝图,再返回原场景,选中a,再返回蓝图,则右键出来的全是a类型的函数并且target自动帮你设成了a.只有打开场景蓝图编辑才会这样.
其实很多地方,你点击了某个组件,再右键创建蓝图功能,默认对象或组件就是刚刚点击的那个
15.Spawn actor蓝图函数用来添加actor,如产生子弹,那么就写一个子弹蓝图,给这个蓝图add compnent一个mesh(如球体mesh或者正方体mesh),然后就可以每次按下出现这么个mesh了
16.任何compnent都没有实体显示能力,它们只是一些类罢了,想要在蓝图里体现出这些属性必须给actor添加拥有贴图效果的类(如basic sphere等且设置它们的贴图)。
可以给actor创建一个实体如球,再给这个球添加各种compnent作为子节点,该actor就具有各种属性了。但注意,一如果父节点和子节点有重复的属性,如碰撞属性,则以父节点的属性为依据,父允许碰撞则可以,子允许而父不允许仍然不允许
17.Get control rotation用来获得的不是角色所面向的方位,而是你(控制者而不是pawn)所直视的方位,如第一人称发射子弹时需要一直朝着你面向的方向发射
但是get actor rotation则可以获得角色面向的方位
18.可以在类bp里写函数,在levelbp里调用,但(除了输入命令外)也可以全部在那个类的bp里完成,写在levelbp里主要是为了全局统筹,便于管理.
1.但记住在类bp里写的函数不能有引用自身的情况出现,不然就是c++里的类的重复包含。
2.输入按键操作只有场景bp和自己控制的那个bp里写才有效,其它bp里写了,但是由于没有接受你的控制所以按键当然是无效的,这时可以在那个bp里面写好函数,levelbp里使用按键来控制它,达到了不换控制者而操作的目的
19.Getplayer pawn(character)函数可以在任何时候获得主角对象
1,材质尽量用mask,这样可以节省资源。如果用透明和半透明,会非常耗资源。
2,GPUProfile来统计性能消耗的时候,在editor模式下不是很准,因为编辑器的消耗也算进去了,如果要用,最好以Game模式来查看。
3,UE4不支持640X480的分辨率,如果在这个分辨率下运行程序,会导致程序崩溃。
4,如果角色身上有很多Component需要Attach,尽量在使用时Attach,不要一加载就全部attach,否则当场景中角色很多时,会有严重性能问题。
Unreal Engine 4 笔记 2的更多相关文章
- Unreal Engine 4 笔记
1.UE4的调试输出 //*1 调试输出*// /*case a.快速使用 不设置log类别 默认为LogTemp*/ UE_LOG(LogTemp,Log,TEXT("Your messa ...
- Unreal Engine 4 RenderTarget制作Live Camera效果
Unreal Engine 4 RenderTarget制作Live Camera效果 先上效果: Live Camera我不知道怎么翻译.反正意思就是将一个摄影机的Image渲染到一个2D平面上. ...
- Unreal Engine 4 创建Destructible Mesh(可破坏网格)
Unreal Engine 4的物理引擎用的是PhysX. 支持网格破坏.布料.物理粒子等,非常强大.曾经须要编码才干完毕的工作,在Unreal Engine 4 中仅仅须要拖拖拽拽就完毕了,非常方便 ...
- 游戏音频技术备忘 (五)Wwise Unreal Engine 集成代码浅析 二
AkAmbientSound类的实现 Unreal Engine提供了一个基本对象的构造器ObjectInitializer,一般来说用户创建的类总是拥有很多变量,因此 AkAmbientSound ...
- 游戏音频技术备忘 (四) Wwise Unreal Engine 集成代码浅析 (一)
在Engine\Plugins\Wwise\Source下为主要Wwise相关代码,AkAudio文件夹下为运行时相关代码,AudiokineticTools下为编辑器工具相关代码,Audiokine ...
- 游戏音频技术备忘 (三) 集成Wwise到Unreal Engine
当前受众较广的商业游戏引擎有 Unreal Engine.Unity.cocos2d-x等,在音频领域的第三方中间件则有Wwise.FMOD.Criware等,言多且烦,我们首先集成Wwise到 Un ...
- 实例甜点 Unreal Engine 4迷你教程(4)之用C++实现添加子Widget到VerticalBox中以及ClearChildren
前置教程: 1. 实例甜点前面的三篇教程: 2. 最好看看笔者前面的一篇关于博文(后记:本来笔者想用C++做DragAndDrop的功能,但是失败了,下面是蓝图实现的方法): http://www.c ...
- 实例甜点 Unreal Engine 4迷你教程(6)之三个重要基础操作SpawnActor、TArray的Add和Remove
本小节的教程需要完成前置教程:建议阅读<实例甜点 Unreal Engine 4迷你教程(5)>,因为5里面提到了本节的工程,不过也可以在不看5的前提下直接阅读本教程. 第一步:Empty ...
- Unreal Engine 4 C++ UCLASS构造函数易出错分析
Unreal Engine 4 C UCLASS构造函数易出错分析 GENERATED_BODY GENERATED_UCLASS_BODY 在Unreal Engine 4的任意类中通常会见到两个宏 ...
随机推荐
- Translate Exercises(4)
周五翻译课记录. ---------------------------------- (1)and it is imagined by many that the operations of the ...
- 06-python opencv 使用摄像头捕获视频并显示
https://blog.csdn.net/huanglu_thu13/article/details/52337013
- convertTo函数
前言 使用opencv常常会需要用到数据类型之间的转换,此时需要使用convertTo函数. 代码: cv::Mat samples; cv::Mat tdata; samples.convertTo ...
- Fzu软工第一次作业-准备篇
(0)一些想说的话 我叫陈浩,是16级计算机一个很普通的学生.我是补选选软工实践这门课的.选软工实践这门课我想了很久.因为学长学姐告诉我这是一门很锻炼人又很辛苦的课程,需要大量的时间和精力.然而如今的 ...
- 《DSP using MATLAB》Problem 4.2
用matlab不会证,惭愧.
- mysql安装错误解决办法
在我们装mysql数据库时,出现安装失败是一件非常令人烦恼的事情,接下来小编就给大家带来在我们安装mysql数据库失败的一些解决方法,感兴趣的小伙伴们可以参考一下 mysql数据库安装不了了!my ...
- frameset的用法
碰到一个frameset的问题,因为我比较懒,就先从网上拿来一篇基础知识,呵呵,好记性不如烂笔头啊 所谓框架便是网页画面分成几个框窗,同时取得多个 URL.只需要 <FRAMESE ...
- nyoj 幸运三角形
幸运三角形 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 话说有这么一个图形,只有两种符号组成(‘+’或者‘-’),图形的最上层有n个符号,往下个数依次减一,形成倒 ...
- RAC2——11g Grid Infrastructure的新机制
版权声明:本文为博主原创文章,未经博主允许不得转载. 可以看到,最初CRS(Cluster Ready Services)名词的起源就是因为10.1中作为集群软件的原因.后来经历了Clusterwar ...
- hadoop入门篇---超详细hadoop服务器环境配置教程
虚拟机以及Linux系统安装在之前的两篇分享中已经详细的介绍了方法,并且每一步的都配图了.如果有朋友还是看不懂,那我也爱莫能助了.本篇主要就hadoop服务器操作系统配置进行详细说明,hadoop安装 ...