Live2D 官方资料
Live2D + Hexo 本地化配置流程
Hexo切换为Next样式
使用live2d-widget需要将Hexo切换为Next样式,具体切换方式可参考Next官网
添加live2d-widget模块
live2d-widget 基本配置
直接下载其release版的源码,解压后丢到Hexo里的source目录中即可
修改部分配置
修改source/live2d-widget/autoload.js
1
2// live2d-widget解压后放在source目录中,配置autoload.js使其指向本地的live2d-widget目录
const live2d_path = "/live2d-widget/";修改themes/next/layout/_layout.swig
1
2
3
4<head>
<!-- 在head添加如下内容 -->
<script src="/live2d-widget/autoload.js"></script>
</head>修改_config.yml,在末尾添加
1
2live2d:
enable: true发布
1
hexo g d
完成以上步骤后打开本地Blog地址,可以看到live2d-widget模块已经嵌入界面,但仅有live2d-widget对话框,并无model加载,model的加载请查看后续步骤。
live2d-widget 进阶配置
翻看autoload.js以及README.md文件,可以知道live2d-widget只提供了在hexo上显示live2d的功能,并不提供live2d的模型。
autoload.js代码如下
1 | // 加载 waifu.css live2d.min.js waifu-tips.js |
可以看到live2d-widget指定了一个获取资源的url,当live2d-widget加载时,会通过这个url去加载model文件。该url可能已经废弃
继续查看README.md,作者提到了提供API的网址,以及API的github地址
于是考虑建立本地后台提供api给本地live2d-widget调用
搭建live2d_api
查看live2d_api项目的内容,发现该项目内提供了live2d的模型文件以及php代码,于是需要在本地搭建一个php server。这里决定采用nginx + php的简单搭配,先跑起api再说。
nginx安装以及配置
下载LTS版本解压后放在本地目录即可,注意路径不要中文
配置nginx/conf/nginx.conf文件,一下仅展示几项比较重要的配置
1 | server { |
PHP安装以及配置
由于是在windows上跑后端,所以下载windows支持版的php,下载源码后解压即可
复制php根目录中的php.ini-development文件并改名为php.ini后修改
1 | ; 将extension_dir指向本地php目录中的ext文件夹 |
live2d-widget 调用本地接口所需的修改
修改autoload.js文件,使其的url指向本地
1
2
3
4
5
6
7
8
9
10
11
12if (screen.width >= 768) {
Promise.all([
loadExternalResource(live2d_path + "waifu.css", "css"),
loadExternalResource(live2d_path + "live2d.min.js", "js"),
loadExternalResource(live2d_path + "waifu-tips.js", "js")
]).then(() => {
initWidget({
waifuPath: live2d_path + "waifu-tips.json",
apiPath: "http://localhost:7777/",
});
});
}修改waifu-tips.js文件,使其默认加载的第一个live2d model文件是1-1
1
2
3
4
5
6
7
8
9
10(function initModel() {
let modelId = localStorage.getItem("modelId"),
modelTexturesId = localStorage.getItem("modelTexturesId");
if (modelId === null) {
// 首次访问加载 指定模型 的 指定材质
modelId = 1; // 模型 ID
modelTexturesId = 1; // 材质 ID
}
......
)
启动hexo以及live2d api
启动php服务,注意端口号就是给本地nginx使用端口号
1
.\php-cgi.exe -b 127.0.0.1:9000 -c .\php.ini
启动nginx服务
1
start nginx
启动hexo server
1
hexo s --debug
启动完以上服务后,通过localhost访问本地hexo主页应该就能看到live2d模型了