UE4 C++PhysicalSurface(_杰森大师)_c2039"surfacetype": 不是 "tweakobjectptr<uphysicalma-程序员宅基地

技术标签: C++  技术  UE4  编程  

先在项目设置的Physics中设置

在这里插入图片描述

在内容浏览器增加物理材质

在这里插入图片描述
在里面进行定义
在这里插入图片描述

进入人物的physics中将自己创的定义进去

在这里插入图片描述

这样角色就拥有了物理材质,接下来进入程序
加上互动。呈现点效果

进入项目.h文件中增加宏定义,=//就是给这两个物理材质增加个假名,等下容易进行调用
#define  SURFACE_FLESHDEFAULT      SurfaceType1
#define  SURFACE_FLESHVULNERABLE     SurfaceType2

再回到自己想互动的actor。h中
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "weapon")
	class UParticleSystem*FleshImpactEffect;

UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "weapon")
	class UParticleSystem*TraceEffect;



再去。cpp中



#include "Particles/ParticleSystem.h"
#include "项目.h"
#include "PhysicalMaterials/PhysicalMaterial.h"

在互动的地方写下

EPhysicalSurface SurfaceType = UPhysicalMaterial::DetermineSurfaceType(Hit.PhysMaterial.Get());//定义SurefaceType

FHitResult Hit;//碰撞的位置


UParticleSystem*SelectedEffect = nullptr;//先自己定义一个空的粒子,方便选择
switch (SurfaceType)//相当于蓝图中的切换开关
			{
    
			case SURFACE_FLESHDEFAULT://宏定义代表刚刚定义的SurfaceType1
			case SURFACE_FLESHVULNERABLE://宏定义代表刚刚定义的SurfaceType2

				break;//循环中断
				SelectedEffect = FleshImpactEffect;
			default://当没有碰触到那两个粒子的话就选择默认粒子
				SelectedEffect = DefaultImpactEffect;
				break;
			}
			if (SelectedEffect)//如果选择粒子为真触发
			{
    
				UGameplayStatics::SpawnEmitterAtLocation(GetWorld(), SelectedEffect, Hit.ImpactPoint, Hit.ImpactNormal.Rotation());
			}
			


触发的方式自己写

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42295465/article/details/88322304

智能推荐

Gralloc 总结-程序员宅基地

文章浏览阅读3.9k次。从字面就可以看出来Gralloc接口是为了显示内存分配与释放 – Graphics Allocation。它的主要目的有三个:Ø 为应用分配显示用内存;Ø 可以把显示内存在不同进程间进行映射;Ø 同步通过加载gralloc抽象层(gralloc.xxx.so),可以打开fb设备(/dev/fb0)和gpu设备(/dev/graphic/),fb设备用于操作fram_gralloc

RobotFramework自动化测试各类库关键字整理_robot framework 中的关键字库有哪些类型-程序员宅基地

文章浏览阅读4.1k次,点赞3次,收藏62次。1、browserManagementopen browser:打开浏览器close browser:关闭浏览器go to:跳转到某个URLgo back:相当于浏览器的回退select window:选择窗口close window:关闭窗口wait until keywords succeeds:与选择窗口配合使用,确保能够选中窗口select window main:回到主窗..._robot framework 中的关键字库有哪些类型

LeetCode_每日一题今日份_312.戳气球(没懂)-程序员宅基地

文章浏览阅读137次。题解Javaclass Solution { public int[][] rec; public int[] val; public int maxCoins(int[] nums) { int n = nums.length; val = new int[n + 2]; for (int i = 1; i <= n; i++) { val[i] = nums[i - 1]; }.

初识activiti-程序员宅基地

文章浏览阅读60次。Activity工作流学习要点1. 1个插件在Eclipse中安装Activity插件,让你可以在Eclipse中绘制Activity工作流图2. 1个引擎ProcessEngine对象,Activity工作流引擎。这是Activiti工作的核心。负责生成流程运行时的各种实例及数据、监控和管理流程的运行。所有的操作都是从获取引擎开始的,所以一般会把引擎作为全局变量Proc..._activiti proc_def_id_ 由组成

3D建模教程:3DMAX打造下雨的场景!_造雨系统3d软件-程序员宅基地

文章浏览阅读1.7k次。1、 创建——PF粒子系统当然在学习学习3Dmax,zbrush maya建模,次世代美术的道路上肯定会困难,没有好的学习资料,怎么去学习呢?如果你感觉学不会?莫慌,小编推荐大家加入群,群号684663881里有志同道合的小伙伴,互帮互助,还可以拿到许多视频教程! 2、粒子视图——修改粒子参数 ..._造雨系统3d软件

Jupyter notebook安装与使用_如何将jupyter环境与conda环境进行匹配-程序员宅基地

文章浏览阅读778次。Jupyter notebook安装与使用_如何将jupyter环境与conda环境进行匹配

随便推点

cURL 超时设置:CURLOPT_CONNECTTIMEOUT 和 CURLOPT_TIMEOUT 的区别-程序员宅基地

文章浏览阅读7.9k次,点赞2次,收藏4次。PHP cURL 的超时设置有两个 CURLOPT_CONNECTTIMEOUT 和 CURLOPT_TIMEOUT,他们的区别是:CURLOPT_CONNECTTIMEOUT用来告诉 PHP 在成功连接服务器前等待多久(连接成功之后就会开始缓冲输出),这个参数是为了应对目标服务器的过载,下线,或者崩溃等可能状况。CURLOPT_TIMEOUT用来告诉成功 PHP 从服务器接收缓冲完成前需要等待多长时间,如果目标是个巨大的文件,生成内容速度过慢或者链路速度过慢,这个参数就会很有用。使用 cURL..

gitlab迁移项目到新组(group)中_git 换group-程序员宅基地

文章浏览阅读2.3w次,点赞4次,收藏10次。1在新group中 new project_git 换group

VMware中如何实现Linux系统与宿主机文件共享_vmwarelinux与宿主机共享内存-程序员宅基地

文章浏览阅读820次。参考:http://hi.baidu.com/fly_2009hui/blog/item/a62b484f0f4ac63baec3ab73.html使用hgfs实现vmare文件传输一法使用vmware(vmware workstation 5)下shared folders功能实现vmware中host与ghost间文件传输,无需任何网络相关设置,不使用任何网络协议,host和gho_vmwarelinux与宿主机共享内存

go 源码篇(三)CSP GMP Channel_golang 开源csp-程序员宅基地

文章浏览阅读576次。1goroutine原理1.1基本概念并发:一个CPU上能同时执行多项任务,在很短时间内,CPU来回切换任务执行(在某段很短时间内执行程序a,然后又迅速得切换到程序b去执行),有时间上的重叠(宏观上是同时的,微观仍是顺序执 行),这样看起来多个任务像是同时执行,这就是并发。并行当系统有多个CPU时,每个CPU同一时刻都运行任务,互不抢占自己所在的CPU资源,同时进行, 称为并行。进程CPU在切换程序的时候,如果不保存上一个程序的状态(context–上下文),直接切换下一个程 序,就会丢失_golang 开源csp

高一计算机课期中考试总结反思,2017高一数学期中考试反思总结-程序员宅基地

文章浏览阅读76次。引导语:数学新课改的基本理念是:学有价值的数学,反映出学生实践能力和创新意识方面的不足,应引起我们的高度重视,学生的动手能力还有待提高。以下是百分网小编分享给大家的2017高一数学期中考试反思总结,欢迎阅读!过去的一学期里,我班在学校领导的统一组织下,在任课教师的大力支持和配合下,各项工作顺利开展,学习、生活等方面都取得较突出的成绩。现将本学期期中考试前的工作总结如下:一、 加强对学生的思想政治工...

如何使用Stripe和Syncano建立每日确认短信服务-程序员宅基地

文章浏览阅读276次。这篇文章是由赞助Syncano 。 感谢您支持谁使SitePoint可能的赞助商。 Syncano提供了实时应用的基于云的平台。 它存储数据,微服务代码,日程安排用于自动执行代码,用户帐户,网络挂接通过HTTP多以访问这些功能。 他们甚至已经得到的代码片段的开源社区,并支持多种运行环境,包括节点,巨蟒,围棋和Ruby。 从一个开发者角度,Syncano可以更容易获得通过提供大量的,否则你就需..._如何用stripe

推荐文章

热门文章

相关标签