通过PS和Unity制作2D动画之一:创建形象

news2025/1/10 3:24:18

1、通过路径画出轮廓

使用路径的过程中,需要注意:

1)如果使用形状工具作图,比如使用椭圆工具画正圆形,需要设置其属性为“路径”。

2)使用路径选择工具,再按住Alt键点击某个路径,可以复制出该路径

3)使用自由变换路径,可以调整路径的形状

4)每一个部位都需要是封闭的路径,这样后期填充颜色才不会出错

2、描边和填充颜色

在此过程中需要注意:

1)每一个部位都单独一个图层,这样每个部位可以单独运动。

可以看到有多个图层,但是只有一个路径。

2)填充子路径:

选中路径后右击鼠标可填充子路径。

3)描边子路径

3、PS文件存储

ps制作完成之后,为了后续给Unity使用,需要保存为大型文档格式 PSB格式

另存时一定要勾选“ICC配置文件”

在Unity中打开PSB文件,效果如下:

4、导入2D Animation工具集

工具1:2D Animation

工具2:2D PSD Importer

默认情况下这两个工具都已经安装好了。

5、蒙皮的调整

点击“Open Sprite Editor”进入图片编辑功能

点击“Skinning Editor”

-->

1)点击Auto Geometry:自动生成几何形状

Generate For All Visible:自动生成网格和权重

其他功能说明:

Edit Geometry:编辑集合形状,比如移动顶点Vertex等

Create Vertex:在几何形状中新增顶点

Create Edge:新增边,更多的边会让UV图切分得更细,这样做动作也便更顺滑

Split Edge:在两个边上新增一个Vertex

上图中的三角形就是UV图层。

双击图层,就可以进入编辑模式。

构建如下图所示:

通过增加edge,可以发现更改部分的UV变得更密集了。

6、骨骼的绘制

点击【Create Bone】,新增红色的骨骼,后续所有骨骼都以此为主心骨。

新增其他骨骼时,点击红色骨骼的黑点后在其他地方进行创建。

我们看到其他骨骼与主心骨都建立了依赖关系。

点击【Auto Weights】,然后由下角勾选“Associate Bones”,意思是建立权重时需要参考关联的骨骼关系。

点击【Preview Pose】,就可以预览动作了。此时移动骨骼就可以做出各种动作,虽然还不够完美。

如果已经手工指定了部件对应的关联骨骼,则Auto Weights ->  Generate All的时候不要勾选"Associate Bones"。

另外,如果发现重新Generate All无效,则删除部位Bone Influence已有的bones信息,重新进行添加。

7、权重的调整

骨骼影响的是点,所以需要调整各个点对应相关骨骼的权重。

Weight Brush:点击骨骼,通过刷相关的点增加这个骨骼对相关点的权重影响

Weight Slider:单个点调整各个骨骼的影响权重

通过Weight Slider调整权重

移动右边的手臂时我们发现脑袋部分也跟着一起动了,我们看到右手臂骨骼是绿色的,在权重分布图中也看到了脑袋边缘有绿色。所以绿色骨骼可以影响脑袋。

身体边缘不需要变动的点,在Weight Slider中将影响点全部去掉,这意味着任何骨骼都不会影响这些点,这些点是固定不动的。

此时再移动手臂的骨骼,我们发现只有手臂在动,身体不会发生变动了。

通过Weight Brush调整

先双击相应的骨骼,然后刷相关的位置,保证那些需要的点能够刷到,因为权重只会对Vertex生效。被刷到的点在刷的时候会显示为黄色顶点。

增加Vertex

在移动手臂的过程中,我们发现有些生硬,如下图所示:

这个就是因为这个位置缺少vertex导致的,所以需要增加vertex的数量。

增加vertex之后,我们发现手臂弯曲的效果有很大的提升。

权重最后的结果为:

8、模型载入到Hierarchy

从Assets将模型拖入到Hierarchy中,可以看到:

我们看到模型最终展示到Scene或Game中并无完整。

这个是因为在PS中另存为时操作有问题:

另存时一定要勾选“ICC配置文件”。

此时此刻,只能在新模型上调整蒙皮、骨骼、权重了。

本文参考:

使用Photoshop快速绘制2D游戏素材_哔哩哔哩_bilibili

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

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

相关文章

Spark实训

实训目的: 介绍本实训的基本内容,描述知识目标、,以及本实训的预期效果等。 1、知识目标 (1)了解spark概念、基础知识、spark处理的全周期,了解spark技术是新时代对人才的新要求。 (2)掌握Linux、hadoop、spark、hive集群环境的搭建、HDFS分布文件系统的基础知识与应用…

PDF提取文本

1.环境配置 !pip install PyPDF2 pdfplumber PyPDF2 是用来处理 PDF 文件的库,主要功能包括PDF 文件读取、合并、拆分、旋转,可以从 PDF 中提取纯文本,尽管它的提取效果有限,特别是对于扫描版 PDF 文件。 pdfplumber 是比 PyPDF2…

如何在手机上玩电脑pc游戏,通过termux安装mobox教程说明

如何在手机上玩电脑pc游戏,通过termux安装mobox教程说明 所需软件 1.Termux 或改版 zeroTermux 2.Termux:X11 3.Inputbridge 以下为网盘链接 https://pan.baidu.com/s/1foEY0djqJTCrtYES9nE66g?pwd2ji2 提取码:2ji2 123 网盘 https://www.123pan.com/s/l5mlV…

create-react-app react19 搭建项目报错

报错截图 此时运行会报错: 解决方法: 1.根据提示安装依赖法 执行npm i web-vitals然后重新允许 2.删除文件法 在index.js中删除对报错文件的引入,删除报错文件

【Qt移植LVGL】QWidget手搓LVGL软件仿真模拟器(非直接运行图形库)

【Qt移植LVGL】QWidget手搓LVGL软件仿真模拟器(非直接运行图形库) 打包开源地址: Qt函数库gitee地址 更新以gitee为准 移植后的demo工程: gitee 有些没实现的 后续我会继续优化 文章目录 别碰瓷看清楚:是移植&#…

Python、R循环神经网络RNN、指数平滑ETS、ARIMA模型预测网络流量、ATM机取款、旅游需求时间序列数据...

全文链接:https://tecdat.cn/?p38496 分析师:Pengyuan Wen 在当今经济研究与商业决策领域,精准的时间序列预测具有极为关键的意义。社会消费品零售总额作为反映人民消费水平以及国民经济状况的核心指标,其发展趋势的精准把握对中…

甘肃美食之选:食家巷方形饼

甘肃食家巷方形饼,顾名思义,其形状呈规整的方形。这种独特的外形并非偶然,而是源于当地传统的制作工艺。制作方形饼的师傅们,精心挑选优质的面粉,加入适量的水和其他配料,揉成光滑的面团。经过一段时间的发…

linux——挂载nfs网络硬盘

(一)安装nfs服务 1、查看系统是否已经安装nfs rpm -qa | grep nfs rpm -qa | grep rpcbind 2、安装nfs 服务 yum -y install nfs-utils yum -y install rpcbind nfs 固定端口号 2049 rpc 固定端口号 111 (二)centos中服务…

网络安全中大数据和人工智能应用实践

传统的网络安全防护手段主要是通过单点的网络安全设备,随着网络攻击的方式和手段不断的变化,大数据和人工智能技术也在最近十年飞速地发展,网络安全防护也逐渐开始拥抱大数据和人工智能。传统的安全设备和防护手段容易形成数据孤岛&#xff0…

共筑数字安全防线,2024开源和软件安全沙龙即将启幕

随着数字化转型进程的加快以及开源代码的广泛应用,开源凭借平等、开放、协作、共享的优秀创作模式,逐渐成为推动数字技术创新、加速传统行业转型升级的重要模式。但随着软件供应链日趋复杂多元,使得其安全风险不断加剧,针对软件供…

4K高清壁纸网站推荐

1. Awesome Wallpapers 官网: https://4kwallpapers.com/ 主题: 创意、摄影、人物、动漫、绘画、视觉 分辨率: 4K Awesome Wallpapers 提供了丰富的高质量图片,分为通用、动漫、人物三大类,可以按屏幕比例和分辨率检索,满足你对壁纸的各种…

Java阶段三06

第3章-第6节 一、知识点 理解MVC三层模型、理解什么是SpringMVC、理解SpringMVC的工作流程、了解springMVC和Struts2的区别、学会使用SpringMVC封装不同请求、接收参数 二、目标 理解MVC三层模型 理解什么是SpringMVC 理解SpringMVC的工作流程 学会使用SpringMVC封装请求…

qt-C++语法笔记之mapToGlobal将组件(控件)中的本地坐标系(局部坐标)映射到全局坐标系

qt-C语法笔记之mapToGlobal将组件(控件)中的本地坐标系(局部坐标)映射到全局坐标系 code review! 文章目录 qt-C语法笔记之mapToGlobal将组件(控件)中的本地坐标系(局部坐标)映射到…

使用Kimi开发自己的问答应用

概述 Kimi是大家常用的一个人工智能助手,本文使用Kimi开发文档,以node作为后端,开发与一个问答系统 实现效果 Kimi简介 Kimi是由Moonshot AI开发的人工智能助手,擅长中文和英文对话。目标是帮助用户解决问题、提供信息和执行任…

从零开始:Linux 环境下的 C/C++ 编译教程

个人主页:chian-ocean 文章专栏 前言: GCC(GNU Compiler Collection)是一个功能强大的编译器集合,支持多种语言,包括 C 和 C。其中 gcc 用于 C 语言编译,g 专用于 C 编译。 Linux GCC or G的安…

ElasticSearch如何做性能优化?

大家好,我是锋哥。今天分享关于【ElasticSearch如何做性能优化?】面试题。希望对大家有帮助; ElasticSearch如何做性能优化? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Elasticsearch 中,性能优化是…

Flask 是什么?

近期开发chatbot 程序,过程中要使用Flask,所以收集资料记录这个套件的信息: Flask 是什么? Flask 是一个轻量级、模块化的 Python Web 框架,用于构建 Web 应用程序和 API。它被设计为简单、灵活且可扩展,…

北京大学《操作系统原理》(陈向群主讲)课堂笔记(一)

北京大学《操作系统原理》&#xff08;陈向群主讲&#xff09;课堂笔记&#xff08;一&#xff09; 一、操作系统概述 1.1、操作系统做了什么&#xff1f; 以c语言helloworld为例子&#xff1a; #include<stdio.h> int main(int argc, char *argv[]) {puts("hello…

计算c++11 lambada表达式的大小

lambada表达式是什么? 详解&#xff1a;lambada表达式详解 我们知道lambada其实是一个匿名函数 &#xff0c; 它属于 可调用对象 类型。在 C 中&#xff0c;lambda 表达式会生成一个隐式定义的类&#xff0c;这个类重载了 operator()&#xff0c;使得该对象可以像函数一样被…

【unity小技巧】分享vscode如何进行unity开发,且如何开启unity断点调试模式,并进行unity断点调试(2024年最新的方法,实测有效)

文章目录 前言一、前置条件1、已安装Visual Studio Code&#xff0c;并且unity首选项>外部工具>外部脚本编辑器选择为Visual Studio Code [版本号]&#xff0c;2、在Visual Studio Code扩展中搜索Unity&#xff0c;并安装3、同时注意这个插件下面的描述&#xff0c;需要根…