砍树功能效果的实现

​ 在UE中想做一个砍树的功能,B站上没找到什么教程,最后在油管上找到个视频并跟着实现了,一共设计到三个蓝图和一个什么也没写的蓝图接口,下面介绍下步骤。

1.角色蓝图的部分

人物这里我做的是按F挥动手上的斧头攻击树,最后树的倒下。蓝图如下:

砍树射线追踪蓝图节点是个自定义节点:

节点中要新建一个局部变量“被射线扫描到的树” ,是个Actor类型的数组变量。

此处是否实现接口 的意义是,自己建的一个空蓝图接口,里面就改了函数名,其他啥也没,主要用这个接口来判断某个类是否属于某一类物体。

查找最近的树节点也是个自定义节点。其中有三个局部变量,如图

查找最近的树节点完毕,下面这张还是角色部分剩余的蓝图节点。

事件蓝图的部分没啥好讲的,也就一个bIsUseAxe布尔变量是新建的。

2.动画蓝图部分

突然想起来人物砍树是有动画的。大家根据自己的来,这里仅供参考。

点进ChopTreeMachine状态机后:

继续进入节点:

用的一个从Maximo下载的动画,用RTG重定向到了自己角色的身上,你们可以自己找个舒服的劈砍动画用。在轨道中添加了两个事件,左边是开启判断造成伤害的通知,右边的是关闭。这两个通知在动画蓝图的事件部分实现,在角色蓝图的部分中使用。

事件部分:

3.斧子蓝图的部分

砍树得有斧子,来看看斧子怎么做的

这是斧子蓝图,找一个斧子的模型加进去,再附加一个盒体碰撞进去,调整盒体碰撞至盒子的大小,这个盒子就是用来判断是否和树发生碰撞的关键。然后给盒体添加一个组件开始重叠时的事件。

后面那个deal damage事件是BPI_Tree蓝图接口的,是在树的蓝图中实现的,后面会有截图。这里 在位置处生成发射器 生成的是一个贴花效果,我想要斧子砍到树上的时候,产生木屑飞溅的效果,我用的资产包是商城中免费的,下面标红的就是商城中的资产名称,记得把横线去掉。

后面的在位置处生成音效就是生成一个砍木头的声音,这个我自己随意找的,你们随便找个或者不要这个节点都行。

4.树蓝图的部分

它之前是一颗健壮的树,直到我把它拖到blender里砍成了三段。而为什么要变成三段可以看看最下面放的油管教程链接。我只能说是必要的。

下面是蓝图接口事件deal damage的部分,以及蓝图一开始先设定血量,这里我设定的是100,而下面的伤害是110,也就是说一斧子就能把树砍倒,怎么让树倒呢,这时开启树干部分的模拟物理就行了。同时给树干施加一个和角色同向向前的作用力保证树不会砸着角色。而树冠是附加在树干上的,就会一起跟着倒。

后面有个生成节点,我做的效果是树倒后过四秒,树的模型部分会消失,然后生成四个木材蓝图,就像爆装备一样的效果。之所以加这么多随机位置和随机朝向是为了防止都生成在一个位置,各物品受到挤压从而发生寒霜航空。

所有事情处理完后再销毁自己。

UE5农场项目小功能(1)-砍树的更多相关文章

  1. XJOI 夏令营501-511NOIP训练14 砍树(2)

    小A是小B家的园丁.小B的家里有n棵树,第i棵树的横坐标为i.一天,小B交给小A一个任务,让他降低自己家中的某些树木的高度.这个任务对小A来说十分简单,因为他有一把极其锋利的斧头和一门独门砍树秘籍,能 ...

  2. 牛客挑战赛30 小G砍树 树形dp

    小G砍树 dfs两次, dp出每个点作为最后一个点的方案数. #include<bits/stdc++.h> #define LL long long #define fi first # ...

  3. 用MVC5+EF6+WebApi 做一个小功能(三) 项目搭建

    一般一个项目开始之前都会有启动会,需求交底等等,其中会有一个环节,大讲特讲项目的意义,然后取一个高大上的项目名字,咱这是一个小功能谈不上项目,但是名字不能太小气了.好吧,就叫Trump吧.没有任何含义 ...

  4. 1369 xth 砍树

    1369 xth 砍树  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Description 在一个凉爽的夏夜,xth 和 ...

  5. JS实现项目查找功能

    又是好久没有更新文章了,技术差,人又懒是重罪啊!! 在工作中每天都要查找目前正在接手的项目,而如果项目一多起来怎么办呢? 最近主管突然说要找一下以前的项目改一点BUG,然后我就找了半天才找到对应的文件 ...

  6. wikioi1369 xth 砍树

    题目描述 Description 在一个凉爽的夏夜,xth 和 rabbit 来到花园里砍树.为啥米要砍树呢?是这样滴, 小菜儿的儿子窄森要出生了.Xth这个做伯伯的自然要做点什么.于是他决定带着 r ...

  7. C#、Java中的一些小功能点总结(持续更新......)

    前言:在项目中,有时候一些小的功能点,总是容易让人忽略,但是这些功能加在项目中往往十分的有用,因此笔者在这里总结项目中遇到的一些实用的小功能点,以备用,并持续更新...... 1.禁用DataGrid ...

  8. [经验共享] MapGIS实用小功能图解——由excel文件导成MapGIS点文件

    项目小组的几个成员都是学地下水和环境的,对于GIS懂得不是很多,于是把一些我们经常用到的mapgis实用小功能做成帮助文档,方便大家使用,发布共享! 1.整理好EXCEL文件(注意X,Y坐标的正确性( ...

  9. 有些有IP的项目,公司不至于测试不行砍项目,但是会砍项目组,把IP收回交给别的团队做(因为一旦一测数据太差,公司(投资人)会判断在二测的时候数据能提升到什么样。说白了就是历史信用问题)

    作者:匿名用户链接:https://www.zhihu.com/question/309778033/answer/579761064来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...

  10. xth 砍树(codevs 1369)

    题目描述 Description 在一个凉爽的夏夜,xth 和 rabbit 来到花园里砍树.为啥米要砍树呢?是这样滴,小菜儿的儿子窄森要出生了.Xth这个做伯伯的自然要做点什么.于是他决定带着rab ...

随机推荐

  1. svn 中如何checkout出单个文件

    A 通过命令行操作 1.检出目录images svn co --depth=empty http://www.iusesvn.com/project1/images images_work_dir 这 ...

  2. docker 安装portainer容器后,启动/Portainer 安装MySQL并开启远程访问

    启动命令: docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --nam ...

  3. 【git】3.4 git分支-分支开发工作流

    资料来源 (1) https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E5%BC%80%E5%8F%91% ...

  4. 【git】2.3查看提交历史

    资料来源 (1) https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E6%9F%A5%E7%9C%8B%E6%8F%90%E4%BA%A4% ...

  5. R语言主成分PCA、因子分析、聚类对地区经济研究分析重庆市经济指标|附代码数据

    全文下载链接:http://tecdat.cn/?p=27515 最*我们被客户要求撰写关于主成分PCA.因子分析.聚类的研究报告,包括一些图形和统计输出. 建立重庆市经济指标发展体系,以重庆市一小时 ...

  6. onedrive 不显示图标

    步骤一 https://www.xitongbuluo.com/jiaocheng/67248.html 步骤二 https://blog.csdn.net/weixin_44041700/artic ...

  7. 家里静态Ip设置

    分配的网段是10.10.1.*

  8. 2021年RT-Thread开发者大会

    Time:2021-12-18,地点:大中华6楼喜来登酒店 主办方: RT-Thread:寓意实时线程,瑞赛德 世界有成千上万个 RTOS(Real-time operating system,实时操 ...

  9. matlab画图之plot画折线图

    Matlab绘制折线图 使用plot(x,y)函数创建折线图时,x,y有以下要求: ①如果 X 和 Y 都是向量,则它们的长度必须相同.plot 函数绘制 Y 对 X 的图. ②如果 X 和 Y 均为 ...

  10. Dynamics CRM 安全模型的性能问题

    性能问题对系统的影响可以是致命性的,一旦不重视,在不久的将来随时可能爆发,导致系统卡顿甚至无法操作,即时重启也无济于事:甚至极其难以发现.这里为自己记录一下过往的经验.系统一开始的设计,很大程度上决定 ...