阿赵UE学习笔记——20、角色蓝图和动画蓝图

阿赵UE学习笔记目录

  大家好,我是阿赵。
  继续学习虚幻引擎的使用。这次来看看角色控制动画相关的东西,主要用到了动画蓝图和角色蓝图。

一、动画蓝图

  之前分析过,蓝图对于虚幻引擎来说,是存在于各个系统里面的,相当于是各个系统的控制器。所以动画蓝图就是控制动画播放的一种控制器

1、创建动画蓝图

  创建动画蓝图有2种方式:

1.通过骨骼网格体创建

  在内容浏览器里,找到一个想控制动画的骨骼网格体,然后右键——创建——动画蓝图:
在这里插入图片描述

  这样就会以这个骨骼为基础,创建一个动画蓝图文件。

2.通过创建选项创建

  在文件浏览器里面,不选中任何文件,直接右键——动画——动画蓝图:
在这里插入图片描述

  因为动画蓝图是必须和骨骼网格体绑定的,所以这时候会弹窗,让我们选择一个骨骼网格体:
在这里插入图片描述

  创建好的动画蓝图文件,预览图就是选择的骨骼网格体,比如我这里选择的是钢铁侠的骨骼网格体:
在这里插入图片描述

2、编辑动画状态机

  双击打开动画蓝图,会发现左边有预览窗口和各种可编辑的组件,中间是一个节点编辑器,右边是各种属性编辑面板,比如细节面板、动画预览编辑器和资产浏览器。
在这里插入图片描述

  在中间的节点编辑区域,默认只有一个输出节点,我们鼠标右键,搜索状态机,新建一个State Machine节点:
在这里插入图片描述
在这里插入图片描述

  这里我只打算给角色添加一个待机的状态机,先不做任何的动画状态切换,所以直接把状态机输出到Output Pose的Result接口:
在这里插入图片描述

  接下来双击状态机节点,进入到状态机编辑:
在这里插入图片描述

  会发现这里只有一个Entry节点,然后可以从右边的资产浏览器,把需要的动画拖进来。我这里拖入一个待机的动画,并把节点名称改成idle:
在这里插入图片描述

  然后把Entry节点连到idle:
在这里插入图片描述

  回到动画蓝图的窗口,这里需要注意一件事情,UE里面的所有蓝图,在修改完之后,都需要点击保存,然后点击编译按钮,才会真正的生效。
在这里插入图片描述

  在编译之后,会发现左上角的预览窗口出现了刚才拖动进去的动画,然后中间的状态机和输出之间的连线动了起来,这是在告诉我们蓝图的节点运行情况。

二、角色蓝图

1、Actor的概念

  在UE里面,所有能在场景里面显示的对象,都是一个Actor。这个概念有点像Unity里面的GameObject,但又有所不同。
  Unity里面,一个GameObject显示在场景里面之后,如果需要控制它,还需要在GameObject上面挂一个继承了MonoBehaviour基类的C#脚本,然后想把它保存下来,还需要创建Prefab。但在UE里面,Actor就包含了Unity的GameObject+MonoBehaviour+Prefab的功能了。只要创建Actor,然后在Actor里面可以编辑模型、动画甚至功能逻辑。然后把Actor本身就是一个资源,可以直接反复的拖动到场景里面使用。

2、创建角色蓝图

  在内容浏览器里右键——蓝图类
在这里插入图片描述

  接下来会弹出窗口,让我们选择这个蓝图类的父类:
在这里插入图片描述

  可以看到,UE内置了非常多的带有功能性的蓝图类,最基础的是Actor,然后其他的不同蓝图类会自带有各种不同的基础功能。
  我们可以通过创建最基础的Actor类,然后自己扩展功能,也可以直接使用一些UE已经带有的类来简化开发过程。比如这次我选择的角色类蓝图,里面就包含了角色控制相关的逻辑功能在里面了。
  创建完的角色蓝图类,暂时是空白的,给它起个名字:
在这里插入图片描述

3、指定骨骼网格体和动画

  双击打开之后,会发现中间有一个胶囊体,还有一个指示方向的箭头。左变是各种组件和函数,右边是细节面板。
在这里插入图片描述

  在细节面板,把钢铁侠的骨骼网格体拖动到网格体的选项里,会发现有一个钢铁侠的模型出现在胶囊体的上面
在这里插入图片描述

  不过这个时候钢铁侠和胶囊体并不是重合的,可以通过调整钢铁侠的位置,还有调整胶囊体的大小,让模型和胶囊体匹配:
在这里插入图片描述

  再旋转网格体,让方向和箭头一致:
在这里插入图片描述

  在细节面板找到动画——动画类,把刚刚做好的动画蓝图指定在这里:
在这里插入图片描述

  这个时候,角色动画已经生效了,编译完成后,角色蓝图中间就出现了刚才做的动画蓝图里面指定的待机动画:
在这里插入图片描述

4、添加摄像机

  假如我们是要做一个第三人称射击游戏,需要一个摄像机跟随着角色后,可以这样做,在组件页签里面,点添加,搜索弹簧臂组件。弹簧臂的作用类在截图里面有说明,类似于一个第三人称摄像机的控制距离功能:
在这里插入图片描述

  再在创建出来的弹簧臂组里面创建一个摄像机组件:
在这里插入图片描述

  创建完之后,会是这样:
在这里插入图片描述

  然后调整一下弹簧臂的位置,让摄像机看着角色后脑勺:
在这里插入图片描述

5、设置默认玩家控制:

  在角色蓝图的细节面板,找到Pawn——自动控制玩家选项:
在这里插入图片描述

  默认的选项是已禁用,这里选择成玩家0:
在这里插入图片描述

  保存并编译蓝图,把这个角色蓝图拖动到地形场景里面,然后运行,会发现游戏的视角已经变成了第三人称,看着钢铁侠的背后:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/759743.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js 替换数组中的部分文字内容

用js 把[ "2024-03-20实时", "2024-03-20日前", "运行日实时", "运行日日前"]中把所有的“运行日”替换成 “2023” 可以使用 JavaScript 的 Array.prototype.map() 方法来遍历数组,并使用 String.prototype.replace() 方…

【0274】从shared init file或local init file加载relation cache(2 - 1)

上一篇: 【0273】深入分析 relcache(relation descriptor cache)初始化第一阶段(1) 【0264】深入分析relcache(relation descriptor cache)缓存初始化第2阶段(2) 1. 前言 本文内容是作为《【0264】深入分析relcache(relation descriptor cache)缓存初始化第2阶段…

智慧公厕:卫生、便捷、安全的新时代厕所变革

在城市快速发展的背景下,公共厕所的建设和管理变得越来越重要。智慧公厕作为厕所变革的一项全新举措,通过建立公共厕所全面感知监测系统,以物联网、互联网、大数据、云计算、自动化控制技术为支撑,实现对公共厕所的智能化管理和运…

FPGA学习_时序约束以及VIVADO时序报告

文章目录 前言时序约束的目的一、时序约束种类1、约束主时钟2、约束衍生时钟3、约束虚拟时钟4、input delay5、output delay6、约束异步时钟组7、约束互斥时钟8、假路径约束9、多周期约束 二、VIVADO时序报告三、从时序的角度看为什么寄存器赋值慢一拍 前言 一边学习一边补充当…

消除 Git diff 中的换行符差异(Linux)

通常编辑器默认使用的换行符是跟随操作系统的,而windows操作系统上修改的代码,其换行符会被转成win的\r\n,在提交代码时会显示大量改动(对于sh脚本还会存在无法执行的问题),这时候我们可以通过设置git自动转成unix格式…

容器中的大模型(三)| 利用大语言模型:容器化高效地部署 PDF 解析器实践...

作者:宋文欣,智领云科技联合创始人兼CTO 01 简介 大语言模型(LLMs)正逐渐成为人工智能领域的一颗璀璨明星,它们的强大之处在于能够理解和生成自然语言,为各种应用提供了无限可能。为了让这些模型更好地服务…

【Hadoop】Hadoop 编译源码

目录 为什么要源码编译Hadoop 编译源码1前期工作准备2jar 包安装2.1安装 Maven2.2安装 ant2.3安装 glibc-headers 和 g2.4安装 make 和 cmake2.5安装 protobuf2.6安装 openssl 库2.7安装 ncurses-devel 库 3编译源码3.1解压源码到 /opt/ 目录3.2 进入到 hadoop 源码主目录 /opt…

原生小程序开发的父子组件传值,兄弟组件传值

1.父子传值&#xff0c;父组件通过属性的方式去给子组件传递值&#xff0c;子组件在properties属性去接收父组件传递过来的值&#xff1a; 父组件部分&#xff1a; <view class"pcolor"><customer id"child" bind:changSex"changSex"…

AI时代Python金融大数据分析实战:ChatGPT让金融大数据分析插上翅膀

❤️作者主页&#xff1a;小虚竹 ❤️作者简介&#xff1a;大家好,我是小虚竹。2022年度博客之星评选TOP 10&#x1f3c6;&#xff0c;Java领域优质创作者&#x1f3c6;&#xff0c;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;掘金年度人气作…

UniTask 异步任务

文章目录 前言一、UniTask是什么&#xff1f;二、使用步骤三、常用的UniTask API和示例1.编写异步方法2.处理异常3.延迟执行4.等待多个UniTask或者一个UniTas完成5.异步加载资源示例6.手动控制UniTask的完成状态7.UniTask.Lazy延迟任务的创建8.后台线程切换Unity主线程9.不要返…

第二证券|热度飙升,出境游人数有望破亿,这些概念股被机构盯上

在免签和航班批量康复的方针利好下&#xff0c;本年出境游商场迎来炽热升温。 清明出境游有望爆火 3月20日&#xff0c;Airbnb爱彼迎在北京举行春季出境游趋势发布会举行。 爱彼迎中国数据显示&#xff0c;本年清明节期间的出境游查找热度已经超出2023年同期的2.5倍&#xf…

计算机网络面经-什么是IPv4和IPv6?

前言 Internet协议&#xff08;IP&#xff09;是为连接到Internet网络的每个设备分配的数字地址。它类似于电话号码&#xff0c;是一种独特的数字组合&#xff0c;允许用户与他人通信。IP地址主要有两个主要功能。首先&#xff0c;有了IP&#xff0c;用户能够在Internet上被识别…

选择排序-python实现

选择排序是一种简单直观的排序算法&#xff0c;它的工作原理如下&#xff1a; 1、 在未排序序列中找到最小&#xff08;或最大&#xff09;元素&#xff0c;存放到排序序列的起始位置。 2、再从剩余未排序元素中继续寻找最小&#xff08;或最大&#xff09;元素&#xff0c;然…

Redis 安装(二)

Redis安装说明 大多数企业都是基于Linux服务器部署项目&#xff0c;而且Redis官网也没有提供Windows版本的安装包&#xff0c;因此课程中我们会基于Linux系统来安装Redis。 此处选择Linux版本为Centos7。 Redis的官方网站地址&#xff1a;https://redis.io/ Redis的安装 切换…

TCP协议中的传输控制机制图文详解「重传机制」「流量控制」「拥塞控制」

目录 TCP重传机制 超时重传 快速重传 SACK 方法 Duplicate SACK TCP 流量控制 滑动窗口 累积确认 窗口大小由哪一方决定&#xff1f; 接收窗口和发送窗口的大小是相等的吗&#xff1f; 流量控制 窗口关闭的后果 糊涂窗口综合症 TCP拥塞处理 为什么要有拥塞控制呀&#xff0c;不…

如何在WSL中的ubuntu编译Linux内核并且安装使用ebpf?

如何在WSL中的ubuntu编译Linux内核并且安装使用ebpf? 步骤1 编译安装内核获取源码修改配置编译编译成功后配置重启WSL测试 步骤2 安装bcc安装依赖下载bcc&#xff0c;编译测试 环境: wsl2windows 11 步骤1 编译安装内核 去https://kernel.org/找你想要的版本&#xff0c; …

119.设计链表(力扣)

代码解决 class MyLinkedList { public:// 定义链表节点结构体struct LinkedNode {int val;LinkedNode* next;LinkedNode(int val):val(val), next(nullptr){}};MyLinkedList() {dummyhead new LinkedNode(0);size0;}int get(int index) {if (index > (size - 1) || index…

从点云创建 DSM:网格化和可视化实用指南

今天我将向您展示如何从点云创建数字表面模型&#xff08;DSM&#xff09;。首先&#xff0c;我们将尝试了解 DSM 是什么&#xff0c;然后我们将进入讨论的更实际部分。 什么是 DSM&#xff1f; DSM 是一个描述表面及其表面所有内容的模型。现在&#xff0c;为了更清楚地了解…

学习JavaEE的日子 Day28 异常,多线程

Day28 1.异常机制 1.1 异常概念 异常是程序在运行期发生的不正常的事件&#xff0c;它会打断指令的正常执行流程。 设计良好的程序应该在异常发生时提供处理这些不正常事件的方法&#xff0c;使程序不会因为异常的发生而阻断或产生不可预见的结果。 ​ Java语言使用异常处理机…

LabVIEW柴油机安保监控系统

LabVIEW柴油机安保监控系统 随着航运业的快速发展&#xff0c;确保船舶柴油机的安全稳定运行变得尤为重要。船舶柴油机故障不仅会导致重大的经济损失&#xff0c;还可能危及人员安全和环境。设计并开发了一套基于LabVIEW平台的柴油机安保监控系统&#xff0c;旨在通过实时监控…