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

做可动模型的网站网站推广包括

做可动模型的网站,网站推广包括,产品设计论文,wordpress布局主题本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P32 角色移动(Character Movement)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版,UP主(也是译者&…

本文为B站系列教学视频 《UE5_C++多人TPS完整教程》 —— 《P32 角色移动(Character Movement)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C++ Multiplayer Shooter》 的中文字幕翻译版,UP主(也是译者)为 游戏引擎能吃么。


文章目录

  • P32 角色移动
  • 32.1 修改输入映射并绑定到角色蓝图类上
  • 32.2 Summary


P32 角色移动

本节课将为我们创建的第三人称射击游戏角色蓝图类进行输入配置(包括操作映射和轴映射),并将它们绑定到角色蓝图类上,以实现角色的移动功能。
在这里插入图片描述


32.1 修改输入映射并绑定到角色蓝图类上

  1. 在虚幻引擎中打开项目 “Blaster” 的 “项目设置” 窗口,找到 “引擎 - 输入” 选项卡,可以看到我们在迁移资产时自动创建的一些操作映射和轴映射。
    在这里插入图片描述

  2. 删除这些操作映射和轴映射,并添加新的操作映射和轴映射。
    在这里插入图片描述

  3. 在 VS 中打开 “BlasterCharacter.h”,声明与上述轴映射相对应的函数为 “ABlasterCharacter” 类的保护成员函数。

    ...UCLASS()
    class BLASTER_API ABlasterCharacter : public ACharacter
    {...protected:// Called when the game starts or when spawnedvirtual void BeginPlay() override;/* P32 角色移动(Character Movement)*/// 与轴映射相对应的函数void MoveForward(float Value);	// 角色前进或后退void MoveRight(float Value);	// 角色左移或右移void Turn(float Value);			// 角色视角左转或右转void LookUp(float Value);		// 角色俯视或仰视/* P32 角色移动(Character Movement)*/private:UPROPERTY(VisibleAnywhere, Category = Camera)	class USpringArmComponent* CameraBoom;			// 添加弹簧臂组件,归类为 “Camera”UPROPERTY(VisibleAnywhere, Category = Camera)class UCameraComponent* FollowCamera;			// 添加摄像机组件,归类为 “Camera”public:	};

    在头文件中鼠标左键单击函数名,即可出现 在这里插入图片描述 按钮,鼠标左键单击该按钮,就可以在弹出的下拉菜单栏中选择快速创建函数的定义到 cpp 文件。
    在这里插入图片描述

  4. 在 “BlasterCharacter.cpp” 中完成与轴映射相对应的函数的定义。

    /* P32 角色移动(Character Movement)*/
    // 角色前进或后退
    void ABlasterCharacter::MoveForward(float Value)
    {if (Controller != nullptr && Value != 0.f) {// const FVector Direction = GetActorForwardVector();							// 使用 GetActorForwardVector() 获取的是角色胶囊体的前后方向向量,而我们想要通过获取角色控制器的前后方向向量来控制角色前进const FRotator YawRotation(0.f, Controller->GetControlRotation().Yaw, 0.f);		// 获取角色控制器的航向const FVector Direction(FRotationMatrix(YawRotation).GetUnitAxis(EAxis::X));	// 使用角色控制器的航向获取前后方向向量。// FRotationMatrix(YawRotation).GetUnitAxis(EAxis::X) 可以获取 FRotationMatrix 在 X 轴上的向量AddMovementInput(Direction, Value);												// 添加移动输入,移动方向为角色控制器的前后方向}
    }// 角色左移或右移
    void ABlasterCharacter::MoveRight(float Value)
    {if (Controller != nullptr && Value != 0.f) {const FRotator YawRotation(0.f, Controller->GetControlRotation().Yaw, 0.f);		// 获取角色控制器的航向const FVector Direction(FRotationMatrix(YawRotation).GetUnitAxis(EAxis::Y));	// 使用角色控制器的航向获取左右方向向量。AddMovementInput(Direction, Value);												// 添加移动输入,移动方向为角色控制器的左右方向}
    }// 角色视角左转或右转
    void ABlasterCharacter::Turn(float Value)
    {AddControllerYawInput(Value);	// 添加角色控制器的航向输入
    }// 角色视角俯视或仰视
    void ABlasterCharacter::LookUp(float Value)
    {AddControllerPitchInput(Value);	// 获取角色控制器的俯仰输入
    }
    /* P32 角色移动(Character Movement)*/
    

    注意这里要了解 “pitch”、“yaw”、“roll” 三个欧拉角的含义,便于看懂代码,可以参阅《pitch、yaw、roll三个角的区别》

  5. 在 “BlasterCharacter.cpp” 的 “SetupPlayerInputComponent()” 函数中将角色跳跃对应的函数 “ACharacter::Jump” 与相应的操作映射进行绑定,然后将上述与轴映射相对应的函数与轴映射进行绑定。最后进行编译即可。

    // Called to bind functionality to input
    void ABlasterCharacter::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
    {Super::SetupPlayerInputComponent(PlayerInputComponent);/* P32 角色移动(Character Movement)*/// 绑定操作映射PlayerInputComponent->BindAction("Jump", IE_Pressed, this, &ACharacter::Jump);// 绑定轴映射PlayerInputComponent->BindAxis("MoveForward", this, &ABlasterCharacter::MoveForward);PlayerInputComponent->BindAxis("MoveRight", this, &ABlasterCharacter::MoveRight);PlayerInputComponent->BindAxis("Turn", this, &ABlasterCharacter::Turn);PlayerInputComponent->BindAxis("LookUp", this, &ABlasterCharacter::LookUp);/* P32 角色移动(Character Movement)*/	
    }
    
  6. 在虚幻引擎中打开关卡 “Lobby” ,点击上方工具栏的 “播放”(▶)按钮,可以观察到我们能够使用键盘和鼠标控制角色的移动和视角,但是角色的移动和视角变化都很僵硬,这是因为我们还没有为角色添加动画。
    在这里插入图片描述
    在这里插入图片描述


32.2 Summary

本节课修改输入映射(包括操作映射和轴映射),并定义了与其对应的 C++ 函数,然后绑定到角色蓝图类上,实现了使用键盘和鼠标控制角色移动和视角的功能。
在这里插入图片描述


http://www.yayakq.cn/news/110970/

相关文章:

  • 网站建设如何空间绑定域名简单的公司网站
  • 创建网站目录权限wordpress 提示插件
  • 微信自助建站系统小程序价格为什么比网站建设高
  • 做药物研发的人上什么网站晋城企业网站建设价格
  • 云南 网站建设织梦大气婚纱影楼网站源码 dedecms摄影工作室网站模板
  • app开发一般需要多少钱南京网站seo
  • 建设银行咸阳交费网站建立收费网站
  • 自动化培训网站建设域名历史查询工具
  • 如何做网站呢北京 响应式网站建设
  • 做机械的网站有哪些正规专业的网站建设公
  • 网站开发时如何兼容网站广告弹出来代码
  • 手机版文章网站源码家乡网站策划书建设背景
  • 吉林省建设厅网站首页垂直网站建设的关键因素
  • 福州高端网站建设公司北京微信网站搭建费用
  • 好网站开发公司广西壮族自治区建设厅官方网站
  • 网站建设考试卷a卷网站建设与维护设计报告
  • 网站建设与维护实训报告电脑字体怎么导入到wordpress
  • 网站建设投标ppt用Python做网站如何配置域名
  • 网站没建好可以备案吗设计师的招聘要求
  • 商城网站备案流程如何自己做引流推广
  • 网站文章模块网站建设的定位是什么意思
  • 网站通栏是什么短视频制作自学教程
  • 餐馆网站模板专门做恐怖电影的网站
  • 贵阳专业网站建设公司哪家好连接外国的网站吗
  • 网站开发上证k线郑州网站制作网页
  • 长沙有什么做试卷的网站wordpress重定向自定义
  • 代理公司韩剧剧情介绍关闭站长工具seo综合查询
  • 东莞网站建设(信科网络)python网站开发用什么
  • 无限空间 网站网络推广学校
  • 做微景观的网站公司注册查询是在哪查