贴花、射线、动画通知——足迹01

2023-11-09 11:30

本文主要是介绍贴花、射线、动画通知——足迹01,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

案例实现效果:

人物跑步留下脚印(其他运动留下脚印也是同理)。  

重点:

贴花的创建、射线、动画通知。射线碰撞决定贴花生成位置,动画通知决定贴花生成时间。

一、贴花

1、贴花纹理图

在网络上找素材(也可自己制作),在PS中处理一个左脚脚印,一个右脚脚印,最好都要带透明通道,图像宽高最好1:1。

透明效果也可以再UE4中处理得到,如图2,使用颜色键去抠除背景。

  

2、创建贴花材质

选择贴图,右键创建材质。其中一个材质编辑器做如下设置,另一个同样。

注意贴花是无法预览的

   

3、贴花类

把贴花放进Actor类中,Actor类可以变换,贴花需要变换。

注意:Rotation:Y值一定是-90的。 X这里调试是90.

         Scale:因为我们贴图图像宽高是1:1,这里我们就默认1:1:1比例就行,如果贴图图像不是1:1,这里需要相应调整成对应形状比例。

淡化开始延迟:生成持续多久再淡化。

淡化时长:淡化动画时长。

淡化后要销毁拥有者勾选。 

这里可以先做一个类,调好各参数后,直接复制类,后只要改贴花贴图即可。

二、射线

制作一条脚底朝正下方的射线。射线碰撞决定贴花生成的位置。射线起始点是插槽位置,终点的XY去插槽的,但是插槽的Z轴应该不是朝正下方(未验证)。这里我就取人物网格体的世界场景位置的Z方向(必定朝正上)的反向(*负数),负数是反向,数值决定射线长度。 把这3个数组合成向量赋予终点。

由类生成Actor,变化属性拆分开,位置即是碰撞位置,旋转取人物的的旋转(ActorRotation) ,大小根据实际情况调节。

右脚的生成脚印函数创建同理。

三、动画图表

动画通知决定了贴花生成的时间。

1、动画通知

在动画资源中取到脚踩地板的瞬间,标记动画通知,这里就标记左脚,右脚同理。

第三人称模板人物默认是跑步,这里就挑选Run资源设置,其他资源也可以添加通知。

 二、动画蓝图中的事件图表

存储当前人物对象,方便后期调用

 

调用事件通知LF,触发足迹函数LFPrint。右脚同理

 

完毕。

 

 

 

 

 

 

 

这篇关于贴花、射线、动画通知——足迹01的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/375831

相关文章

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

一文详解Java Condition的await和signal等待通知机制

《一文详解JavaCondition的await和signal等待通知机制》这篇文章主要为大家详细介绍了JavaCondition的await和signal等待通知机制的相关知识,文中的示例代码讲... 目录1. Condition的核心方法2. 使用场景与优势3. 使用流程与规范基本模板生产者-消费者示例

最好用的WPF加载动画功能

《最好用的WPF加载动画功能》当开发应用程序时,提供良好的用户体验(UX)是至关重要的,加载动画作为一种有效的沟通工具,它不仅能告知用户系统正在工作,还能够通过视觉上的吸引力来增强整体用户体验,本文给... 目录前言需求分析高级用法综合案例总结最后前言当开发应用程序时,提供良好的用户体验(UX)是至关重要

基于Python实现PDF动画翻页效果的阅读器

《基于Python实现PDF动画翻页效果的阅读器》在这篇博客中,我们将深入分析一个基于wxPython实现的PDF阅读器程序,该程序支持加载PDF文件并显示页面内容,同时支持页面切换动画效果,文中有详... 目录全部代码代码结构初始化 UI 界面加载 PDF 文件显示 PDF 页面页面切换动画运行效果总结主

Qt QWidget实现图片旋转动画

《QtQWidget实现图片旋转动画》这篇文章主要为大家详细介绍了如何使用了Qt和QWidget实现图片旋转动画效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、效果展示二、源码分享本例程通过QGraphicsView实现svg格式图片旋转。.hpjavascript

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

hdu 2602 and poj 3624(01背包)

01背包的模板题。 hdu2602代码: #include<stdio.h>#include<string.h>const int MaxN = 1001;int max(int a, int b){return a > b ? a : b;}int w[MaxN];int v[MaxN];int dp[MaxN];int main(){int T;int N, V;s

Flutter 进阶:绘制加载动画

绘制加载动画:由小圆组成的大圆 1. 定义 LoadingScreen 类2. 实现 _LoadingScreenState 类3. 定义 LoadingPainter 类4. 总结 实现加载动画 我们需要定义两个类:LoadingScreen 和 LoadingPainter。LoadingScreen 负责控制动画的状态,而 LoadingPainter 则负责绘制动画。

集中式版本控制与分布式版本控制——Git 学习笔记01

什么是版本控制 如果你用 Microsoft Word 写过东西,那你八成会有这样的经历: 想删除一段文字,又怕将来这段文字有用,怎么办呢?有一个办法,先把当前文件“另存为”一个文件,然后继续改,改到某个程度,再“另存为”一个文件。就这样改着、存着……最后你的 Word 文档变成了这样: 过了几天,你想找回被删除的文字,但是已经记不清保存在哪个文件了,只能挨个去找。真麻烦,眼睛都花了。看

用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:中(人物移动、跳起、静止动作)

上回我们学到创建一个地形和一个人物,今天我们实现一下人物实现移动和跳起,依次点击,我们准备创建一个C#文件 创建好我们点击进去,就会跳转到我们的Vision Studio,然后输入这些代码 using UnityEngine;public class Move : MonoBehaviour // 定义一个名为Move的类,继承自MonoBehaviour{private Rigidbo