UE4/玩家控制的相机

官方教程,玩家控制的相机


  • USpringArmComponentUCameraComponent类型找不到的情况,需要在PawnWithCamera.h中添加下列头文件:
#include "GameFramework/SpringArmComponent.h"
#include "Camera/CameraComponent.h"

  • 官方教程中的
MovementInput.SafeNormal()

会显示MovementInput【FVector2D类型】中的SafeNormal()函数已经被弃用,可以使用GetSafeNormal()函数来代替。


  • 在运行时,当控制物体移动到场景中的桌子或椅子处时,会遇到有关摄像机奇怪的现象(无法形象的描述),这里涉及到了有关物理碰撞的知识,解决方法,可以分别设置桌子和椅子的下列属性:
    这里写图片描述

补充第1次(2018/05/11):
这里是配置的物理通道,也可以自定义物理通道,是在Edit->Project Settings->Engine/Collision,具体的方法参考:https://docs.unrealengine.com/en-US/Programming/Tutorials/FirstPersonShooter/3/3


  1. 配置输入,在“虚幻编辑器->Edit->Project Settings->Input”

    映射分为:动作映射(Action Mappings)和轴映射(Axis Mappings),

    • Action Mappings 在key按下和释放时触发

      绑定动作映射使用:

      PlayerInputComponent->BindAction(); // Binds a delegate function to an Action defined in the project settings.

      函数的定义是:

      template<class UserClass>
      FInputActionBinding & BindAction
      (
          const FName ActionName,
          const EInputEvent KeyEvent,
          UserClass * Object,
          typename FInputActionHandlerSignature::TUObjectMethodDelegate< UserClass >::FMethodPtr Func
      )

      EInputEvent类型的定义:

      enum EInputEvent
      {
          IE_Pressed        =0,
          IE_Released       =1,
          IE_Repeat         =2,
          IE_DoubleClick    =3,
          IE_Axis           =4,
          IE_MAX            =5,
      }
    • Axis Mappings 允许输入在一个连续值的范围内,因此与此相关的自定义函数都具有一个float型的参数

      绑定轴映射使用:

      PlayerInputComponent->BindAxis();  // Binds a delegate function an Axis defined in the project settings.

      函数的定义是

      template<class UserClass>
      FInputAxisBinding & BindAxis
      (
          const FName AxisName,
          UserClass * Object,
          typename FInputAxisHandlerSignature::TUObjectMethodDelegate< UserClass >::FMethodPtr Func
      )
  2. 关于rotation的yaw,pitch,roll

    这里写图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值