Live2D for Unity 入门篇 4.x

用户头像
波波
关注
发布于: 2020 年 05 月 19 日
Live2D for Unity入门篇 4.x

一直都想转型U3D,然后都因为各种原因没有落实。



这次疫情原因,需要重新找工作,然后有一个机会可以转U3D开发。所以重新拿起来,希望能抓住这个机会,项目是二次元向,所有需要用到Live2D。



上次自学过一段时间U3D,但是已经比较久远了。久远到这次回来重新使用,发现变化还蛮大的。



具体的U3D安装啥的,没啥难度,直接官网下载就行了。但是不得不说,现在用的这个Unity Hub真心不太好用,经常出各种小问题,目前的解决方案就是卸载了然后重新安装。(可能是因为不熟悉,后面熟悉了应该会好很多。重心不在这,所以不过多纠结)。



然后再说到Live2D,这 玩意儿不清楚的可以直接百度,或者谷歌。去Live2D官网查看相关消息。

www.live2d.com



我这次用到的是Live2D for Unity 也就是Live2D的Unity版本。现在官网最新的版本已经到了4.0。网上找了一些相关的教程来看,发现基本都是2.0的。有一些流程和4.0差异比较大。



然后在官网寻找教程,发现还是这个靠谱。

https://docs.live2d.com/cubism-sdk-tutorials/hittest/

具体可以查看这个链接。不过有一点,官网的这个翻译,一言难尽。(~ ̄▽ ̄)~



相比较2.0版本,最新的4.0优化了好多步骤。

新建一个c#文件,命名为Live2DModel。具体代码如下:

using System;
using System.IO;
using UnityEngine;
using Live2D.Cubism.Framework.Json;
public class Live2DModel : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
var path = Application.streamingAssetsPath + "/koharu/koharu.model3.json";
var model3Json = CubismModel3Json.LoadAtPath(path,BuiltinLoadAssetAtPath);
var model = model3Json.ToModel();
}
// Update is called once per frame
void Update()
{
}
public static object BuiltinLoadAssetAtPath(Type assetType,string absolutePath)
{
if(assetType == typeof(byte[])){
return File.ReadAllBytes(absolutePath);
}else if(assetType == typeof(string)){
return File.ReadAllText(absolutePath);
}else if(assetType == typeof(Texture2D)){
var texture = new Texture2D(1,1);
texture.LoadImage(File.ReadAllBytes(absolutePath));
return texture;
}
return new NotSupportedException();
}
}

具体可以查看官方文档。

然后将文件挂载到一个空的GameObject上面。直接运行之后就会看到模型已经显示在场景上了。

在这期间遇到一个特别坑的问题。代码编辑器使用的IDE是VSCode,没有代码补全,提示是找打不到对应的.net framework版本。项目默认的版本是V4.1.1。尝试了以下方法:

  1. 从微软官方下载对应的开发者版本,因为系统无法卸载高级版本,但是我们可以安装多版本。(当然也有方法可以卸载,但是容易出现问题,不建议)

  2. 直接修改项目中Assembly- XXX文件 中的TargetFramworkVersion的版本。但是这个版本会自动覆盖,而且手动更改好像也无效。

  3. 百度的各种其他乱七八糟的方法。

最后实在没办法的情况下,下载了Visual Studio 2017来作为IDE,结果没想到安装好了之后,VSCode也好了。暂时还没有确定问题到底在哪儿。



自此,Live2D的入门也就完成了。下一步是动作文件的处理。



发布于: 2020 年 05 月 19 日 阅读数: 103
用户头像

波波

关注

一只快秃顶的程序猿 2018.09.18 加入

懒,木得简介,o(´^`)o

评论

发布
暂无评论
Live2D for Unity入门篇 4.x