1. 使用UE4新建一个自带的第一人称设计游戏模板,使用C++工程并且包含初学者内容包

  2. 在项目中添加粒子效果,使用的函数
/**UWorld* :指向世界或者关卡的指针UParticleSystem*:指向粒子组件的指针const FTransform&SpawnTransform:位置引用UGameplayStatics::SpawnEmitterAtLocation()*/
  1. 在子弹类中添加粒子系统组件
public://子弹爆炸的粒子效果UPROPERTY(EditDefaultsOnly, Category = "AAA")class UParticleSystem* projectileParticle;

在子弹碰撞函数中添加播放碰撞的函数

 UGameplayStatics::SpawnEmitterAtLocation(GetWorld(), projectileParticle, GetTransform());
  1. 完整的代码如下:
// Copyright Epic Games, Inc. All Rights Reserved.#pragma once#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "TrueFPSProjectProjectile.generated.h"class USphereComponent;
class UProjectileMovementComponent;UCLASS(config=Game)
class ATrueFPSProjectProjectile : public AActor
{GENERATED_BODY()/** Sphere collision component */UPROPERTY(VisibleDefaultsOnly, Category=Projectile)USphereComponent* CollisionComp;/** Projectile movement component */UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Movement, meta = (AllowPrivateAccess = "true"))UProjectileMovementComponent* ProjectileMovement;public://子弹爆炸的粒子效果UPROPERTY(EditDefaultsOnly, Category = "AAA")class UParticleSystem* projectileParticle;
public:ATrueFPSProjectProjectile();/** called when projectile hits something */UFUNCTION()void OnHit(UPrimitiveComponent* HitComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit);/** Returns CollisionComp subobject **/USphereComponent* GetCollisionComp() const { return CollisionComp; }/** Returns ProjectileMovement subobject **/UProjectileMovementComponent* GetProjectileMovement() const { return ProjectileMovement; }
};
// Copyright Epic Games, Inc. All Rights Reserved.#include "TrueFPSProjectProjectile.h"
#include "GameFramework/ProjectileMovementComponent.h"
#include "Components/SphereComponent.h"
#include "Kismet/GameplayStatics.h"
#include "Particles/ParticleSystem.h"ATrueFPSProjectProjectile::ATrueFPSProjectProjectile()
{// Use a sphere as a simple collision representationCollisionComp = CreateDefaultSubobject<USphereComponent>(TEXT("SphereComp"));CollisionComp->InitSphereRadius(5.0f);CollisionComp->BodyInstance.SetCollisionProfileName("Projectile");CollisionComp->OnComponentHit.AddDynamic(this, &ATrueFPSProjectProjectile::OnHit);        // set up a notification for when this component hits something blocking// Players can't walk on itCollisionComp->SetWalkableSlopeOverride(FWalkableSlopeOverride(WalkableSlope_Unwalkable, 0.f));CollisionComp->CanCharacterStepUpOn = ECB_No;// Set as root componentRootComponent = CollisionComp;// Use a ProjectileMovementComponent to govern this projectile's movementProjectileMovement = CreateDefaultSubobject<UProjectileMovementComponent>(TEXT("ProjectileComp"));ProjectileMovement->UpdatedComponent = CollisionComp;ProjectileMovement->InitialSpeed = 3000.f;ProjectileMovement->MaxSpeed = 3000.f;ProjectileMovement->bRotationFollowsVelocity = true;ProjectileMovement->bShouldBounce = true;// Die after 3 seconds by defaultInitialLifeSpan = 3.0f;}void ATrueFPSProjectProjectile::OnHit(UPrimitiveComponent* HitComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit)
{// Only add impulse and destroy projectile if we hit a physicsif ((OtherActor != nullptr) && (OtherActor != this) && (OtherComp != nullptr) && OtherComp->IsSimulatingPhysics()){OtherComp->AddImpulseAtLocation(GetVelocity() * 100.0f, GetActorLocation());Destroy();}UGameplayStatics::SpawnEmitterAtLocation(GetWorld(), projectileParticle, GetTransform());
}
  1. 给子弹选中粒子的粒子效果

  2. 点击运行效果如下:


aaa

UE4 在FPS中播放粒子效果相关推荐

  1. 【Vue实用功能】Vue中实现粒子效果 particles.js

    Vue中实现粒子效果 为了提高页面展示效果,登录界面内容比较单一的,粒子效果作为背景经常使用到,vue工程中利用vue-particles可以很简单的实现页面的粒子背景效果 下载particles.j ...

  2. Unity中实现粒子效果显示在UI上

    一:为什么默认模式下粒子效果不能显示在UI上 因为Canvas的默认渲染模式是Screen Space-Overlay,这种模式下的Canvas在屏幕空间中渲染,会显示在场景的最上方,也就是说一切UI ...

  3. Unity特效基础:粒子效果面板

    如何在Unity中实现粒子效果? 首先,右键点击 Hierarchy栏,选择effects->Particle System,这样你就新建了一个粒子系统,如图所示: 下面来介绍右侧监视器(Ins ...

  4. Libgdx粒子效果介绍与使用心得

    Libgdx粒子效果介绍与使用心得 Libgdx粒子效果介绍与使用心得 概述 前言 基本概念 粒子效果ParticleEffect 粒子效果编辑器 常用属性设置 将粒子效果加入游戏 使用心得 粒子效果 ...

  5. 融入动画技术的粒子效果文字动画交互应用

    写在前面 本次实现的交互系统是基于粒子系统的粒子文本效果.本次课程设计主要参考代码本色一书中的内容,系统应用中运用了 <代码本色> 第一章 向量.第二章 力.第四章 粒子系统等章节的动画技 ...

  6. html5粒子效果,8款惊艳的HTML5粒子动画特效

    [导读] HTML5确实强大,很多时候我们可以利用HTML5中的新技术实现非常炫酷的粒子动画效果,粒子动画在HTML5应用中也是比较消耗本地资源的,尤其是CPU,但是有些HTML5粒子效果确实能给用户 ...

  7. Unity基础:粒子效果面板

    如何在Unity中实现粒子效果? 首先,右键点击 Hierarchy栏,选择effects->Particle System,这样你就新建了一个粒子系统,如图所示: 下面来介绍右侧监视器(Ins ...

  8. iOS动画开发之五——炫酷的粒子效果

    iOS动画开发之五--炫酷的粒子效果 在上几篇博客中,我们对UIView层的动画以及iOS的核心动画做了介绍,基本已经可以满足iOS应用项目中所有的动画需求,如果你觉得那些都还不够炫酷,亦或是你灵光一 ...

  9. ue4蓝图节点手册中文_在UE4中播放视频

    简介: 在日常使用UE4做项目时,会遇到在UE4里播放视频文件的需求,在UE4中可以使用媒体框架(Media Framework)来实现这一功能.这里介绍两种简单的方法来使用这一功能,分别是在场景里播 ...

最新文章

  1. zuul两大作用_SpringCloud微服务(05):Zuul组件,实现路由网关控制
  2. 独家 | 人工神经网络中发现了人类大脑拥有的多模态神经元(附链接)
  3. 物理生力热实验不确定度计算源代码
  4. python3 实现 php bin2hex 函数
  5. 解决Vs输出中文乱码的问题
  6. 由病毒引发的肠胃感冒
  7. 请解释Spring Bean 的自动装配?
  8. 打开chrome控制台的快捷键
  9. linux 磁盘uuid获取
  10. 5.深度学习练习:Deep Neural Network for Image Classification: Application
  11. 信息学奥赛一本通 1082:求小数的某一位 | OpenJudge NOI 小学奥数 7830
  12. 程序包java.awt不存在_IDEA解决Java:程序包xxxx不存在的问题
  13. mysql的事务日志_MySQL 事务日志
  14. TCP报文段的首部格式
  15. 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 xor (根号分治)
  16. WP7的Push Notifications
  17. PHP常用设计模式汇总
  18. [回溯法] 和尚挑水问题-华为笔试
  19. BNUOJ 53073 【找规律】
  20. 写给程序员的数理科普:混沌与三体

热门文章

  1. jersey初学者资源
  2. 由6,14以及68点人脸关键点计算头部姿态
  3. 门禁上的push是什么意思_汽车钥匙上push是什么意思
  4. 巧用数字营销,Livi Bank 解决获客难题
  5. 前端参数效验防止sql注入的方法
  6. Go 专栏|基础数据类型:整数、浮点数、复数、布尔值和字符串
  7. 区块链落地应用2019统计:政务、金融占据半壁江山,中国区块链落地量问鼎全球...
  8. Hive-SQL与SQL的区别
  9. VMware16安装Centos8配置
  10. 树与二分图-2022RoboCom 世界机器人开发者大赛-本科组(省赛)