转自: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的更多相关文章

  1. Unreal Engine 4 笔记

    1.UE4的调试输出 //*1 调试输出*// /*case a.快速使用 不设置log类别 默认为LogTemp*/ UE_LOG(LogTemp,Log,TEXT("Your messa ...

  2. Unreal Engine 4 RenderTarget制作Live Camera效果

    Unreal Engine 4 RenderTarget制作Live Camera效果 先上效果: Live Camera我不知道怎么翻译.反正意思就是将一个摄影机的Image渲染到一个2D平面上. ...

  3. Unreal Engine 4 创建Destructible Mesh(可破坏网格)

    Unreal Engine 4的物理引擎用的是PhysX. 支持网格破坏.布料.物理粒子等,非常强大.曾经须要编码才干完毕的工作,在Unreal Engine 4 中仅仅须要拖拖拽拽就完毕了,非常方便 ...

  4. 游戏音频技术备忘 (五)Wwise Unreal Engine 集成代码浅析 二

    AkAmbientSound类的实现 Unreal Engine提供了一个基本对象的构造器ObjectInitializer,一般来说用户创建的类总是拥有很多变量,因此 AkAmbientSound  ...

  5. 游戏音频技术备忘 (四) Wwise Unreal Engine 集成代码浅析 (一)

    在Engine\Plugins\Wwise\Source下为主要Wwise相关代码,AkAudio文件夹下为运行时相关代码,AudiokineticTools下为编辑器工具相关代码,Audiokine ...

  6. 游戏音频技术备忘 (三) 集成Wwise到Unreal Engine

    当前受众较广的商业游戏引擎有 Unreal Engine.Unity.cocos2d-x等,在音频领域的第三方中间件则有Wwise.FMOD.Criware等,言多且烦,我们首先集成Wwise到 Un ...

  7. 实例甜点 Unreal Engine 4迷你教程(4)之用C++实现添加子Widget到VerticalBox中以及ClearChildren

    前置教程: 1. 实例甜点前面的三篇教程: 2. 最好看看笔者前面的一篇关于博文(后记:本来笔者想用C++做DragAndDrop的功能,但是失败了,下面是蓝图实现的方法): http://www.c ...

  8. 实例甜点 Unreal Engine 4迷你教程(6)之三个重要基础操作SpawnActor、TArray的Add和Remove

    本小节的教程需要完成前置教程:建议阅读<实例甜点 Unreal Engine 4迷你教程(5)>,因为5里面提到了本节的工程,不过也可以在不看5的前提下直接阅读本教程. 第一步:Empty ...

  9. Unreal Engine 4 C++ UCLASS构造函数易出错分析

    Unreal Engine 4 C UCLASS构造函数易出错分析 GENERATED_BODY GENERATED_UCLASS_BODY 在Unreal Engine 4的任意类中通常会见到两个宏 ...

随机推荐

  1. JavaScript事件漫谈

    内容概要: event对象,事件在多个浏览器中的兼容,事件的传播机制,JS自定义事件,jQuery的自定义事件的绑定与触发 Event对象 Event对象属于HTML DOM对象.Event 对象代表 ...

  2. radio属性添加

    经常会遇到js控制radio选中和切换的问题 之前一直使用的是checked属性来完成的 但是现在发现这个属性有个大问题 今天就是用js给选中radio的赋值,使用的$().attr("ch ...

  3. uDig配图与GeoServer添加Style

    软件介绍: uDig是一个开源的桌面GIS软件,可以进行shp与栅格数据地图文件的编辑和查看,对OpenGIS标准,关于互联网GIS.网络地图服务器和网络功能服务器有特别的加强.通常和GeoServe ...

  4. Ubuntu16.04怎样安装Python3.6

    Ubuntu16.04默认安装了Python2.7和3.5 请注意,系统自带的python千万不能卸载! 输入命令python

  5. shell 脚本实战笔记(2)--环境变量PATH的恩怨情仇

    在linux环境下, 相信大家对环境变量PATH, 多多少少有所接触, 这边讲讲PATH的在linux的前世因缘. 先讲讲一个列子 假如我们在为一个新的应用配置其PATH路径中时,  不小心忽略了原先 ...

  6. ajax提交post请求出现数组被截断情况的解决方法

    一.场景 php post 提交数据时传的数据时数组,没有多数据进行序列化处理.发现传到服务端时,部分数据丢失,查询了资料发现php对参数个数有限制,限制在php配置文件中(max_input_var ...

  7. 51Nod 1066:Bash游戏 (巴什博弈)

    1066 Bash游戏  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 有一堆石子共有N个.A B两个人轮流拿,A先拿.每次最少拿1颗,最多拿K颗,拿到 ...

  8. 51Nod 1079:中国剩余定理

    1079 中国剩余定理  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 一个正整数K,给出K Mod 一些质数的结果,求符合条件的最小的K.例如,K % ...

  9. 用pthon来写个跳板机

    用pthon来写个跳板机   1.需求 程序一:1.后台管理- 堡垒机上创建用户和密码(堡垒机root封装的类,UserProfile表)- .bashrc /usr/bin/python3 /dat ...

  10. 将string str中的str转换成字符数组

    #include <iostream> #include <map> #include <string.h> using namespace std; int ma ...