首先接触虚幻文档中提供给新手的第一个案例

悬浮旋转方块

具体操作的步骤可以点击下方链接:

编程快速入门 | 虚幻引擎文档 (unrealengine.com)

其中整理一下在这个初学课堂中学到的内容:

其中,在提供的重载函数Tcik当中需要接收float类型的DeltaTime参数,

DeltaTime

是解决FPS(即帧数)不断变化、不稳定的一个设计思想,很多程序需要不断刷新执行,那么一个属性值将不断被应用,如果每秒刷新次数不同,那么诸如Tick函数这样的功能被调用的次数也就不同,譬如,假设有这样一个情境,需要每帧都调用一次Debuff计算如减血(-1HP),那么一秒内60FPS的会减60滴血,120FPS的会减120滴血,问题来了,如何每帧调用的同时(你总不能规定某些帧运行Tick,某些帧不运行Tick吧)保证不同设备的人可以获得相同的反馈,

所以,DeltaTime应运而出,DeltaTime = 1秒/帧数,那么Debuff乘以DeltaTime不就可以有效地解决问题了嘛

60FPS:-1Hp*DeltaTime*60(次)

120FPS::-1Hp*DeltaTime*120(次)

最终结果都为-1HP

UPROPERTY(VisibleAnyWhere)

UPROPERTY(VisibleAnywhere)UStaticMeshComponent* VisualMesh;

(我的理解)这个的功能在UE4编辑界面的具体体现为,你可以在编辑界面对创建的VisualMesh进行指定修改调试

在细节面板中,会出现可以修改的StaticMesh,可以指定对象。

悬浮代码

void AfloatingActor::Tick(float DeltaTime)
{Super::Tick(DeltaTime);FVector NewLocation = GetActorLocation();FRotator NewRotation = GetActorRotation();float RunningTime = GetGameTimeSinceCreation();float DeltaHeight = (FMath::Sin(RunningTime + DeltaTime) - FMath::Sin(RunningTime));NewLocation.Z += DeltaHeight * 20.0f;       //Scale our height by a factor of 20float DeltaRotation = DeltaTime * 20.0f;    //Rotate by 20 degrees per secondNewRotation.Yaw += DeltaRotation;SetActorLocationAndRotation(NewLocation, NewRotation);
}

GetGameTimeSinceCreation()配合Sin函数可以有效地限制DeltaHeight并且有效地实现上下悬浮的效果,其Yaw轴的旋转是跟随时间变化而实时变化,用到了DeltaTime,体现了上文所讲的Tick作用。

虚幻引擎中的坐标轴

即 俯仰(Pitch)、偏摆(Yaw)、翻滚(Roll)

好了,今天的总结到此结束,有不足之处还请大家多多包涵

虚幻C++学习笔记01--官方案例:FloatingActor相关推荐

  1. JavaWeb-综合案例(用户信息)-学习笔记01【列表查询】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb-综合案例(用户信息)-学习笔记01[列表查询] JavaWeb-综合案例(用户信息)-学习笔记02[登录功能] JavaWeb-综合案 ...

  2. JDBC学习笔记01【JDBC快速入门、JDBC各个类详解、JDBC之CRUD练习】

    黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...

  3. JavaEE——Spring学习笔记01【Ioc开发的模式】

    JavaEE--Spring学习笔记01[Ioc开发的模式] JavaEE--Spring学习笔记02[Spring和Mybatis的整合] JavaEE--Spring学习笔记03[AOP开发] J ...

  4. JavaWeb黑马旅游网-学习笔记01【准备工作】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

  5. Bootstrap学习笔记01【快速入门、栅格布局】

    Java后端 学习路线 笔记汇总表[黑马程序员] Bootstrap学习笔记01[快速入门.栅格布局][day01] Bootstrap学习笔记02[全局CSS样式.组件和插件.案例_黑马旅游网][d ...

  6. HTML/CSS学习笔记01【概念介绍、基本标签】

    w3cschool菜鸟教程.CHM(腾讯微云):https://share.weiyun.com/c1FaX6ZD HTML/CSS学习笔记01[概念介绍.基本标签.表单标签][day01] HTML ...

  7. Activiti工作流学习笔记01

    Activiti6工作流学习笔记01 activiti工作流目前官方最新版本是7.x,但....版本不重要了.这篇笔记只是我学习activiti6过程中的自我总结.如果笔记上有错误的话,欢迎赐教,谢谢 ...

  8. jQuery学习笔记01:初试jQuery

    jQuery学习笔记01:初试jQuery 一.下载jQuery jQuery官网:https://jquery.com 二.案例演示--Welcome to jQuery World 1.在WebS ...

  9. RN学习笔记01:概述、特点与环境搭建

    RN学习笔记01:概述.特点与环境搭建 一.RN概述 React Native(简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 Reac ...

最新文章

  1. 机电传动控制第三次作业
  2. Java迭代器Iterator接口
  3. boost::detail::sp_typeinfo用法实例
  4. Heu OJ 解题报告索引
  5. python数列求和程序_python实现有趣的数学逻辑程序
  6. keil MDK编译器警告和错误详解(不定期更新)
  7. Linux服务器系统管理优化,Linux服务器性能管理与优化
  8. 【To Do 难点】最大搜索二叉树
  9. 使用CSS创建Digg样式风格的导航栏或菜单
  10. vs2005下使用ASPNetPage分页的例子1
  11. java 静态方法 异常_java – 如何模拟一个void静态方法来抛出与Powermock的异常?...
  12. javascript编写的抽奖小程序
  13. Ant Design Upload 文件上传功能
  14. 压缩文件下载后无法打开问题解决方法
  15. 制作自己的openwrt刷机包_openwrt刷机教程
  16. 论如何使用Python进行微信公众号的开发
  17. Geany全黑主题首发教程
  18. CentOS-6.2安装Nvidia显卡驱动
  19. [CTSC2016]时空旅行
  20. 大脑神经网络是如何形成的,大脑自组织神经网络

热门文章

  1. 企业防火墙软件的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  2. 麒麟os或将取代android,国产自研操作系统新希望!华为或自研麒麟OS欲取代Android...
  3. c语言 九宫格还原算法,经典回溯算法问题:九宫格
  4. java画乌龟动起来_java用swing画可以行走的乌龟
  5. android nes游戏模拟器源码支持wifi对战!
  6. mysql2000清除挂起工具_安装SQL SERVER2000提示注册表文件被挂起的解决方案
  7. 放置图片拼接结果的图像大小设置方法
  8. 说一说will-change
  9. No URLs will be polled as dynamic configuration sources警告处理
  10. vivonex3s和华为mate40哪个好