虚幻C++学习笔记01--官方案例:FloatingActor
首先接触虚幻文档中提供给新手的第一个案例
悬浮旋转方块
具体操作的步骤可以点击下方链接:
编程快速入门 | 虚幻引擎文档 (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相关推荐
- JavaWeb-综合案例(用户信息)-学习笔记01【列表查询】
Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb-综合案例(用户信息)-学习笔记01[列表查询] JavaWeb-综合案例(用户信息)-学习笔记02[登录功能] JavaWeb-综合案 ...
- JDBC学习笔记01【JDBC快速入门、JDBC各个类详解、JDBC之CRUD练习】
黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...
- JavaEE——Spring学习笔记01【Ioc开发的模式】
JavaEE--Spring学习笔记01[Ioc开发的模式] JavaEE--Spring学习笔记02[Spring和Mybatis的整合] JavaEE--Spring学习笔记03[AOP开发] J ...
- JavaWeb黑马旅游网-学习笔记01【准备工作】
Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...
- Bootstrap学习笔记01【快速入门、栅格布局】
Java后端 学习路线 笔记汇总表[黑马程序员] Bootstrap学习笔记01[快速入门.栅格布局][day01] Bootstrap学习笔记02[全局CSS样式.组件和插件.案例_黑马旅游网][d ...
- HTML/CSS学习笔记01【概念介绍、基本标签】
w3cschool菜鸟教程.CHM(腾讯微云):https://share.weiyun.com/c1FaX6ZD HTML/CSS学习笔记01[概念介绍.基本标签.表单标签][day01] HTML ...
- Activiti工作流学习笔记01
Activiti6工作流学习笔记01 activiti工作流目前官方最新版本是7.x,但....版本不重要了.这篇笔记只是我学习activiti6过程中的自我总结.如果笔记上有错误的话,欢迎赐教,谢谢 ...
- jQuery学习笔记01:初试jQuery
jQuery学习笔记01:初试jQuery 一.下载jQuery jQuery官网:https://jquery.com 二.案例演示--Welcome to jQuery World 1.在WebS ...
- RN学习笔记01:概述、特点与环境搭建
RN学习笔记01:概述.特点与环境搭建 一.RN概述 React Native(简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 Reac ...
最新文章
- 「AI 质检员」在富士通上岗,效率比人工高 25%
- java找哪一天是星期几_七夕节是几月几日农历时间 2019年七夕情人节哪一天星期几...
- cad抛物线曲线lisp_曲线的转弯半径和曲率 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...
- Pycharm快捷键大全(windows + Mac)
- java spring框架 注解_spring框架之注解的使用
- ubuntu networking 与 network-manager
- 优衣库偷拍事件处理结果来了:涉事人为某科技公司员工...
- Transaction rolled back because it has rollback-only
- 基于深度学习的番茄叶部病害识别模型
- Atitit 循环处理的新特性 for...else...
- 缓存框架 EhCache 使用 3
- openSUSE Tumbleweed 连接 Canon LBP2900 打印机
- 心理健康测试抑郁分析系统
- javaScript中的特殊字符
- 第一讲:双活容灾技术和方案概述
- python在冒号处显示语法错误_python冒号错误语法无效
- Mac端 淘宝买的廉价 Arduino Mega 2560 的驱动
- 为了保证页面输出安全,我们经常需要对一些特殊的字符进行转义,请写一个函数 escapeHtml,将<, >, , “进行转义
- 数据结构点餐管理系统java,C语言实现餐饮点餐管理系统
- 第二阶段--团队冲刺--第十天
热门文章
- 强大的抓包工具 Fiddler Web Debugger v5.0 中文破解版
- anaconda-navigaotr出现adding featured channels并无法正常打开_CodingPark编程公园
- 香港的教育(2)——学前教育
- SQL Server 安装:以前的某个程序安装已在安装计算机上创建挂起的文件操作
- Win10神州网信政府版远程桌面开通方法--实测有效
- [渲染层网络层错误] Failed to load local image resource /uni_modules/uview-ui/components//static/icon/person.
- 牛客小白月赛2 E.是是非非
- 我电脑感染了一种奇怪的病毒,它点中了我的笑穴!
- 芋道 Spring Boot 安全框架 Spring Security 入门
- c语言表达式5278的值是 1 .,c语言表达式5278的值是_____。