Wallpaper壁纸制作学习记录11

操控变形动画介绍

操控变形是使用Wallpaper Engine为角色和某些对象创建复杂动画的一种高级方法。操控变形是一个多步骤过程,要求您有一个单独的图像图层,其中包含要制作动画的角色或对象的剪切图。

 操控变形功能相对复杂,您也可以创建仅包含图像效果的角色动画,例如摇动效果,这是一个简单得多的过程。

在开始使用操控变形之前,您应该对时间轴动画有基本的了解,因为其中应用的原则用在操控变形中创建动画。

在此次学习中,将使用Photoshop从现有背景图像中剪切出来的武士角色创建一个简单的木偶变形动画。然后修饰原始图像,以从图像中隐藏已经存在的字符。如果您无法使用角色的抠图,则操控变形可能不适合您,您应该依赖使用图像效果的角色动画。

所有操控变形动画都有多个步骤组成,本节将详细讨论Wallpaper Engine中执行的所有步骤:

1.创建并导入适合操控变形的角色剪切。

2.建立角色的几何体。

3.创建角色的骨架。

4.通过改变角色的”权重“来改善他们的四肢。

5.为角色制作动画。

6.将角色放置在场景中。

1.创建和导入角色剪切

人偶变形需要一个干净的图像剪切,角色模型周围具有透明度。可以使用Photoshop或Paint.NET和GIMP等软件来完成这项任务,我们首先从基本图像剪切处一个角色。然后,我们还需得到一个没有角色的基本图像。

如有需要,这里我提供一个武士的角色图和其背景图片的地址。


背景图:背景图

 

2.建立角色的几何图形

角色抠图准备就绪后,将其导入Wallpaper Engine项目并去选择它。在右侧向下滚动,直到到达操控变形动画部分,然后点击编辑操控变形。Wallpaper Engine现在将为您提供创建带有操控变形的动画所需的步骤。

第一步是创建角色的几何体。然后通过点击几何图形下方的创建按钮,Wallpaper Engine将建立壁纸的网格。您可以使用细分滑块增加网格上的细分数量。如果要将人偶变形于”摇动“效果或延伸到网格外部的其他效果组合在一起,则还应该增加”填充“,以便增加网格的轮廓,稍后应用于人偶的任何图像效果都仅限于您在此处配置的区域。

高级几何设置 

值得注意的是,几何图形设置提供了一些高级设置,允许您微调人偶变形的几何图形。通过点击锁定几何图形以进行顶点编辑按钮,您可以锁定自动生成的几何图形,并通过编辑拓扑功能重新排列几何网络,从而自行对其进行进一步更改。

如果您愿意,您可以对齐进行试验,但通常,如果您对生成的网格感到满意,则可以跳过此步骤。如果您想要更加精确,例如在创建混合变形动画时,它主要相关。

3.创建角色骨骼

在建立角色的一般几何图形后,我们现在需要告诉Wallpaper Engine角色模型在何处具有可移动关节,这些关节在编辑其中称为骨骼。点击骨架部分中的创建按钮开始使用。

在此分段中,您可以定义多个骨骼和一个或多个根骨骼,它们稍后将用作动画中的参考点。您可以通过点击角色上的特定点来创建骨骼,Wallpaper Engine将在最后一个骨骼和当前骨骼之间绘制连接。如果您先选择一个骨骼,然后创建一个新骨骼,则会在这两个点之间创建连接。骨骼的行为也可以通过高级设置进一步调整。

根骨骼用于定义质心或几乎不可移动的点。通常,您会将其设置在角色或脚部的中心。通常,每个角色或对象只应使用一个根骨骼,但如果正在处理的图像包含多个单独的对象或角色,则应为每个对象创建一个根骨骼。

向武士实例添加骨骼

对于武士角色,在脚的最低点创建根骨骼,因为希望脚在动画期间不移动。然后,我们将另一块骨头放在腿部上方,另一块骨头位于胸部区域中心。此骨骼也非常适合用作根骨骼,但是,由于不打算为任何腿部运动制作动画,因此决定将脚用作根骨骼。

从胸部区域中心的骨骼中,我们将一根骨骼朝向头部,然后再次选择胸部的骨骼,并在右臂上创建骨骼。由于还想为披风制作动画,因此再次选择胸部区域中的骨骼,然后在披风上创建三个骨骼。

4.通过改变角色的“权重”来定义角色的肢体

 下一步是定义我们角色的各个肢体/“区域”。配置骨架后,您可以点击权重部分中的编辑按钮。Wallpaper Engine 将尝试找出壁纸的不同肢体和区域,每个肢体和区域都由与上一步中创建的特定骨骼相关的单独颜色表示。 ”weights(权重)”定义每个骨骼对角色的每个点的影响程度。

您可以点击骨骼选择其颜色,然后点击绘制权重按钮以覆盖Wallpaper Engine为该特定骨骼生成的区域的任何问题。例如,在示例中,Wallpaper Engine没有为武士的整个帽子分配相同的颜色,但我们希望确保帽子稍后作为一个连贯的对象移动。我们在帽子区域中选择骨骼,然后开始用骨骼绘制完整的帽子。

一定要经常测试所有东西是否都涂的正确,尤其是在孔附近,很容易在错误的区域涂的太多,突然很远的零件开始移动,而它们不应该移动。您可以选择骨骼并开始转动它以预览动画移动的外观。您在绘制权重时所做的移动只是预览,您始终可以使用重置姿势按钮重置它们。

5.使用最终的人偶创建动画

操控变形过程的最后一步是实际创建动画。这是在我们创建的各个骨骼上使用时间轴动画完成的。 首先,您可以点击动画部分中的创建,然后点击动画列表中的添加按钮。可以为一个对象创建多个动画,这就是动画存储为列表的原因。

时间轴动画类似,系统会要求您选择动画模式、时间(以秒为单位)和帧数。这里将使用循环动画,在这种情况下,所有骨骼都必须以动画结束的方式开始,以确保没有突然的跳跃,这一点很重要。在某些情况下,只创建一个镜像动画也可能更容易,该动画先向前播放,然后反向播放,这在简单情况下可能并不明显,例如呼吸动画。单个动画可以用作介绍动画,也可以与更复杂的SceneScript逻辑结合使用。

创建和设置动画

由于我们正在使用循环模式动画,因此我们将在每个骨骼的第一帧和最后一帧创建一个关键帧,就像开始时一样,这样就可以确保动画总是从结束的地方开始,以防止突然跳到第一帧。

如果未在动画上使用循环模式,则可以跳过此操作,否则可以通过加载为最后一帧的每个动画存储的默认姿势来快速执行此操作。将时间轴滑块移动到最后一帧,然后点击加载按钮姿势部分。

一开始什么也没发生,但是一旦你选择了任何骨骼,你应该会在第一帧看到关键帧,在最后一帧看到每个值的关键帧。使用加载按钮是实现此目的的一种快速方法,您也可以单独遍历每个骨骼,然后在最后一帧点击切换关键帧以获得相同的效果。

为骨骼制作动画

现在,是时候为我们想要在动画期间移动的所有骨骼制作动画了。我们从根骨骼开始,一直到角色的外部骨骼。对于操控变形动画,您通常只想为骨骼的角度设置动画,而不想为缩放或移动设置动画。请记住这一点非常重要,因为移动或缩放骨骼会导致对象扭曲,因此绝大多数基于操控变形的动画仅依赖于对角度进行动画处理。

在本实例中,不会为根骨骼设置动画,而是从大腿的骨骼开始。通过引入两个关键帧,并在时间轴中间略微倾斜移动,设置了一些角色的前倾动画。然后我们向上移动到头部,通过稍微向后拉帽子的角度来产生点头动作。然后,还将右臂上的骨骼动画与帽子的移动对齐,使其看起来好像右臂移动了帽子。最后,将斗篷的所有骨骼随着角色的整体倾斜动作上下移动。

完成了动画的初稿后,我们可以保存它,然后返回初始图像并应用动画并在我们的整个场景中查看它。您始终可以通过返回操控变形动画概述并编辑现有动画来进一步调整它。需要一些时间来适应动画过程,而制作正确的动画可能总是需要一些迭代和一些反复试验。

 本次总结了操控变形动画的基础知识,本次描述的方法已经非常适合创建复杂的动画,您甚至可以将其与Wallpaper Engine提供的传统效果结合使用。还有更为人偶变形动画的高级功能,将在下一次学习时介绍。

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

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

相关文章

黑马程序员Java项目实战《苍穹外卖》Day12

苍穹外卖-day12 课程内容 工作台Apache POI导出运营数据Excel报表 功能实现:工作台、数据导出 工作台效果图: 数据导出效果图: 在数据统计页面点击数据导出:生成Excel报表 1. 工作台 1.1 需求分析和设计 1.1.1 产品原…

windows下Qt5自动编译配置QtMqtt环境

原文链接:windows下Qt5自动编译配置QtMqtt环境(11)-CSDN博客 1、概述 Qt默认是不包含mqtt库的,如果需要使用到mqtt库就只能自己编译配置;网络所有的QtMqtt配置的文章都是编译完成手动复制,非常麻烦&#x…

阿里云服务器Linux(centos)系统安装nginx1.20.2

阿里云服务器Linux(centos)系统安装nginx1.20.2 1.安装依赖包 一共要安装4种依赖(基于c语言) yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel2.下载nginx安装包并解压安装包 nginx官网下载:http://nginx.org/en/do…

【C++】三角形校验和算法优化的深入分析

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯题目描述💯老师的解法实现代码解法分析优势缺点 💯我的解法实现代码解法分析优势缺点 💯数学解释:为什么新增条件是冗余的&a…

【C++软件调试技术】dump文件类型与dump文件生成方法详解

目录 1、概述 2、dump文件的分类 2.1、dump按大小分类 2.2、查看dump文件中函数调用堆栈中变量的值 3、调用SetUnhandledExceptionFilter设置异常处理回调函数,然后调用MiniDumpWriteDump生成dump文件 4、使用Google开源库CrashRpt捕获异常,并自动…

持有CSPM证书可以用于评职称吗?

CSPM的诞生背景 CSPM(Certified Strategic Project Manager)即项目管理专业人员能力评价等级证书,是由中国标准化协会(CAS)根据国标《项目管理专业人员能力评价要求》(GB/T 41831-2022)推出的项…

SpringBoot左脚进门之常用注解

类级别注解 SpringBootApplication Configuration //表明这是一个配置类 EnableAutoConfiguration //开启自动配置 ComponentScan() //开启组件扫描1、Configuration: 当一个类被 Configuration 注解…

刷题日志【4】

目录 1、猜数字大小 1、猜数字大小 题意有点抽象,我大概讲一下,就是在1——n里面会有一个目标数,我们通过猜数字的方式逼近这个数字,直到解出这个数,之前我们是用二分法求最快达到求解的问题,这道题多了每…

【数据结构——栈与队列】环形队列的基本运算(头歌实践教学平台习题)【合集】

目录😋 任务描述 相关知识 测试说明 我的通关代码: 测试结果: 任务描述 本关任务:编写一个程序实现环形队列的基本运算。 相关知识 为了完成本关任务,你需要掌握: 初始化队列、销毁队列、判断队列是否为空、进队列…

一个简单带颜色的Map

越简单 越实用。越少设计,越易懂。 需求背景: 创建方法,声明一个hashset, 元素为 {“#DE3200”, “#FA8C00”, “#027B00”, “#27B600”, “#5EB600”} 。 对应的key为 key1 、key2、key3、key4、key5。 封装该方法&#xff0c…

恋爱脑学Rust之并行之旅:Rayon介绍和使用

文章目录 一、开启爱情的依赖之旅(安装 Rayon)二、甜蜜瞬间的并行享受(基本数据并行操作)(一)共享美好时光(par_iter 方法)(二)分块珍藏回忆(par_…

素数对

素数对 C语言代码C 代码Java代码Python代码 💐The Begin💐点点关注,收藏不迷路💐 两个相差为2的素数称为素数对,如5和7,17和19等,本题目要求找出所有两个数均不大于n的素数对。 输入 一个正整…

cpptoml介绍

cpptoml 是一个用于 C 的开源库,旨在提供对 TOML(Toms Obvious, Minimal Language)格式的支持。它允许开发者轻松地在 C 项目中读取、解析和生成 TOML 格式的配置文件。cpptoml 是一个轻量级、易于使用的库,适用于那些希望将 TOML…

公有云和私有云的区别

目录 ​1、公有云(PublicClouds) ​2、私有云(PrivateClouds) ​2.1 私有云又分为两种 3、混合云(hybrid cloud) ​3.1 公有云和私有云的区别 ​3.2 选择公有云或者是私有云 4 政务云(Go…

嵌入式硬件-- 元器件焊接

1.锡膏的使用 锡膏要保存在冰箱里。 焊接排线端子;138度的低温锡(锡膏), 第一次使用,直接拿东西挑一点涂在引脚上,不知道多少合适,加热台加热到260左右,放在上面观察锡融化&#…

六、nginx负载均衡

负载均衡:将四层或者七层的请求分配到多台后端的服务器上。 从而分担整个业务的负载。提高系统的稳定性,也可以提高高可用(备灾,其中一台后端服务器如果发生故障不影响整体业务). 负载均衡的算法 round robin 轮询 r…

【C++算法】40.模拟_N 字形变换

文章目录 题目链接:题目描述:解法C 算法代码: 题目链接: 6. N 字形变换 题目描述: 解法 解法一:模拟 a,b,c,d,e,f,g...... n4 弄个矩阵放进去,最后从左往右读取。 解法二:模拟优化-…

访问者模式的理解和实践

在软件开发过程中,设计模式为我们提供了解决常见问题的最佳实践。访问者模式(Visitor Pattern)是行为设计模式之一,它将数据操作与数据结构分离,使得在不修改数据结构的前提下,能够定义作用于这些元素的新的…

Jenkins:持续集成与持续部署的利器

🐇明明跟你说过:个人主页 🏅个人专栏:《未来已来:云原生之旅》🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、什么是Jenkins 2、Jenkins的起源 二、Jenkins的核心…

java中的数组(4)

大家好,今天是java数组的最后一篇,我来为大家介绍数组中一些常见用法,那么我们直接发车。 五.作为函数的返回值. 1数组对象在堆上,不会因为局部变量的销段而销毁. 2.new开辟新空间. 3.数组对象是在堆上的. 4.引用变量目前是在main函数里…