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

悬浮旋转方块

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

编程快速入门 | 虚幻引擎文档 (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. 「AI 质检员」在富士通上岗,效率比人工高 25%
  2. java找哪一天是星期几_七夕节是几月几日农历时间 2019年七夕情人节哪一天星期几...
  3. cad抛物线曲线lisp_曲线的转弯半径和曲率 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...
  4. Pycharm快捷键大全(windows + Mac)
  5. java spring框架 注解_spring框架之注解的使用
  6. ubuntu networking 与 network-manager
  7. 优衣库偷拍事件处理结果来了:涉事人为某科技公司员工...
  8. Transaction rolled back because it has rollback-only
  9. 基于深度学习的番茄叶部病害识别模型
  10. Atitit 循环处理的新特性 for...else...
  11. 缓存框架 EhCache 使用 3
  12. openSUSE Tumbleweed 连接 Canon LBP2900 打印机
  13. 心理健康测试抑郁分析系统
  14. javaScript中的特殊字符
  15. 第一讲:双活容灾技术和方案概述
  16. python在冒号处显示语法错误_python冒号错误语法无效
  17. Mac端 淘宝买的廉价 Arduino Mega 2560 的驱动
  18. 为了保证页面输出安全,我们经常需要对一些特殊的字符进行转义,请写一个函数 escapeHtml,将<, >, , “进行转义
  19. 数据结构点餐管理系统java,C语言实现餐饮点餐管理系统
  20. 第二阶段--团队冲刺--第十天

热门文章

  1. 强大的抓包工具 Fiddler Web Debugger v5.0 中文破解版
  2. anaconda-navigaotr出现adding featured channels并无法正常打开_CodingPark编程公园
  3. 香港的教育(2)——学前教育
  4. SQL Server 安装:以前的某个程序安装已在安装计算机上创建挂起的文件操作
  5. Win10神州网信政府版远程桌面开通方法--实测有效
  6. [渲染层网络层错误] Failed to load local image resource /uni_modules/uview-ui/components//static/icon/person.
  7. 牛客小白月赛2 E.是是非非
  8. 我电脑感染了一种奇怪的病毒,它点中了我的笑穴!
  9. 芋道 Spring Boot 安全框架 Spring Security 入门
  10. c语言表达式5278的值是 1 .,c语言表达式5278的值是_____。