首页 > 其他分享 >vue项目引入live2d保姆级教程--web端、多种方法

vue项目引入live2d保姆级教程--web端、多种方法

时间:2024-07-29 22:53:43浏览次数:16  
标签:npm web vue 文件 -- live2d pixi public

一、自建live2d运行

1、选择SDK——live2d Cubism SDK

 (1)链接:Live2D Cubism SDK | Live2D Cubism     

打开网站,它长这样:

(2)选择web ,到下个页面

(3)下载

勾选同意,填写邮箱,点击下载,得到一个压缩包

注意:如果你需要完整的的SDK按上文来就行,实际这篇文章主要用到内容是code文件夹里的js文件

2、文件复制与引用

(1)将下好的  live2dcubismcore.min.js 文件复制到public目录下。

如果步骤1内下的文件夹,找到core进入即可,如下图:

复制文件:

(2)安装依赖库:

npm add pixi-live2d-display [email protected]  // 下面的库目前只支持到6.x
 //安装pixi和pixi-live2d-display 
npm add pixi-live2d-display 

安装后会在node_modules中显示:

(3)index文件内引入

找到项目的index.html文件,一般在public文件夹内或和public同级,引入 live2dcubismcore.min.js 文件(如上图我的public内,有index.html文件)

  <body>
    <div id="app">
      <script src="live2dcubismcore.min.js"></script> 
            <!-- 这是引入的语句,需要写在body内的大div中,相对路径引入 -->
	</div>
  </body>

(4)App.vue文件内导入

找到App.vue文件,一般在:src文件夹内

<script>
//以下需要引入:
import * as PIXI from 'pixi.js';
import {Live2DModel} from 'pixi-live2d-display/cubism4';
window.PIXI = PIXI; // 为了pixi-live2d-display内部调用
let app; // 为了存储pixi实例
let model; // 为了存储live2d实例

export default {
//需要引入:
  async mounted() {
    app = new PIXI.Application({
      view: this.$refs.liveCanvas,//ref组件绑定,liveCanvas为下文自定义的
      autoStart: true,            //是否开启自动播放
      resizeTo: window,           
      backgroundAlpha: 0,  //透明度
    });

    // 这里是放live2d资源的地方,直接相对路径引用即可
    model = await Live2DModel.from('../public/HeiJiao/openSource.model3.json');

    app.stage.addChild(model);
    model.scale.set(0.2); // 调整缩放比例,0.1-0.2整体比较合适
  },
//需要引入
  beforeUnmount() {
    model?.destroy();
    app?.destroy();
  }
}
</script>
<template>
  <div class="app">
<!-- 自定义ref="liveCanvas": -->
     <canvas ref="liveCanvas"></canvas>
  </div>
</template>

<style scoped>
.app{
  background-color: #f1e6aa;
}
header {
  line-height: 1.5;
}
</style>

3、下载live2d资源包:

这里推荐大家去B站上找一些最新的live2d资源包,现在它内容的主流架构(5.0、4.0)大致这样

老版本的2.0这样:

记得更新:App.vue文件:

 model = await Live2DModel.from('../public/HeiJiao/openSource.model3.json');
//替换为你的model3.json文件的相对路径

4、运行与演示:

npm run dev运行项目,比如我的,如下图,还是比较大的,哈哈。

网上(github)的多数项目live2d版本比较老,更新时间都在3-6年前不等,文件版本多为cubism2.0(现cubism版本主流为4.0、5.0),直接使用可能存在不兼容等问题。不过老版本自有老版本的强大,直接使用就行!

二、直接套用:

基于:live2d_api

1、最懒人方法:

直接在你的项目index.html文件中引入,即可!

<script src="https://fastly.jsdelivr.net/gh/stevenjoezhang/live2d-widget@latest/autoload.js"></script>

运行图:右下角的小人,就是啦~,最简单轻松,一行代码搞定!

2、高度自定义

本方法来源于:在vue项目添加live2d可交互的看板娘_vue项目live2d.min.j waifu-tips-CSDN博客

大家可以直接在文内顶部下载,放到对应位置,然后在:App.vue中引入即可:

<template>
  <div id="app">
    <PhyLive2d v-if="showLive2D" ref="live2d"></PhyLive2d>
        <!--  引用组件   -->
  </div>
</template>

<script>
import PhyLive2d from '@/components/Live2d/index.vue' 
//导入

export default {
  name: 'App',
  components: { PhyLive2d, ThemePicker },
    ……
    //其它代码
}
</script>

三、集成方法

                        ----便捷使用+自定义live2d模型(适用于cubism4.0、5.0版本)

(1)npm安装

直接安装  "live2d-render" ,这是一位B站大佬写的插件库,同时满足了便捷使用与live2d自定义,两个愿望一次满足!

npm install live2d-render
//npm安装

(2)修改App.vue文件:

<script>
//复制下文script的内容稍作修改即可,其余地方不用
import { onMounted } from 'vue';
import * as live2d from 'live2d-render';

export default {
setup() {
  onMounted(async () => {
     await live2d.initializeLive2D({
     BackgroundRGBA: [0.0, 0.0, 0.0, 0.0],
     ResourcesPath: '../public/HeiJiao/openSource.model3.json',
     //这是你自己的live2d资源文件,相对路径引用即可
       CanvasSize: {
        height: 500,
        width: 400
       }
    })
     console.log('finish loading');
  });
},

}
</script>
<template>
  <div class="app">
  </div>
</template>

(3)运行!

//控制台输入:
$Env:NODE_OPTIONS="--openssl-legacy-provider"

npm run dev

这个样子,如图:

来源:Live2dRender

贴几个地址:

1、很多live2d项目的源头api:live2d_api ,这是大佬!

2、目前start算最多的live2d项目,live2d-widget,超级好用的

3、live2d模型库,大多是2.0版本的:live2d资源库

4、也是一个live2d模型库,但内容相对更多一些:资源库

最后大家用的哪一个呢?

标签:npm,web,vue,文件,--,live2d,pixi,public
From: https://blog.csdn.net/qq_64595427/article/details/140717574

相关文章

  • WMI横向
    一.wmic二.Wmiexec工具:三.wmiexec.vbs工具四.Invoke-WMIExec工具WMI:psexec被杀软禁用,WMI是一种新型的横向移动工具,本身的组织架构是数据库架构,在用WMI进行横向时,Windows操作系统不会将WMI的操作记录在日志中。简单来说:wmic就是wmic.exe,位于windows目录底下,是一个......
  • 大数据HBase图文简介
    引言要想明白为什么产生HBase,就需要先了解一下Hadoop存在的限制:Hadoop可以通过HDFS来存储结构化、半结构甚至非结构化的数据,是传统数据库的补充,是海量数据存储的最佳方法,它针对大文件的存储、批量访问和流式访问都做了优化,同时也通过多副本解决了容灾问题。但是Hadoo......
  • 安装 jar包为windows服务
    下载安装JavaServiceWrapper下载https://www.krenger.ch/blog/category/windows/ 安装下载后在D盘找个位置解压: 在同级目录建一个新的文件夹,就命名JavaServiceWrapper吧:在文件夹JavaServiceWrapper下新建bin、conf、lib、logs、jre文件夹: 给下载解压的src/bin......
  • P2900 [USACO08MAR] Land Acquisition G
    P2900[USACO08MAR]LandAcquisitionG传送门思路:先将土地按照长\(H\)排序从后往前遍历如果有出现\(H[i]\leH[j]\\text{and}\W[i]\leW[j]\)则这块土地是没有贡献的(\(i\)与\(j\)拼单)处理完之后H从小到大有序,W从大到小有序方程:\(f[i]=f[j-1]+max(h[k])*......
  • 7.27号每周总结
    本周我的主要任务是制作上课用的课件,内容涵盖了数据结构、基础算法、数论以及进制转换等知识。此外,我还积极参加了多场算法比赛,排名和积分都有显著提升。首先,我在制作课件方面花了大量时间和精力。课件的内容包括以下几个方面:1.**数据结构**:-线性数据结构:数组、链表、栈和......
  • 7.20日每周总结
    本周我主要完成了Hadoop与IntelliJIDEA的集成,通过IDEA连接到虚拟机上的Hive,并通过前端页面插入数据到Hive中。这一过程涉及多个步骤和技术的应用。首先,我在虚拟机上安装并配置了Hadoop和Hive。确保Hadoop的分布式文件系统(HDFS)和YARN资源管理器正常运行。接下来,我配置了Hive,创建......
  • 使用 Easysearch 打造企业内部知识问答系统
    大家可能都有这样的经历,刚入职一家企业时,同事往往会给你分享一些文档资料,有可能是产品信息、规章制度等等。这些文档有的过于冗长,很难第一时间找到想要的内容。有的已经有了新版本,但员工使用的还是老版本。基于这种背景,我们可以利用Easysearch加LLM实现一个内部知识的QA问......
  • 2024年7.26-7.29学习总结/day29-32
    2024年7.26-7.29学习总结部署上线乐泡泡用户中心项目开坑伙伴匹配系统项目刷牛客刷leetcode部署上线​ 域名备案已申请,但是还没通过,让我周三再申请一次,难受。系统上线之后查询系统还有点bug不过别的功能基本上没有问题。这个项目很简单,就算是从0到1走通了全栈开发的一......
  • 一类初等函数下取点问题
    等差数列方向给\(N\)棵树,第\(i\)棵树的坐标是\(a_i\(-M\leqa_i\leqM)\)。可以花费\(b_i\)的代价将\(a_i\)修改为任意整数。询问\(a_1,a_2,\cdots,a_N\)构成等差数列需要的最小代价。思路:若\(a_1,a_2,\cdots,a_N\)是等差数列,则\((i,a_i)\)在二维空......
  • 用流程化表单的多个优势实现流程化管理
    实现流程化办公,可以实现降本、增效,助力企业创造更多市场价值。低代码技术平台拥有更灵活、更高效、可视化发展界面的优势特点,在通信业、医疗、高校等众多行业中获得推广和应用。一起来看看流程化表单的优势特点,看看它是如何为客户带来更具价值的服务的。实现流程化管理是现代化职......