文章目录

  • 在自己项目或者 vue 中使用可爱的二次元((Live2D)
  • 开始前的小说明:
  • 下面开始折腾 `Hexo` 提取这二次元
    • 第一步自然是安装 `Hexo` 博客咯
    • 安装 Live2D
    • 安装了 Live2D 只是相当于一个运行环境,下面还得安装动画资源
    • 下载了一堆资源后,终于可以动手了!
    • 运行 hexo 博客。看看效果
    • 如果预览没问题,那就开始提取文件了!
  • 拓展
  • 关于vue项目如何使用这些资源

在自己项目或者 vue 中使用可爱的二次元((Live2D)

效果图:

开始前的小说明:

Live2D 是使用在 Hexo 博客上一个小插件,这里只是把它提取了出来,放到自己的项目中。所以如果不想折腾那么多,想直接使用的可以访问我的项目地址:码云/2D 小动物

这里已经已经整合了目前的资源和引入的说明。

下面开始折腾 Hexo 提取这二次元

第一步自然是安装 Hexo 博客咯

npm install hexo-cli -g
hexo init blog
cd blog
npm install
hexo server

然后就会看到这样的目录

安装 Live2D

github 地址:https://github.com/EYHN/hexo-helper-live2d

npm install --save hexo-helper-live2d

emmmm 原项目地址建议用 yum 安装。我用的是 npm,好像说 npm 已经不维护了,至于能不能成功。。看运气把

安装了 Live2D 只是相当于一个运行环境,下面还得安装动画资源

github 地址:https://github.com/xiazeyu/live2d-widget-models

下载后会有这些资源:


而我用的是 npm 下载这些资源。github 下载。。有点慢(github 下载是全部资源。npm 是下载单个的)

npm install live2d-widget-model-hijiki #这里可以改成你想要的动画资源

npm 下载完成后,找到 node_modules\live2d-widget-model-hijiki 文件夹。拷贝一份

然后回到 hexo\blog 文件夹下,新建一个 live2d_modules文件夹,把拷贝的资源放进去
就像这样(我把所有的资源都下载下来了,无论是 github 还是 node。只需要把资源对应着目录放进去即可):

对照的链接 : https://huaji8.top/post/live2d-plugin-2.0/

下载了一堆资源后,终于可以动手了!

找到 hexo\blog\_config.xml 编辑

live2d:enable: truescriptFrom: localpluginRootPath: live2dw/pluginJsPath: lib/pluginModelPath: assets/tagMode: falsedebug: falsemodel:use: live2d-widget-model-hijikidisplay:position: rightwidth: 150height: 300mobile:show: true

这里的配置默认这就 OK 了。不过要注意 model 下面的 use
我填的是 live2d-widget-model-hijiki(就是黑色的小猫)

运行 hexo 博客。看看效果

hexo serve

JS 加载比较慢,主要看控制台有没有报错(大多数报错都是因为资源找不到。可以对照一下是哪一步出错了。以至于资源找不到)

如果预览没问题,那就开始提取文件了!

执行编译 hexo 命令:

hexo deploy

编译完后会多出来一个 public 目录(圈住的就是我们要的资源文件!)

打开 index.html。拉到最下面。复制那段 JS

<script src="/live2dw/lib/L2Dwidget.min.js?094cbace49a39548bed64abff5988b05"></script>
<script>L2Dwidget.init({"pluginRootPath":"live2dw/","pluginJsPath":"lib/","pluginModelPath":"assets/","tagMode":false,"debug":false,"model":{"jsonPath":"/live2dw/assets/live2d-widget-model-hijiki.model.json"},"display":{"position":"right","width":150,"height":300},"mobile":{"show":true},"log":false});
</script>

把复制出来的 2 段script标签和上图中 live2dw文件夹,拷到自己的项目中

要注意资源路径的存放方式,避免因为资源文件找不到一直报错。我也是在这个坑徘徊了许久

只要把资源文件放好,JS引入正确,方法调用没问题。那就是已经成功了

拓展

那是不是每次想要换个动漫人物,都需要经历那么麻烦的步骤,必须要通过 hexo 编译才可以?
No!!
如果是这样那就没意思了。其实通过 hexo 编译只是为了拿到 /live2dw/lib/L2Dwidget.min.js 这段核心JS文件

init 方法中的一些配置,其实都是对应的路径。比如 lib 的路径 assets(动画资源的路径)。只要细心一点,观察一下目录的路径不同。就可以在项目中通过修改配置使用全部的动画了!

详情可以看这个项目:码云/2D 小动物

至此,就已经折腾完毕了。

关于vue项目如何使用这些资源

毕竟我也是vue的初学者,以下教程/观点可能存在很大的漏洞和肤浅的地方,希望各路大神看到后可以耐心指出

回到vue项目中,我们不可能把资源文件放在 src 目录下了,理由如下:

1、因为编译后的JS文件没有提供exprot。所以不能通过 import方式引入JS
2、项目想引用这个小动物,必须要在 public\index.html 引入JS。而如果JS和 live2D 文件夹放在 src 目录下,打包后会找不到这些资源文件

所以,最后我把这些额外的项目文件放在了和 index.html 同级目录下

然后 index.html

<script src="/live2dw/lib/L2Dwidget.min.js"></script>

在想用的页面上(这里我放在了项目Layout.vue)的页面中(而且还做了一个简单的延迟处理,避免项目初始化找不到方法):

export default {name: 'Layout',data () {return {}},created () {setTimeout(() => {window.L2Dwidget.init({pluginRootPath: 'live2dw/',pluginJsPath: 'lib/',pluginModelPath: 'live2d-widget-model-hijiki/assets/',tagMode: false,debug: false,model: { jsonPath: '/live2dw/live2d-widget-model-hijiki/assets/hijiki.model.json' },display: { position: 'right', width: 150, height: 300 },mobile: { show: true },log: false})}, 3000)}
}

这样就大功告成了!

在自己项目或者 vue 中使用可爱的二次元((Live2D)相关推荐

  1. Vue实战项目开发--Vue中的动画特效

    项目的源代码在GitHub上:点击查看 目录 vue中的css动画原理 在Vue中使用Animate.css库 在Vue中同时使用过渡属性和动画 Vue中的Js动画与Velocity.js的结合 Vu ...

  2. vue中播放h265视频流

    最近vue推流视频项目需要视频流适配h265,找到很多解码js,发现稳定和好用的还是WXInlinePlayer. 官方文档地址https://github.com/ErosZy/WXInlinePl ...

  3. vue中headers是什么_【vue】饿了么项目-header组件开发

    1.数据传递的理解 在App.vue中用到了header组件,首先注册组件 components: {'v-header': header } 然后才能引用 :seller="seller& ...

  4. 总结Vue中index.html、main.js、App.vue、index.js之间关系以及Vue项目加载流程

    总结Vue中index.html.main.js.App.vue.index.js之间关系以及Vue项目加载流程 文章目录 总结Vue中index.html.main.js.App.vue.index ...

  5. Vue.js项目去除url中的#/ - 解决篇

    文章目录 `Vue.js`项目`去除`url中的`#/` 一.解决办法 二.前后效果图,对比如下 Vue.js项目去除url中的#/ 使用vue路由,新建项目的url地址总是带有锚点#/,如下url: ...

  6. vue 项目难点_Vue 项目里戳中你痛点的问题及解决办法

    一.先总结出如下几点vue项目开发中常见的问题及解决办法. 列表进入详情页的传参问题. 本地开发环境请求服务器接口跨域的问题 API接口的统一管理 UI库的按需加载 定时器问题 rem文件的导入问题 ...

  7. antimalware service executable占用内存_解决 vue 项目运行过程中内存泄漏问题

    vue-cli3.0 内存溢出 JavaScript heap out of memory vue-cli3.0构建的项目,开发过程中,可能会遇到内存溢出的情况,改动一点代码,代码编译,进程就会断掉, ...

  8. Vue项目在标签中如何书写多个内敛style样式

    Vue项目在标签中如何书写多个内敛style样式 例如:对一个数组进行循环,我想给偶数项的添加红色背景,奇数项的添加蓝色背景,这时候就可以用v-bind:style="[]",详细 ...

  9. vue项目在vscode中编译eslint报错没显示红色波浪线提示

    vue项目在vscode中编译eslint报错没显示红色波浪线提示. 如下图所示: 下图是预期效果: 不符合Eslint校验规则的代码位置都能展示出来,这样一目了然.能帮助我们迅速找到报错的位置. 然 ...

最新文章

  1. 订阅点评有奖,本人获奖了
  2. 如何使用ODBC搭配dsn链接数据库
  3. JavaScript实现唯一路径问题的回溯方法的算法(附完整源码)
  4. pytorch模型部署
  5. 通过Github Teams进行代码仓库的权限访问控制
  6. goahead如何使用cgi服务_QQ如何设置使用代理服务器?
  7. JSON 和 JavaScript 对象互转
  8. ubuntu 文件服务器--samba的安装和配置
  9. RxJava2.0的初学者必备教程(九)
  10. java 生产mdb_Java生成mdb文件[MS Access文件]
  11. 统一认证 java_java统一身份认证系统
  12. BZOJ 2339 [HNOI2011]卡农
  13. 去除 华军 恶心的广告验证码
  14. Spring AOP内部方法调用代理失效
  15. 如何彻底禁用谷歌Chrome更新
  16. 直播第三方美颜sdk是什么?
  17. 2203-python 24点游戏
  18. 《公司的力量》纪录片
  19. 直接使用word模板生成word文件
  20. 计算机网络生存时间单位,TTL(生存时间值)_百度百科

热门文章

  1. (纯故事)我简单写几篇,就这一次
  2. 混合云网络怎么组网搭建?
  3. 聊聊gorm的OnConflict
  4. DBLP数据集XML使用python SAX解析 作者名字显示错误问题
  5. Caffeine缓存快速入门
  6. 人工智能书单|Deep Learning on Graphs
  7. pyspark---agg的用法
  8. java中这些判断空的用法,太优雅了
  9. sqlserver存储过程报错:当前事务无法提交,而且无法支持写入日志文件的操作。请回滚该事务
  10. web前端期末大作业 html+css+javascript火影忍者网页设计实例 动漫网站制作