• 虚幻蓝图学习笔记 创建小飞碟并可以发射一个子弹


    一,前期准备

    1,创建一个Pawn蓝图类,搭建飞碟物体,并添加摄像机Camera,同时添加一个SpringArm

     

     2,创建一个Game Mode Base 蓝图与Controller蓝图

    在gmae Mode Base中设置Player Controller Class 与Default Pawn Class为我们新创建的蓝图类

     

     3,在设置键盘映射Project Settings->input(Engine)-》Bindings

    Action Mappings中添加开火指令

     Axis Mappings中添加移动与加速指令

     二,在控制器PlayController蓝图添加物体移动与加速的蓝图

    1)首先获取当前控制器角色Get Controlled Pawn,并保存到变量存储,

     2)为物体添加一个初速度,在开始开始移动,AddActorLocalOffset

    定义两个变量,一个保存当前时间增量秒(以秒为单位返回帧增量时间,由时间膨胀调整),另一个定义当前的初速度,并赋值给X

    并使用AddActorLocalRotation控制物体旋转,分别负责Roll,Pitch,Yaw,轴旋转

     

    3)为物体添加按空格加速移动获取Thrust,这里主要在按空格是给初速度变量一个值,实现加速运行

    这里使用Select Float 用来检测用户是按键;使用Clamp(float)控制移动的最小速度与最大速度。

    4)为物体添加上下左右转动MoveUPUP, 使用AddActorLocalRotation,添加偏移量,并定义一个变量控制偏移距离

    Finterp to 插值函数(根据与当前位置的距离到达目标,在跟踪位置时提供流畅的感觉)

     

    5)为物体左右移动时添加转动,显示的比较平缓,首先获取角色的Roll,如果转动距离过大需要提供一个纠正的办法。先获取偏移量,之后获取UFO物体,并AddLocalRotation设置角色转动,

    首先需要检测物体是否转动,使用absolute获取绝对值,并GetActorRotation,称以一个负数,用来摆正偏转物体,使用Select Float选则使用的旋转角度,并通过Finterp TO平缓的转换,最后cast To 我们物体,AddRelative Rotation

     

     

     7)为飞碟设置按键开火指令,

    获取输入开火指令,InputAction : Fire  并定义一个开火事件Custome Event,使用set Timer By Event实现只要按住一直开火,松开停止开火,time设置0.5,Looping勾选;使用Clear and invalidate Timer by Handle清除计时器;

    开火时先获取物体Arrow并获取向量,使用SpawnActor 发射我们自作的子弹蓝图,

     

     三,在飞碟蓝图中创建控制飞碟移动的

    1)我们使用Arrow获取Get WorldRoation;Get ForwardVector和GetRightVector向量用来控制飞碟前后左右移动;GetUp Vector控制上下位移

    2)鼠标空视角的上下左右

     3)在event Tick中使用Clamp(float)控制视角,防止视角过大飞行器RelativeRotation翻个

    四,为飞行器添加被击中抖动或屏幕显示颜色效果

    使用Set Manual Camera Fade设置相机淡入淡出直到Stop CameraFade,或者使用StartCamer Fade设置效果

    设置相机抖动效果:StartCameraShake,通过调用蓝图相机抖动:matineeCameraShak设置抖动参数

     

     

  • 相关阅读:
    switch中局部变量的使用
    boost中regex的使用
    C++发送邮件jwsmpt
    c++编译相关
    一种处理多任务的线程池设计
    ICE的Timer和TimerTask
    bind2nd使用
    关于.NET WebSocket connection to 'ws://xxx' failed: Error during WebSocket handshake: Unexpected response code: 200
    QWrap Selector简介
    围观tangram
  • 原文地址:https://www.cnblogs.com/qq964107326/p/15095752.html
Copyright © 2020-2023  润新知