UE4中抛体物理模拟UProjectileMovementComponent

news2024/11/16 1:22:56

UE4中抛体物理模拟UProjectileMovementComponent

  • 1.简述
  • 2.使用方法
  • 3.绘制抛物曲线
  • 4.绘制抛物曲线

1.简述

背景:实现抛体运动,反弹效果,抛物曲线等功能
通用实现可以使用spline绘制,物体按照下图接口可以根据时间更新位置

USplineComponent:GetLocationAtTime(Time, CoordinateSpace, bUseConstantVelocity)

为处理碰撞反弹等,本文考虑使用UProjectileMovementComponent相关 纯工具类组件 继承自UMovementComponent
UE4官方文档:
UProjectileMovementComponent

ProjectileMovementComponent会在tick期间更新另一个组件的位置,如果更新的Component开启了模拟物理,那么只有初始速度initial velocity非0时才会影响发射,物理模拟将会在这里接管。

2.使用方法

在BP中添加组件ProjectileMovement
在这里插入图片描述

在BP里设置默认参数,可以设置抛体的初始速度、最大速度、模拟反弹、每帧更新旋转、匹配速度方向、重力影响、加速度量级等
在这里插入图片描述
或者在BP侧 spawn时设置
在这里插入图片描述
或在构造函数中设置UProjectileMovementComponent组件的相关属性:

if(!ProjectileMovementComponent)
{
    // Use this component to drive this projectile's movement.
    ProjectileMovementComponent = CreateDefaultSubobject<UProjectileMovementComponent>(TEXT("ProjectileMovementComponent"));
    ProjectileMovementComponent->SetUpdatedComponent(CollisionComponent);
    ProjectileMovementComponent->InitialSpeed = 3000.0f;
    ProjectileMovementComponent->MaxSpeed = 3000.0f;
    ProjectileMovementComponent->bRotationFollowsVelocity = true;
    ProjectileMovementComponent->bShouldBounce = true;
    ProjectileMovementComponent->Bounciness = 0.3f;
    ProjectileMovementComponent->ProjectileGravityScale = 0.0f;
}

3.绘制抛物曲线

匀变速运动的位移公式:S = Vt +0.5a * t^2,对应实现每帧运动的距离MoveDelta

FVector UProjectileMovementComponent::ComputeMoveDelta(const FVector& InVelocity, float DeltaTime) const
{
    const FVector NewVelocity = ComputeVelocity(InVelocity, DeltaTime);
    const FVector Delta = (InVelocity * DeltaTime) + (NewVelocity - InVelocity) * (0.5f * DeltaTime);
    return Delta;
}

4.绘制抛物曲线

可以根据上文原理绘制抛物曲线参考下图
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/64056.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CN_MAC介质访问控制子层@CSMA协议

文章目录常用方法静态方法信道划分MAC特点动态方法随机访问MACCSMA协议CSMA/CD多点接入(或多点访问):载波监听Note:&#x1f388;碰撞检测碰撞:碰撞冲突过程传播时延对载波侦听的影响&#x1f388;争用期发现碰撞的最迟情况电磁波的速率是有限最短帧长&#x1f388;小结&#x…

CAD重复圆绘制机械图形

这次CAD必练图形第四个&#xff0c;这个图形主要用到了CAD圆、直线、修剪、旋转等多个命令&#xff0c;看着不简单&#xff0c;等绘制出来后就觉得还是挺简单的。 目标图形 操作步骤 1.使用CAD直线命令绘制一条水平的直线和四条垂直的直线&#xff0c;四条垂直的直线之间的距…

【网络层】DHCP协议(应用层)、ICMP、IPv6详解

注&#xff1a;最后有面试挑战&#xff0c;看看自己掌握了吗 文章目录DHCP------DHCP服务器来动态分配IP--------应用层协议----允许地址重用ICMP字段----差错报文、询问报文差错报文-----终点不可达无法交付--------源点抑制、拥塞丢数据&#xff08;现在废弃&#xff09;----…

JAVA小区物业管理系统(源代码+论文)

毕业设计(论文) [摘要] 物业管理系统是紧随当今时代发展的需要&#xff0c;目的在于实现不同的人员对物业系统的不同的需要&#xff0c;有利于社会的稳定和顺利发展。 关键词&#xff1a;小程序Applet&#xff1b;应用程序Application;数据库&#xff1b;数据库实现&#xf…

12.5 - 每日一题 - 408

每日一句&#xff1a;没有醒不来的早晨&#xff0c;弄不懂的题目&#xff0c;熬不过的迷茫&#xff0c;只有你不敢追的梦。 数据结构 1 在最后一趟排序开始之前&#xff0c;所有记录有可能都不在其最终位置上的是______。 A. 直接插入排序B. 冒泡排序C. 堆排序D. 快速排…

底层逻辑-理解Go语言的本质

1.Java VS Go语言 Java&#xff0c;从源代码到编译成可运行的代码 上图已经展示了这个过程:从Java的源代码编译成jar包或war包(字节码),最终运行在JVM中。 我们把Java源代码编译后的jar包或war包看成是工程师生产出来的产品&#xff0c;操作系统是一个平台&#xff0c;JVM就是…

【RCNN系列】RCNN论文总结

目标检测论文总结 【RCNN系列】 RCNN RCNN目标检测论文总结前言一、Pipeline二、模型设计1.warp2.SVM3.阈值设定4.box回归三、思考四、缺点前言 一些经典论文的总结。 一、Pipeline 首先传入Input image&#xff0c;利用Selective Search&#xff08;比较古老&#xff09;算法…

【计算机网络】数据链路层:拓展的以太网

在物理层拓展以太网&#xff1a; 使用光纤拓展&#xff1a;主机使用光纤和一对光纤调制解调器连接到集线器。 使用集线器拓展&#xff1a;使用集线器连成更大的以太网 集线器优点&#xff1a; 使原来不同碰撞域的计算机能够跨碰撞域通信&#xff0c;扩大了以太网覆盖的地理范…

GDB使用技巧和相关插件

GDB使用-小技巧 参考&#xff1a;《100个gdb小技巧》 链接中的文档有许多关于GDB的使用小技巧&#xff1b; $info functions - 列出函数的名称 $s/step - 步入&#xff0c;进入带有调试信息的函数 $n/next - 下一个要执行的程序代码 $call/print - 直接调用函数执行 $i/info …

jvm简介

.什么是JVM&#xff1f; JVM是Java Virtual Machine&#xff08;Java虚拟机&#xff09;的缩写&#xff0c;是通过在实际的计算机上仿真模拟各种计算机功能来实现的。由一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域等组成。JVM屏蔽了与操作系统平台相…

Postman如何做接口测试,那些不得不知道的技巧

目录&#xff1a;导读 前言 Postman如何做接口测试1&#xff1a;如何导入 swagger 接口文档 Postman如何做接口测试2&#xff1a;如何切换测试环境 Postman如何做接口测试3&#xff1a;什么&#xff1f;postman 还可以做压力测试&#xff1f; Postman如何做接口测试4&…

电源控制测试老化系统-国产电源测试仪器-电源模块测试系统NSAT-8000

*测试仪器&#xff1a;可编程直流电源、可编程直流电子负载、数字示波器、功率计 *测试产品&#xff1a;电源模块。纳米软件电源ATE自动测试系统适用于大功率工业电源、AC/DC类DC电源供应器、适配器、充电器、LED电源等开关电源之综合性能测试。 *被测项目&#xff1a;有效值电…

快来组战队,赢iPhone啦!

常见问题 问&#xff1a;我邀请的人再去邀请&#xff0c;也算我的战队队员么&#xff1f;我最多可以有多少个队员&#xff1f; 答&#xff1a;您将和您直接邀请的人组成战队&#xff0c;并担任该战队的队长。如果被您邀请的小伙伴再去邀请其他人&#xff0c;那么您邀请的小伙…

跨域推荐(Cross-Domain Recommendation)的最新综述

论文解读系列第十六篇&#xff1a;IJCAI 2021--跨域推荐&#xff08;Cross-Domain Recommendation&#xff09;的最新综述 - 知乎 数据稀疏问题 目录 1.背景介绍 (1)内容层级相关性(content-level relevance) (2)用户层级相关性(user-level relevance) (3)产品层级相关性…

OpenCV从2到3的过渡

与版本2.4相比&#xff0c;OpenCV 3.0引入了许多新算法和功能。有些模块已被重写&#xff0c;有些已经重组。尽管2.4中的大多数算法仍然存在&#xff0c;但接口可能不同。本节描述了一般性的最显着变化&#xff0c;过渡操作的所有细节和示例都在本文档的下一部分中。 1、贡献存…

nginx安装与配置反向代理

Nginx (engine x) 是一款基于异步框架的轻量级/高性能的Web 服务器/反向代理服务器/缓存服务器/电子邮件(IMAP/POP3)代理服务器,由俄罗斯的程序设计师Igor Sysoev(伊戈尔赛索耶夫)所开发.话不多说直接上步骤 1.安装nginx,我是在root用户下不需要加sudo yum install nginx 安…

嵌入式分享合集116

一、DC-DC升压电路模块原理 DC-DC 转换器是一种电力电子电路&#xff0c;可有效地将直流电从一个电压转换为另一个电压。 DC-DC 转换器在现代电子产品中扮演着不可或缺的角色。这是因为与线性稳压器相比&#xff0c;它们具有多项优势。尤其是线性稳压器会散发大量热量&#x…

什么是天气预报 API 接口?如何获取天气预报 API?

什么是天气预报API接口&#xff1f; 天气的好坏和人们的生活、工作息息相关&#xff0c;每天的天气如何&#xff1f;总是牵动着人们的心&#xff0c;关注天气就行了人们茶余饭后的话题了。如何获得准确的天气预报&#xff1f;还得从天气预报API接口说起。 天气预报API是提供未…

150398-22-4,三肽Phe-Arg-Arg

The tripeptide FRR was found to exert a Zn⁺ dependent, insulin-mimetic inhibitory action on myocardial proteolysis. 三肽FRR对心肌蛋白水解具有Zn⁺依赖性、胰岛素样抑制作用。 编号: 197811中文名称: 三肽Phe-Arg-Arg英文名: Phe-Arg-ArgCAS号: 150398-22-4单字母: H…

yolov1 论文精读 - You Only Look Once

YOLOv1 Introduction 作者将目标检测进行重构并看作为单一的回归问题&#xff0c;直接从图像到边界框坐标和类别概率。使用我们的系统&#xff0c;您只需要在图像上看一次&#xff08;you only look once, YOLO&#xff09;&#xff0c;以预测出现的目标和位置。 系统将输入…