当前位置: 首页 > news >正文

VUE集成Live2d

VUE集成Live2d

目前基于大模型,可以实现一个桌面的3D动画小人,个人猜测可以简介这个项目进行实现

1-参考网址

试了很多项目,只有这个项目直观的把问题说清楚了

  • Live2D Vue3技术应用:https://blog.csdn.net/hh1233321/article/details/140694778
  • 个人编写代码仓库:https://gitee.com/enzoism/live2d-manual

2-核心逻辑

  • 1)下载Live2d官方文件
  • 2)创建VUE项目
  • 3)VUE项目添加Live2d的【模型文件】+【js】文件
  • 4)然后修改App.vue文件

3-上手实践

1-创建VUE项目

# 1-创建VUE项目
vue create live2d-render# 2-Vue3项目创建/安装软件包/并运行
- cd live2d-render
- npm run serve

2-安装live2d对应的依赖

npm install pixi-live2d-display pixi.js@6.x

3-拷贝2D的模型到项目中

1. 下载 Live2D Cubism SDK
  • 前往 Live2D Cubism SDK 下载页面。
  • 选择 Web 版本,下载后解压文件。
  • 找到 live2dcubismcore.js 文件,通常位于解压后的 Core 文件夹中。
2. 将 live2dcubismcore.js 文件放置到项目中
  • live2dcubismcore.js 文件复制到 Vue 项目的 public 目录下,例如 public/live2dcubismcore.js
3. 在 index.html 中引入 live2dcubismcore.js
  • 打开 public/index.html 文件,在 <body> 标签中添加以下代码:
    <script src="live2dcubismcore.js"></script>
    
4. 确保正确加载模型文件

可以从下载的Live2D Cubism SDK 下载页面中【CubismSdkForWeb-5-r.3/Samples/Resources】下找一个样例

  • 确保 Live2D 模型文件(如 .model3.json)已放置在 public 目录下,并在代码中正确引用路径。例如:
    const model = await Live2DModel.from('models/your-model-name.model3.json');
    

5-编辑显示页面

<template>
<canvas ref="liveCanvas"></canvas></template><script setup >
import {ref,onMounted,onBeforeUnmount} from  "vue";
import * as PIXI from "pixi.js"
import { Live2DModel } from "pixi-live2d-display/cubism4";
console.log(Live2DModel,'===Live2DModel')window.PIXI =PIXI
let app;
let model;
const liveCanvas=ref(null);
onMounted(async ()=>{console.log(liveCanvas,'1111');app=new PIXI.Application({view:liveCanvas.value || undefined,autoStart:true,resizeTo:window,backgroundAlpha:0})// model = await Live2DModel.from('https://cdn.jsdelivr.net/gh/guansss/pixi-live2d-display/test/assets/haru/haru_greeter_t03.model3.json')model = await Live2DModel.from('./kebai_model/kei_basic_free.model3.json')app.stage.addChild(model);model.scale.set(0.1)
});
onBeforeUnmount(()=>{model?.destroy();app?.destroy()
})</script><style scoped></style>

6-运行项目

npm run serve

http://www.lryc.cn/news/546723.html

相关文章:

  • 【CPP面经】科大讯飞 腾讯后端开发面经分享
  • el-card 结合 el-descriptions 作为信息展示
  • GaussDB自带诊断工具实战指南
  • LeetCode 链表章节
  • SSL证书和HTTPS:全面解析它们的功能与重要性
  • 正交投影与内积空间:机器学习的几何基础
  • Qt中txt文件输出为PDF格式
  • 《HelloGitHub》第 107 期
  • Langchain解锁LLM大语言模型的结构化输出能力(多种实现方案)
  • AI数据分析:deepseek生成SQL
  • 力扣-动态规划-115 不同子序列
  • Qt C++ 开发 动态上下页按钮实现
  • 数据结构第五节:排序
  • 从文件到块: 提高 Hugging Face 存储效率
  • Android14 串口控制是能wifi adb实现简介
  • vue3中 组合式~测试深入组件:事件 与 $emit()
  • SQL-labs13-16闯关记录
  • 基于微信小程序的停车场管理系统的设计与实现
  • DAIR-V2X-R数据集服务器下载
  • table 拖拽移动
  • Linux使用笔记:Find Tree 命令
  • 数据结构入门篇——什么是数据结构。
  • MySQL-简介与基本命令
  • 汽车材料耐候性测试仪器-太阳光模拟器介绍
  • 音频3A测试--AEC(回声消除)测试
  • DeepSeek 助力 Vue3 开发:打造丝滑的弹性布局(Flexbox)
  • 六、Redis 高级功能详解:BitMap、HyperLogLog、Geo、Stream
  • WSL下使用git克隆失败解决
  • 【Elasticsearch】索引生命周期管理相关的操作(Index Lifecycle Actions)
  • TS的接口 泛型 自定义类型 在接口中定义一个非必须的属性