当前位置: 首页 > news >正文

徐州模板开发建站深圳校园网站建设

徐州模板开发建站,深圳校园网站建设,百度站长工具seo查询,好的淘客网站文章目录 创建Character第三人称模板添加增强输入引用在脚本中实现移动、旋转 创建Character第三人称模板 创建MyCharacter C类 添加增强输入引用 在DEMO.Build.cs 脚本中添加增强输入模块 有个容易出错的点#xff0c;这里的设置一定要正确 然后添加引用到C头文件中 … 文章目录 创建Character第三人称模板添加增强输入引用在脚本中实现移动、旋转 创建Character第三人称模板 创建MyCharacter C类 添加增强输入引用 在DEMO.Build.cs 脚本中添加增强输入模块 有个容易出错的点这里的设置一定要正确 然后添加引用到C头文件中 #include InputActionValue.h #include EnhancedInputComponent.h #include EnhancedInputSubsystems.h最后可以编译一下看看输入模块“EnhancedInput” 是否引入成功。 在脚本中实现移动、旋转 首先是头文件添加引用 MyCharacter.h #pragma once#include CoreMinimal.h #include InputActionValue.h #include EnhancedInputComponent.h #include EnhancedInputSubsystems.h #include GameFramework/Controller.h #include GameFramework/SpringArmComponent.h #include Camera/CameraComponent.h #include GameFramework/CharacterMovementComponent.h #include GameFramework/Character.h #include MyCharacter.generated.hUCLASS() class DEMO_API AMyCharacter : public ACharacter {GENERATED_BODY()public:// Sets default values for this characters propertiesAMyCharacter();protected:// Called when the game starts or when spawnedvirtual void BeginPlay() override;public:// Called every framevirtual void Tick(float DeltaTime) override;// Called to bind functionality to inputvirtual void SetupPlayerInputComponent(class UInputComponent *PlayerInputComponent) override;UPROPERTY(EditAnywhere, BlueprintReadOnly, Category MySceneComponent)USpringArmComponent *MySpringArm;UPROPERTY(EditAnywhere, BlueprintReadOnly, Category MySceneComponent)UCameraComponent *MyCamera;UPROPERTY(EditAnywhere, BlueprintReadOnly, Category Input)class UInputMappingContext *DefaultMappingContext;UPROPERTY(EditAnywhere, BlueprintReadOnly, Category Input)class UInputAction* MoveAction;UPROPERTY(EditAnywhere, BlueprintReadOnly, Category Input)class UInputAction* LookAction;void Move(const FInputActionValue Value);void Look(const FInputActionValue Value); }; 然后在MyCharacter.cpp中实现 // Fill out your copyright notice in the Description page of Project Settings.#include MyCharacter.h// Sets default values AMyCharacter::AMyCharacter() {// Set this character to call Tick() every frame. You can turn this off to improve performance if you dont need it.PrimaryActorTick.bCanEverTick true;MySpringArm CreateDefaultSubobjectUSpringArmComponent(TEXT(MySpringArm));MyCamera CreateDefaultSubobjectUCameraComponent(TEXT(MyCamera));MySpringArm-SetupAttachment(RootComponent);MyCamera-SetupAttachment(MySpringArm);MySpringArm-TargetArmLength 300.0f;// 这么设置是为了让控制器的转动不影响角色的转动只影响摄像机的转动bUseControllerRotationYaw false;bUseControllerRotationPitch false;bUseControllerRotationRoll false;// 为了让角色的移动方向与摄像机的方向一致需要设置以下参数GetCharacterMovement()-bOrientRotationToMovement true;// 这是为了使用Pawn的控制器旋转MySpringArm-bUsePawnControlRotation true; }// Called when the game starts or when spawned void AMyCharacter::BeginPlay() {Super::BeginPlay();APlayerController *PlayerController CastAPlayerController(GetController());if (PlayerController){UEnhancedInputLocalPlayerSubsystem *LocalPlayerSubsystem ULocalPlayer::GetSubsystemUEnhancedInputLocalPlayerSubsystem(PlayerController-GetLocalPlayer());if (LocalPlayerSubsystem){LocalPlayerSubsystem-AddMappingContext(DefaultMappingContext, 0);}} }// Called every frame void AMyCharacter::Tick(float DeltaTime) {Super::Tick(DeltaTime); }// Called to bind functionality to input void AMyCharacter::SetupPlayerInputComponent(UInputComponent *PlayerInputComponent) {Super::SetupPlayerInputComponent(PlayerInputComponent);if (UEnhancedInputComponent *EnhancedInputComponent CastCheckedUEnhancedInputComponent(PlayerInputComponent)){EnhancedInputComponent-BindAction(MoveAction, ETriggerEvent::Triggered, this, AMyCharacter::Move);EnhancedInputComponent-BindAction(LookAction, ETriggerEvent::Triggered, this, AMyCharacter::Look);} }void AMyCharacter::Move(const FInputActionValue Value) {FVector2D MoveVector Value.GetFVector2D();if (Controller ! nullptr){const FRotator Rotation Controller-GetControlRotation();const FRotator YawRotation(0, Rotation.Yaw, 0);const FVector ForwardDirection FRotationMatrix(YawRotation).GetUnitAxis(EAxis::X);const FVector RightDirection FRotationMatrix(YawRotation).GetUnitAxis(EAxis::Y);AddMovementInput(ForwardDirection, MoveVector.Y);AddMovementInput(RightDirection, MoveVector.X);} }void AMyCharacter::Look(const FInputActionValue Value) {FVector2D LookVector Value.GetFVector2D();if (Controller nullptr){return;}AddControllerYawInput(LookVector.X);AddControllerPitchInput(LookVector.Y); } 编译之后创建蓝图类BP_MyCharacter 这时候会有默认组件缺少人物模型我们可以在这里添加 添加动画蓝图类 其他设置 最后拖到场景中把WorldSetting - Game Mode 设置为null 点击运行就可以实现鼠标键盘第三人称操作了。
http://www.zqtcl.cn/news/98620/

相关文章:

  • o2o平台都有哪些网站公司莱芜网站优化方案
  • 个人或主题网站建设 实验体会网站开发可退税
  • 龙岗同乐社区做网站昆明发布最新通告
  • 能进外国网站看视频的浏览器wordpress 信息流
  • 怎样做自己介绍网站昆明网红打卡地有哪些地方
  • 一个外国人做汉字网站广州近期流行的传染病
  • 做pc端网站新闻pdf 网站建设
  • 盱眙网站建设棋牌软件定制开发
  • struts2 做的网站南京做网站优化
  • 网站设计的安全尺寸wordpress qqoq主题
  • 网站建设500错误代码网站文章超链接怎么做
  • 网站建设尺寸凡科建站弊端
  • 企业网站建设模板多少钱在哪里建网站免费
  • 盐城网站建设咨询优秀vi设计
  • 网站里面内外链接如何做北京pk10网站建设
  • 网站布局策划的流程百度知道入口
  • 个人网站设计毕业设计论文上海百度seo优化
  • 展台设计网站都有哪些拓者设计吧手机版
  • 河南省级建设主管部门网站免费推广平台哪个好
  • wordpress禁止自动升级seo实战密码怎么样
  • 福永网站建设公司如何利用个人nas做网站
  • 北京网站seo外包wordpress心情
  • 租用服务器一般是谁帮助维护网站安全网站如何看是哪家公司做的
  • 戴尔网站建设的特点开创者wordpress素材
  • 网站假设公司排名不用囤货
  • 有关网站建设合同织梦珠宝网站模板
  • 月牙河做网站公司电商网站开发成本
  • iis7建立网站注册公司地址虚拟地址怎么申请
  • 响应式网站开发的想要去国外网站买东西怎么做
  • 网站建设开发有什么好处百度网盘0基础网站开发教程