UE4学习总结

头文件

#include "Components\StaticMeshComponent.h"   任意类
#include"Camera/CameraComponent.h"摄像机
#include "Components/InputComponent.h"按钮控制获取
#include "GameFramework\SpringArmComponent.h"角色控制

#include "UObject/ConstructorHelpers.h"//帮助类,创建东西

 

//声明

bUseControllerRotationYaw = true;//开启controller控制

MyStaticMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("MyStaticMesh"));
    RootComponent = MyStaticMesh;//让小球不能穿过墙
    MyStaticMesh->SetCollisionProfileName(TEXT("Pawn"));//设置默认名称

 /*   RootComponent = CreateDefaultSubobject<USceneComponent>(TEXT("RootComponent"));//场景
    MyStaticMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("MyStaticMesh"));
    MyStaticMesh->SetupAttachment(GetStaticMeshComponent());*、

    MySpringArm = CreateDefaultSubobject<USpringArmComponent>(TEXT("MySpringArm"));
    MySpringArm->SetupAttachment(MyStaticMesh);
    MySpringArm->RelativeRotation = FRotator(-45.0f, 0.0f, 0.0f);//角度
    MySpringArm->TargetArmLength = 400.0f;//长度
    MySpringArm->bEnableCameraLag = true;//是否显示
    MySpringArm->CameraLagSpeed = 3.0f;//摄像机速度

static ConstructorHelpers::FObjectFinder<UStaticMesh>StaticMeshAsset(TEXT("StaticMesh'/Engine/BasicShapes/Sphere.Sphere'"));//自动生成该类

static ConstructorHelpers::FObjectFinder<UMaterialInterface>MaterialAsset(TEXT("Material'/Game/StarterContent/Materials/M_Metal_Burnished_Steel.M_Metal_Burnished_Steel'"));

if (StaticMeshAsset.Succeeded()&& MaterialAsset.Succeeded())//判断是否成功
    {
        MyStaticMesh->SetStaticMesh(StaticMeshAsset.Object);
        MyStaticMesh->SetMaterial(0, MaterialAsset.Object);//材质
        MyStaticMesh->SetWorldScale3D(FVector(0.5f));//设置大小
    }

    MyCamera = CreateDefaultSubobject<UCameraComponent>(TEXT("MyCamera"));
    MyCamera->SetupAttachment(GetSpringArmComponent());

    MyCamera->SetRelativeLocation(FVector(-300.0f, 0.0f, 300.0f));
    MyCamera->SetRelativeRotation(FRotator(-45.0f, 0.0f, 0.0f));

 

AutoPossessPlayer = EAutoReceiveInput::Player0;//设置默认玩家

//X,Y,Z row pitch yaw

FRotator NewSpringArmRotation = MySpringArm->GetComponentRotation();//赋值当前旋转

 NewSpringArmRotation.Pitch = FMath::Clamp(NewSpringArmRotation.Pitch += MouseInpuit.Y, -80.0f, 0.0f);//设置角度

MySpringArm->SetWorldRotation(NewSpringArmRotation);//设置成新的角度

AddControllerYawInput(MouseInpuit.X);//设置成X;

PlayerInputComponent->BindAxis(TEXT("MoveForward"), this, &AMyPawn::MoveForward);
    PlayerInputComponent->BindAxis(TEXT("MoveRight"), this, &AMyPawn::MoveRight);//按键引入

 

FORCEINLINE UStaticMeshComponent* GetStaticMeshComponent() { return MyStaticMesh; }
    FORCEINLINE USpringArmComponent* GetSpringArmComponent() { return MySpringArm; }自己创建返回函数

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值