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

UE5 C++ 发射子弹发射(Projectile)

一.相关蓝图的练习,在我之前的文章中射击子弹案例-CSDN博客

本篇使用C++实现

1.创建C++类 MyBullet,在MyBullet.h中包含相关头文件

#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "Components/StaticMeshComponent.h"  //模型组件
//#include "Components/CapsuleComponent.h"  //球形碰撞组件的头文件
#include "GameFramework/ProjectileMovementComponent.h"   //射击组件
#include <Components/SphereComponent.h> //球形碰撞组件的头文件
#include "MyBullet.generated.h" 


2.声明属性变量,子弹模型,子弹碰撞体,子弹发射器

public:UPROPERTY(VisibleAnywhere,BlueprintReadOnly,Category = "MyComponent")UStaticMeshComponent* BulletMesh;   //static 组件UPROPERTY(VisibleAnywhere,BlueprintReadOnly,Category = "MyComponent")USphereComponent* MySphere;    //碰撞组件UPROPERTY(VisibleAnywhere,BlueprintReadOnly,Category = "MyComponent")UProjectileMovementComponent* FireGunProjectile; //

3.将组件实例化

BulletMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("BulletComponent")); //实例化StaticMesh组件
//RootComponent = 
FireGunProjectile = CreateDefaultSubobject<UProjectileMovementComponent>(TEXT("FireGunProjectileComponent")); //实例化ProjectileMovement组件
MySphere = CreateDefaultSubobject<USphereComponent>(TEXT("SphereCollision")); // 

4.通过寻找静态模型,设置静态模型的实例。设置根组件,设置父子级,只要Projectile在根组件后面就能,让物体跟随,就有发射根组件的效果。

再设置参数,调整效果。发射的初始速度,最大速度,重力等。

MySphere = CreateDefaultSubobject<USphereComponent>(TEXT("SphereCollision")); // 
static ConstructorHelpers::FObjectFinder<UStaticMesh>TmpStaticMesh(TEXT("/Script/Engine.StaticMesh'/Engine/BasicShapes/Sphere.Sphere'")); //静态加载资源 重要
BulletMesh->SetStaticMesh(TmpStaticMesh.Object); //.Object重要RootComponent = BulletMesh;//FireGunProjectile->setupattack
MySphere->SetupAttachment(RootComponent);
MySphere->InitSphereRadius(67);
FireGunProjectile->SetUpdatedComponent(RootComponent);//
FireGunProjectile->InitialSpeed = 1200.0f;//初始速度
FireGunProjectile->MaxSpeed = 24000.0f; //最大速度
FireGunProjectile->bRotationFollowsVelocity = false; //旋转跟随重力
FireGunProjectile->bIsHomingProjectile = true;    //跟随组件
FireGunProjectile->ProjectileGravityScale = 0.02; //设置重力

5.生成蓝图类放到场景中,这样就能实现单发的子弹效果

相关文章:

UE5 C++ 发射子弹发射(Projectile)

一.相关蓝图的练习&#xff0c;在我之前的文章中射击子弹案例-CSDN博客 本篇使用C实现 1.创建C类 MyBullet,在MyBullet.h中包含相关头文件 #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "Components/StaticMeshComponent.…...

【蓝牙协议栈】【蓝牙分析工具】Ellisys 分析HCI Log和btsnoop Log

1.Ellisys 介绍 Ellisys 的 air log sniffer设备要二三十万,一般不是专业开发蓝牙的估计不会选择使用这个工具,但是即使我们不买这个设备,安装了 Ellisys 的工具也可以看 btsnoop 的,下面我就一步一步教你通过 Ellisys 来打开 btsnoop。 1.1 首先打开 APP(Ellisys 不能直…...

亚信安慧AntDB数据库与流式处理的有机融合

流式处理的概念 2001年9月11日&#xff0c;美国世贸大楼被袭击&#xff0c;美国国防部第一次将“主动预警”纳入国防的宏观战略规划。而IBM作为当时全球最大的IT公司&#xff0c;承担了大量基础支撑软件研发的任务。其中2009年正式发布的IBM InfoSphere Streams&#xff0c;就是…...

神经网络系列---权重初始化方法

文章目录 权重初始化方法Xavier初始化&#xff08;Xavier initialization&#xff09;Kaiming初始化&#xff0c;也称为He初始化LeCun 初始化正态分布与均匀分布Orthogonal InitializationSparse Initializationn_in和n_out代码实现 权重初始化方法 Xavier初始化&#xff08;X…...

【重要公告】BSV区块链协会宣布将启动多项动态安全增强措施

​​发表时间&#xff1a;2024年2月16日 2024年2月16日&#xff0c;瑞士楚格 - BSV区块链协议的管理机构BSV区块链协会&#xff08;以下简称“BSV协会”&#xff09;宣布对其运营模式实施全新的安全架构&#xff0c;其中包括引入网络访问规则和数字资产找回协议&#xff0c;以及…...

软件设计模式之访问者模式(Visitor Pattern)

访问者模式是一种行为型设计模式&#xff0c;它允许你定义一系列操作&#xff0c;这些操作可以应用于对象结构中的元素&#xff0c;而不改变这些元素的类。通过这种方式&#xff0c;可以在不改变各个元素的类的情况下&#xff0c;增加新的操作。 1. 何时使用访问者模式&#x…...

【MySQL】主从同步原理、分库分表

主从同步原理 1. 主从同步原理 MySQL 经常先把命令拷入硬盘的日志&#xff0c;再执行日志的命令&#xff0c;这样的好处&#xff1a; 日志的位置固定&#xff0c;拷入硬盘的开销不大&#xff1b;将命令先准备好&#xff0c;而不是边读边执行&#xff0c;性能更好&#xff0c;…...

uniapp如何实现关闭前面指定数目页面

需求 &#xff1a; 路由从 页面A -> 页面B-> 页面C-> 页面D 我希望在 页面C跳到页面CD 后 在页面D 中 点击返回&#xff08;物理键或是代码返回&#xff09;&#xff0c;直接返回到A,而不是页面C 所以我需要把BC页面给销毁掉 以下是我的实现思路&#xff0c;在h…...

使用 Helm 安装 极狐GitLab

本篇作者 徐晓伟 使用 Helm 简便快捷的部署与管理 极狐GitLab 前提条件 k8s 完成 helm 的配置 k8s 完成 ingress 的配置 内存至少 10G 演示环境是 龙蜥 Anolis 8.4&#xff08;即&#xff1a;CentOS 8.4&#xff09;最小化安装k8s 版本 1.28.2calico 版本 3.26.1nginx ingre…...

K8S部署postgresql

&#xff08;作者&#xff1a;陈玓玏&#xff09; 一、前置条件 已部署k8s&#xff0c;服务端版本为1.21.14 二、部署postgresql 拉取镜像&#xff0c;docker pull postgres&#xff0c;不指定版本&#xff0c;自动从docker hub拉取最新版本&#xff1b;配置configmap&…...

Go 如何控制并发的goroutine数量?

为什么要控制goroutine并发的数量&#xff1f; 在开发过程中&#xff0c;如果不对goroutine加以控制而进行滥用的话&#xff0c;可能会导致服务整体崩溃。比如耗尽系统资源导致程序崩溃&#xff0c;或者CPU使用率过高导致系统忙不过来。 用什么方法控制goroutine并发的数量&a…...

【黑马程序员】1、TypeScript介绍_黑马程序员前端TypeScript教程,TypeScript零基础入门到实战全套教程

课程地址&#xff1a;【黑马程序员前端TypeScript教程&#xff0c;TypeScript零基础入门到实战全套教程】 https://www.bilibili.com/video/BV14Z4y1u7pi/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 目录 1、TypeScript介绍 1.1 TypeScript是什…...

JS进阶——深入对象

构造函数 封装是面向对象思想中比较重要的一部分&#xff0c;js面向对象可以通过构造函数实现的封装。 前面我们学过的构造函数方法很好用&#xff0c;但是 存在浪费内存的问题 原型 目标&#xff1a;能够利用原型对象实现方法共享 构造函数通过原型分配的函数是所有对象所…...

Gitlab部署管理

一、安装 1.docker安装gitlab sudo docker run -d \-p 6080:80 -p 6022:22 \--name gitlab \--restart always \-v /srv/gitlab/config:/etc/gitlab \-v /srv/gitlab/logs:/var/log/gitlab \-v /srv/gitlab/data:/var/opt/gitlab \gitlab/gitlab-ce:latest2.存储说明 存储应…...

MyBatis 学习(二)之 第一个 MyBatis 案例

目录 1 配置 MyBatis 方式 1.1 XML 配置文件 1.2 Java 注解配置 1.3. Java API 配置 2 在 MySQL 中创建一张表 3 创建一个基于 Maven 的 JavaWeb 工程 4 编写 User 实体类 5 创建 Mybatis 全局配置文件 6 编写一个 DAO 或 Mapper 接口 7 编写 SQL 映射配置文件&#…...

30天自制操作系统(第21天)

21.1 攻克难题——字符串显示API 显示单个字符时&#xff0c;用 [CS:ECX] 的方式特意指定了 CS&#xff08;代码段寄存器&#xff09;&#xff0c;因此可以成功读取 msg的内容。但在显示字符串时&#xff0c;由于无法指定段地址&#xff0c;程序误以为是 DS而从完全错误的内存地…...

linux系统Jenkins的安装

Jenkins安装 安装上传安装包解压包首次登录要去服务器查看密码&#xff0c;更改密码选择需要安装的插件设置Admin用户和密码安装完成 安装 上传安装包 上传 jdk17 tomcat jenkins.war的安装包 . 上传 tomcat安装包解压包 解压jdk tar xf jdk-11.0.18_linux-x64_bin.tar.gz解…...

【GStreamer】basic-tutorial-1:GstBus、GstMessage详解

【目录】郭老二博文之:图像视频汇总 1、先看示例 #include <gst/gst.h>int main (int argc, char *argv[]) {GstElement *pipeline;GstBus...

Python中的可变变量与不可变变量

python中的可变与不可变变量 一、变量的三个参数 就像区分一个人一样&#xff0c;同样都是张三&#xff0c;可能这个张三就不是那个张三。同一个变量是指的什么相同呢&#xff1f; Python中的对象包含三个要素&#xff0c;id&#xff08;内存地址&#xff09;&#xff0c;typ…...

OpenGL调用窗口,方向键和鼠标

9.2 OpenGL调用窗口&#xff0c;方向键和鼠标 9.2.1 opengl调用窗口 OpenGL调用窗口步骤&#xff1a; 第一步&#xff1a;初始化 GLFW&#xff0c;初始化OpenGL,初始化窗口&#xff0c;初始化上下文 第二步&#xff1a;设置窗口大小和位置&#xff0c;设置输入输出 第三步…...

某宝登录密码加密逆向实战——从password2到st码的完整流程解析

1. 淘宝登录加密机制概述 淘宝作为国内最大的电商平台&#xff0c;其登录系统采用了多重安全防护措施。其中password2参数是整个登录流程中最关键的加密环节&#xff0c;它通过RSA算法对用户明文密码进行非对称加密。这种设计能有效防止密码在传输过程中被截获&#xff0c;即使…...

AISQL生成不是噱头,是生产力革命:37个真实生产环境SQL生成失败案例全复盘

第一章&#xff1a;AISQL生成不是噱头&#xff0c;是生产力革命&#xff1a;37个真实生产环境SQL生成失败案例全复盘 2026奇点智能技术大会(https://ml-summit.org) 在金融、电商与SaaS平台的37个线上生产系统中&#xff0c;我们对主流AISQL工具&#xff08;含LangChainLlama…...

2026 最新 从零搭建本地大模型 RAG 知识库问答系统:基于 Llama 3.2 8B 量化版 + LangChain+Chroma,全流程代码实操 + 踩坑指南

2026最新 从零搭建本地大模型RAG知识库问答系统&#xff1a;基于Llama 3.2 8B量化版LangChainChroma&#xff0c;全流程代码实操踩坑指南 【本文首发CSDN&#xff0c;未经授权禁止转载】 文章目录 文章目录2026最新 从零搭建本地大模型RAG知识库问答系统&#xff1a;基于Llam…...

Elasticsearch实战篇:索引库、文档与JavaRestClient操作指南

Elasticsearch 实战篇&#xff1a;索引库、文档与 JavaRestClient 操作指南整理自黑马程序员《SpringCloud微服务开发与实战》Elasticsearch01 课程 对应章节&#xff1a;索引库操作、文档操作、JavaRestClient 客户端一、索引库操作 (Index Operations) 索引库类似于 MySQL 中…...

【51单片机实战】智能倒车雷达系统:从超声波测距到分级报警的完整实现

1. 项目背景与核心功能 倒车雷达是汽车电子中非常实用的安全装置&#xff0c;对于电子工程专业的学生来说&#xff0c;用51单片机实现一个简易版的倒车防撞系统是个不错的练手项目。这个系统主要利用超声波测距原理&#xff0c;通过LED灯和蜂鸣器实现分级报警&#xff0c;还能保…...

Security:Elastic Security 实战:从零构建威胁检测与响应闭环

1. Elastic Security 初探&#xff1a;企业安全防护新思路 第一次接触Elastic Security时&#xff0c;我被它"SIEM端点防护"的二合一设计惊艳到了。传统企业安全方案往往需要采购多个独立系统&#xff0c;而Elastic Security直接把日志分析、威胁检测、终端防护这些功…...

别再只改单元格了!PyQt5 QTableWidget表头(horizontalHeader/verticalHeader)的5个实用技巧与避坑指南

PyQt5 QTableWidget表头深度优化&#xff1a;5个实战技巧与性能陷阱解析 在开发数据密集型桌面应用时&#xff0c;表格控件往往是核心交互组件。虽然大多数PyQt5开发者都能熟练操作单元格内容&#xff0c;但表头(horizontalHeader/verticalHeader)的高级功能却经常被忽视。实际…...

从 0 到 1 用 Python 写一个最小可用 LangGraph 系统

从 0 到 1 用 Python 写一个最小可用 LangGraph 系统 关键词 LangGraph, LangChain, 状态机, 多Agent系统, 图结构, LLM应用, Python实现 摘要 在这篇技术博客中,我们将深入探讨LangGraph的核心概念,并从零开始构建一个最小可用的LangGraph系统。LangGraph是LangChain生态…...

如何在 Pandas 中安全地对非空 DataFrame 执行行级操作

本文详解如何在 Pandas 中判断 DataFrame 是否为空&#xff0c;并在行级处理&#xff08;如 apply 或迭代&#xff09;中避免对空数据执行无效操作&#xff0c;重点推荐 iterrows() 空值前置校验的稳健方案。 本文详解如何在 pandas 中判断 dataframe 是否为空&#xff0c;并在…...

Windows更新故障的终极解决方案:Reset Windows Update Tool深度技术解析

Windows更新故障的终极解决方案&#xff1a;Reset Windows Update Tool深度技术解析 【免费下载链接】Reset-Windows-Update-Tool Troubleshooting Tool with Windows Updates (Developed in Dev-C). 项目地址: https://gitcode.com/gh_mirrors/re/Reset-Windows-Update-Tool…...