Unity-Live2d

概述:这是我学习Unity中Live2d的相关操作的一个笔记,欢迎各位同好和大牛的指点。(参考siki学院出的视频学的)

表情系统

  • Unity种live2D的表情系统与动作系统其实比较类似,所以这里贴上动作系统笔记蓝链做参照 动作系统笔记,所以在这个笔记中我就大略演示下代码好了
  • 首先我们需要定义出:表情文件的导入,表情实体,表情管理具体代码示例如下:
//表情文件
public TextAsset[] expressionFiles;
//表情实体
public L2DExpressionMotion[] expressions;
//表情管理(表情管理与动作管理用的是同一个类)
private MotionQueueManager expressionMotionQueueManager;
  • 接着是进入start方法内进行实例化,加载表情文件(手动拖拽 json类型表情文件挂载到expressionFiles数组上),表情文件转化为表情实体
    具体演示代码如下:
//表情管理的实例化
expresionMotionQueueManager = new MotionQueueManager();
//表情实体数组的实例化
expressions = new L2DExpressionMotion[expressionFiles.Length];
//表情的实体化
for(int i=0;i<expressions.Length;i++)
{expressions[i] = L2DExpressionMotion.loadJson(expressionFiles[i].bytes);
}
  • 最后就是将动作挂载到表情管理上写上对应的测试代码,测试播放我们的表情就好了
if(Input.GetKeyDown(KeyCode.M)){motionIndex += 1;   //计数器加if(motionIndex>expressions.Length){motionIndex = 0;}//改变表情管理所绑定表情expressionMotionQueueManager.startMotion(expressions[motionIndex]);}//模型参数更新expressionMotionQueueManager.updateParam(live2DModel);
  • 注: 这里出现一个问题,当测试一套表情之后,会发现人物某些表情细节不会再变回来了,这里是因为表情中有一个参数在表情改变时是累加的,加上去之后不会自动回来。关于这个问题的话,再之后的开发中我们直接使用官方提供的框架去写就好了。(所以该问题暂时搁置即可)

姿势动作与口型功能的实现

  • 姿势动作的实现中有需要注意的是,有些动作的变化幅度比较大,诸如将两侧的手臂拉到胸前做成一个抱胸的动作,对于live2D模型显然有些难搞,所以我们就需要“四只手”,对没错,需要四只手来实现,俩只放在胸前,俩只放在身体两侧,不需要用的两只便使用代码隐藏掉即可,隐藏模型一部分我们用到之前提到过的,模型部分透明度设置,需要用到模型类里内置的一个方法——live2DModel.setPartsOpacity();这个方法里我们需要用的有俩个参数,第一个为所需要设置的部分的ID,第二个为设置的透明度。
  • 口型功能实现的话,有俩种方法,一种是先封装一份口型张合的动作,然后适时调用,一种是需要了解java,ios什么的一些内置API,用其去读取播放音频的波段,再读出对应音频数据去设置口型参数。(骚操作学不来学不来,溜了溜了)

Unity-Live2d(表情系统,姿势动作与口型功能的实现)相关推荐

  1. Unity一个低成本优化游戏动作的方案探究

    本篇博客主要探究一个低成本运用动作捕捉,动态骨骼,以及一个动作标准来提升游戏角色动作表现的方案. 一.什么是游戏动作 顾名思义,就是游戏中,人物角色行为举止,走路,跑步,战斗等等. 二.为什么游戏动作 ...

  2. unity velocity_Unity动画系统详解5:BlendTree混合树是什么?

    摘要:"Animator中有一个功能,用来解决多个动画之间的混合,经常用于移动动画之间的混合,这个功能叫做BlendTree,混合树." 洪流学堂,让你快人几步.你好,我是跟着大智 ...

  3. [玩转UE4/UE5动画系统>应用篇>功能模块] 之 ALS V4地面站立动作状态机详解

    本教程采用图文教程+视频教程的多元化形式,我会为不同的知识点选择适当的表达方式.教程内容将同步免费发布于 开发游戏的老王(知乎|CSDN)的专栏<玩转UE4/UE5动画系统>.教程中使用的 ...

  4. Unity进阶 - 动画系统 - 给人物角色制作动画

    Unity进阶 - 动画系统 - 给人物角色制作动画(点击免费试学本节) 上一篇文章,我们对Unity进阶 - 动画系统 - Mecanim动画系统有了一定的认识,本节课我们给人员角色制作一些简单的动 ...

  5. [Unity][blender]人形模型Humanoid动作重定向,拓展更多自定义人物动作

    本文在Unity官方人形模型Humanoid动作的基础上拓展新建更多的 自定义人物动作. 很多时候使用的模型动作偏少,Unity官方人形模型Humanoid动作  在这些 人形模型Humanoid上可 ...

  6. Unity 使用 bvh 驱动骨骼动作

    Unity BVH 驱动骨骼动画 前言 BVH 角色姿势 驱动理论 转换流程 矩阵求解 变换矩阵 T1T_{1}T1​/T2T_{2}T2​ 变换矩阵 T3T_{3}T3​ 变换矩阵 T4T_{4}T ...

  7. Unity Mecanim动画系统 之 动画层(Layers)和 动画遮罩(Avatar Mask)的简单使用

    Unity Mecanim动画系统 之 动画层(Layers)和 动画遮罩(Avatar Mask)的简单使用 目录 Unity Mecanim动画系统 之 动画层(Layers)和 动画遮罩(Ava ...

  8. Unity Mecanim动画系统 之 IK(Inverse Kinematics即反向动力学)的相关说明和简单使用

    Unity Mecanim动画系统 之 IK(Inverse Kinematics即反向动力学)的相关说明和简单使用 目录 Unity Mecanim动画系统 之 IK(Inverse Kinemat ...

  9. 用华为HMS ML kit人体骨骼识别技术,Android快速实现人体姿势动作抓拍

    用华为HMS ML kit人体骨骼识别技术,Android快速实现人体姿势动作抓拍 你有没有过这种体验,拍照时对着镜头,脑子一片空白.表情僵硬.手和脚无处安放,最后拍出来的照片很是奇怪.拍照软件中的固 ...

最新文章

  1. 数据分析工具Pandas(6):Pandas统计计算和描述
  2. vue循环出来的数据,通过点击事件改变了数据,但是视图却没有更新
  3. linux 软链接_面试 | Linux 下软链接和硬链接的区别
  4. 【Paper】2019_Distributed Optimal Control of Energy Storages in a DC Microgrid with Communication Dela
  5. 伦茨8400变频器面板按键说明_lenze变频器 8400 protec
  6. RBD和AOF持久化对比
  7. pytorch实现LeNet5
  8. 牛年2021新年海报该有的样子!
  9. c语言if的时候自动转换,[求助]IF语句转换SWITCH语句写出!如何
  10. 解决Python中文注释报错
  11. Python爬取 201865 条《隐秘的角落》弹幕,发现看剧不如爬山?
  12. 经过卖房创业与“云吞面”群聊,老季带着优刻得迎来了“开市大吉”……
  13. Web APIs介绍(四)——offset/client/scroll/轮播图/本地存储
  14. 关于ABAP中锁参数SCOPE的使用bug一粒
  15. 【软件侠】公认最常用的20个函数,案例详解
  16. 圆柱体积怎么算立方公式_四个计算圆柱的体积常用公式(附例题)
  17. fiddler everywhere新功能简单说明
  18. git命令上传和下载代码
  19. 信任,问责制以及时间在哪里?
  20. 清理C盘垃圾,设置默认安装到其他盘

热门文章

  1. 【多线程与高并发】从一则招聘信息进入多线程的世界
  2. Navicat导入excel表格(xlsx)报错解决
  3. html数据的格式是什么格式的文件,.html是什么格式的文件,html文件怎么打开
  4. 小米路由开启SSH访问权限
  5. 不可混为一谈 说说数字机顶盒与网络机顶盒
  6. 前端低代码工具amis使用文档
  7. 云计算机具有什么特点,云计算具有哪些特点?
  8. 天猫精灵方糖AI智能音箱拆解报告
  9. MP-SPDZ详细介绍
  10. 韩国5G产品定价及营销策略剖析