Unity-Live2d(模型参数设置,当前参数保存与恢复所保存参数, 部分位置透明度设置,自动眨眼)

Unity-Live2D

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

模型参数设置

  • 先来说一下这个模型参数是个什么东西,之前在首次导入模型的时候,有打开过我们的模型编辑器——Live-2D-SDK-2.X,在这个里面我们有看到过相关的模型参数设置,如角度,眼睛,嘴,手臂之类的一些调整,具体如下图

Unity-Live2d(模型参数设置,当前参数保存与恢复所保存参数, 部分位置透明度设置,自动眨眼)_第1张图片
更改这些参数,模型会做出相应的变动,以达到一个动作效果,所以,当我们通过unity相关代码去调用改变这个参数,就可以达到一个动作效果了,具体操作方式如下。

  • 第一种方法——直接设置:我们可以通过模型类里内置的一个方法来改变参数——live2DModel.setParamFloat();
    这个方法里我们使用的三个重载分别为——参数ID——参数值——权重。
    参数的ID就是为了识别相关参数去改变它的值,获取方法是在live2D编辑器里打开相关模型找到需要改变的参数选择并右键进入Edit Paremeter面板,里面的ID即是我们所需的参数ID,需要注意的是,由于ID是字符串,所以在写入方法形参时不要忘记双引号。图引如下
    Unity-Live2d(模型参数设置,当前参数保存与恢复所保存参数, 部分位置透明度设置,自动眨眼)_第2张图片
    Unity-Live2d(模型参数设置,当前参数保存与恢复所保存参数, 部分位置透明度设置,自动眨眼)_第3张图片
  • 参数的值要调多少,就自己去参数面板里拉一拉看看效果吧。
  • 至于权重,类似于可以说是倍率吧,就是设置的值再乘以权重,得到的是最终的效果,可以不填,默认为1。
  • 第二种方法——累加设置:用到一个模型类内置方法——live2DModel.addToParamFloat();
  • 与上一个比较类似,不过其效果为在原参数基础上累加一个值。
  • 第三种方法——乘积设置:用到宇哥模型类内置方法——live2DModel.multParamFloat();
  • 依旧与上面的类似,其作用为让参数在在原基础上乘一个值.。

当前参数保存与恢复所保存参数

  • 这个是说保存一下当前状态下模型的所有参数值,以及恢复我们之前保存的所有参数值,也就是整个模型回溯到之前的状态.
  • 保存所用的方法是模型类内置方法——live2DModel.saveParam();
  • 恢复类也是模型类内置方法——live2DModel.loadParam();

部分位置透明度设置

  • 这个是模型的一部分的透明度的操作,比如说让手臂透明化,需要用到模型类里内置的一个方法——live2DModel.setPartsOpacity();这个方法里我们需要用的有俩个参数,第一个为所需要设置的部分的ID,第二个为设置的透明度。
  • 有关ID,这里的话需要在编辑器里找到相关位置来得到ID,具体看以下图引

Unity-Live2d(模型参数设置,当前参数保存与恢复所保存参数, 部分位置透明度设置,自动眨眼)_第4张图片
Unity-Live2d(模型参数设置,当前参数保存与恢复所保存参数, 部分位置透明度设置,自动眨眼)_第5张图片

  • 有关这个透明度参数,0为绝对透明,也就是隐藏,相关设置多少,就看具体情况了。

自动眨眼

  • 这是让人物自己进行一定时间眨一次眼的操作
  • 用到一个live2D库里内置的类EyeBlinkMotion,使用时先定义出一个私有变量,然后再将其实例化出来,之后是在update中实时更新模型相关参数,用到其内置的一个方法EyeBlinkMotion.setParam();括号内参数写入想要作用的模型变量。
    范例代码如下
private EyeBlinkMotion eyeBlinkMotion;
eyeBlinkMotion=new EyeBlinkMotion();
eyeBlinkMotion.setParam(live2DModel);

你可能感兴趣的:(Unity3D学习)