vue3项目如何添加属于自己的 live2d 看板娘 (支持换模型)

news2024/11/23 7:21:19

一、效果如下,想要更加效果前往我的博客

snows_l's BLOGicon-default.png?t=O83Ahttp://124.223.41.220/

资源我放这个仓库咯, 直接拉取即可

snows_l/live2d-sourceicon-default.png?t=O83Ahttps://gitee.com/snows_l/live2d-source

二、引入(看板娘出来了)

直接在vue项目html中引入live2d的资源, 即可(想要自定义内容可以改源码), 因为我自己服务带宽不够,加载太慢咯,我自己就放本地咯。这样也方便根据自己需求修改(主要是不想花钱去托管)

代码

<!--
 * @Description: ------------ fileDescription -----------
 * @Author: snows_l snows_l@163.com
 * @Date: 2024-08-05 12:45:59
 * @LastEditors: snows_l snows_l@163.com
 * @LastEditTime: 2024-09-07 08:51:30
 * @FilePath: /BLOG/index.html
-->
<!DOCTYPE html>
<html lang="en" class="">
  <head>
    <meta charset="UTF-8" />
    <link rel="icon" href="/comm/logo.png" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>snows_l's BLOG</title>
    <script src="/live2d/TweenLite.js"></script>
    <script src="/live2d/live2dcubismcore.min.js"></script>
    <script src="/live2d/pixi.min.js"></script>
    <script src="/live2d/cubism4.min.js"></script>
    <script src="/live2d/pio.js"></script>
    <script src="/live2d/pio_sdk4.js"></script>
    <script src="/live2d/load.js"></script>
    <link rel="stylesheet" type="text/css" href="/live2d/pio.css" />

    <!-- <script src="http://124.223.41.220:3333/assets/live2d/TweenLite.js"></script>
    <script src="http://124.223.41.220:3333/assets/live2d/live2dcubismcore.min.js"></script>
    <script src="http://124.223.41.220:3333/assets/live2d/pixi.min.js"></script>
    <script src="http://124.223.41.220:3333/assets/live2d/cubism4.min.js"></script>
    <link rel="stylesheet" type="text/css" href="http://124.223.41.220:3333/assets/live2d/pio.css" />
    <script src="http://124.223.41.220:3333/assets/live2d/pio.js"></script>
    <script src="http://124.223.41.220:3333/assets/live2d/pio_sdk4.js"></script>
    <script src="http://124.223.41.220:3333/assets/live2d/load.js"></script> -->

    <!-- 引入本地 需要处理的资源 -->
    <link rel="stylesheet" type="text/css" href="/comm/main.css" />
  </head>
  <body>
    <!-- 首屏加载动画 -->
    <div id="Loading">
      <div class="text">☂ snows_l's BLOG</div>
      <img class="loading-warp" src="/comm/loading.gif" />
      <div class="loader-inner ball-beat">
        <div></div>
        <div></div>
        <div></div>
      </div>
    </div>
    <div id="app"></div>
    <script type="module" src="/src/main.ts"></script>

    <!-- 鼠标拖尾效果 引入本地, 线上宽带太低 -->
    <!-- <script src="http://124.223.41.220:3333/assets/cursor-effects.js"></script> -->
    <script src="/comm/cursor-effects.js"></script>
    <script src="/comm/main.js"></script>

    <script></script>
  </body>
</html>

三、使用的方法(让看板娘与自己的网页进行交互)

1、模型右侧的五个按钮的(首页、切换模型、关于live2d的视频、白天/夜晚模式、关闭)

如果记得不错的话我当时拿到的代码切换黑白模式在我的项目是不能用的,需要根据自己项目进行一个修改。

代码在pis.js中如下图(这也是别个大佬写的, 我只是拿过来根据自己项目修改点东西)

我当时引入后在我项目中夜间模式就不成,然后找源码,发现夜间模式执行了eval(prop.night);  night这个方法,然后找到上层,也就是load.js这个文件。如下图

其他的按钮可根据自己项目修改

2、光标移到指定元素, live2d作出交互, 模型是怎么认识指定元素并作出相应的提示的呢?

首先 找到 load.js 文件 , 发现定义了很多自定义的类名 selector, 以及 type,如下图

然后 在找到 pio.js文件, 如下图; 

模型在加载的时候拿到load.js中选择器的所有元素,当光标移到元素上的时候就会判断type, 给出对应的如上图中对应的提示。可根据自己需求进行修改。

我就出了根据我的项目修改了配置,之后直接加了一个垫底的 ,如下图

只要类名为 kbn-cuotom的元素,都会找到当前标签上的data-tip的内容进行提示,

比如我项目的设置

相信一看代码上图机会, 就不做过多解释了,效果如下(动态效果直接去我博客看效果更佳)

四、未解决的

还有一问题没有搞定, 后面接口拉取回来在渲染的dom识别不了, 但是只要点击隐藏在现实就可以了。希望各位大佬解决这个问题可以评论一下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2185468.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

查找与排序-快速排序

排序算法可以分为内部排序和外部排序&#xff0c;内部排序是数据记录在内存中进行排序&#xff0c;而外部排序是因排序的数据很大&#xff0c;一次不能容纳全部的排序记录&#xff0c;在排序过程中需要访问外存。常见的内部排序算法有&#xff1a;插入排序、希尔排序、选择排序…

高效论文写作指南:那些你必须知道的工具与平台

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 在完成论文写作过程中&#xff0c;有许多实用的工具和平台可以帮助提高效率、确保质量&#xff0c;并保持学术规范。以下是一些常用的论文写作工具和平台&#xff1a; 1. 文献管理工具…

数据网格:数据去中心化的特征

在现代的数据管理架构理念中&#xff0c;常常会谈及数据网格&#xff0c;将它用来解决大规模、复杂数据环境下的数据管理和利用问题。本文将探讨数据网格的概念以及数据去中心化和数据网格的紧密联系。 一数据网格 数据网格定义&#xff1a;数据网格将数据视为一种产品&#x…

中原台球展,2025郑州台球展会,中国台球产业链发展大会

阳春三月&#xff0c;万物复苏&#xff0c;商机无限&#xff1b;品牌宣传正当季&#xff0c;产品招商正当时&#xff0c;新品发布好时期。抓住台球发展的这波财富机遇&#xff0c;借助壹肆柒郑州台球展这个超级平台&#xff0c;将品牌和产品快速打造成为覆盖全国市场的顶流。20…

Acwing 简单博弈论

公平组合游戏ICG 若一个有限满足&#xff1a;由两名玩家交替行动&#xff1a; 在游戏进程的任意时刻&#xff1b;可以执行的合法行动与轮到哪名玩家无关&#xff1b;不能行动的玩家判负&#xff1b; 则称该游戏为一个公平组合游戏。NIM博弈属于公平组合游戏&#xff0c;但城建…

鸢尾花书实践和知识记录[编程1-11二维和三维可视化]

作者空间 文章目录 思维导图函数使用 二维可视化方案平面散点图散点图的示例代码1&#xff1a;绘制鸢尾花的散点图代码2Plotly绘制散点图 数据类型和绘图工具的对应 平面等高线代码3生成等高线网格数据 plotly.express关键的绘图函数 Plotly的另一个模块代码4 Plotly生成的 热图…

以旅游购物贸易方式报关出口的货物是什么意思

旅游购物贸易方式的定义 ‌旅游购物贸易‌是指国内外旅游者通过旅游渠道&#xff0c;携带外币现钞、外币票据入境&#xff0c;到外汇指定银行兑换成人民币&#xff0c;并在特定区域进行商品采购、报检、报关后&#xff0c;将所购货物运回国内进行销售的贸易行为。这种贸易方式通…

官方外卖霸王餐对接接口渠道如何选择?

对接官方外卖霸王餐接口渠道通常涉及以下步骤&#xff1a; 选择服务提供商&#xff1a;选择一个提供外卖霸王餐API接口服务的平台。注册与申请&#xff1a;在选定服务提供商的平台上进行注册并创建账号&#xff0c;然后提交API接口使用申请。获取接口文档和密钥&#xff1a;申…

CSS基础-常见属性

6、CSS三大特性 6.1 层叠性 如果样式发生冲突&#xff0c;则按照优先级进行覆盖。 6.2 继承性 元素自动继承其父元素、祖先元素所设置的某些元素&#xff0c;优先继承较近的元素。 6.3 优先级 6.3.1 简单分级 1、内联样式2、ID选择器3、类选择器/属性选择器4、标签名选择器/…

SpringBoot框架下的社区医院信息系统开发

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理社区医院信息平台的相关信息成为必然。开发…

钢琴灯品牌排行榜前十名有哪些?护眼灯钢琴灯品牌排行榜

钢琴灯品牌排行榜前十名有哪些&#xff1f;要说近期比较火爆的家电产品&#xff0c;那一定绕不开护眼灯钢琴灯。作为能够提高光线质量&#xff0c;帮助我们营造舒适环境的热门好物&#xff0c;其受到了很多专业人士的认可。但是作为一名专业的家电测评师&#xff0c;我想在此提…

找到字符串中第一个匹配项的下标(c语言)

1./给你两个字符串 haystack 和 needle &#xff0c;请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标&#xff08;下标从 0 开始&#xff09;。如果 needle 不是 haystack 的一部分&#xff0c;则返回 -1 。 //示例 1&#xff1a; //输入&#xff1a;haystac…

plt用数组显示图像

目录 plt.imshow实战 plt.imshow plt.imshow 可以用来显示二维数组表示的图像&#xff0c;也可以用来显示热图&#xff08;heatmap&#xff09;等。基本语法如下&#xff1a; plt.imshow(X, cmapviridis, interpolationnearest)参数说明&#xff1a; X&#xff1a;二维数组&…

基础岛第5关:XTuner微调个人小助手认知

进入开发机 克隆Tutorial仓库 mkdir -p /root/InternLM/Tutorialgit clone -b camp3 https://github.com/InternLM/Tutorial /root/InternLM/Tutorial 创建虚拟环境 在安装 XTuner 之前&#xff0c;我们需要先创建一个虚拟环境。使用 Anaconda 创建一个名为 xtuner0121 的虚拟…

工作日志:nvm版本控制遇到的一系列问题。

1、安装vue3可使用的富文本编辑器。&#xff08;https://www.wangeditor.com/v5/for-frame.html#demo-1&#xff09; npm install wangeditor/editor-for-vuenext --save2、为同时拥有两个类的元素设置样式&#xff0c;组合选择器是通过在选择器中并列写入两个类名来实现的&am…

openpnp - 执行M400命令后,超时错误的解决方法

文章目录 openpnp - 执行M400命令后&#xff0c;超时错误的解决方法概述笔记备注END openpnp - 执行M400命令后&#xff0c;超时错误的解决方法 概述 在X轴齿隙校正时&#xff0c;出现M400的命令超时错误。能重现。 查了资料&#xff0c;有人遇到过。看了github上的一个帖子(…

STM32(四)LED闪烁、流水灯及蜂鸣器操作

小节任务&#xff1a;在对GPIO函数初始化操作及配置好输入或输出模式后&#xff0c;使用GPIO的输入输出函数控制LED闪烁、流水灯及蜂鸣器操作&#xff0c;本小节先使用GPIO的四个输出函数 SetBits函数将指定端口设置为高电平 ResetBits函数将指定端口设置为低电平 WriteBit根据…

Tiny-universe手戳大模型TinyRAG--task4

TinyRAG 这个模型是基于RAG的一个简化版本&#xff0c;我们称之为Tiny-RAG。Tiny-RAG是一个基于RAG的简化版本&#xff0c;它只包含了RAG的核心功能&#xff0c;即Retrieval和Generation。Tiny-RAG的目的是为了帮助大家更好的理解RAG模型的原理和实现。 1. RAG 介绍 LLM会产…

Linux中的进程间通信之共享内存

共享内存 共享内存示意图 共享内存数据结构 struct shmid_ds {struct ipc_perm shm_perm; /* operation perms */int shm_segsz; /* size of segment (bytes) */__kernel_time_t shm_atime; /* last attach time */__kernel_time_t shm_dtime; /* last detach time */__kerne…

OpenGL笔记之事件驱动设计将相机控制类和应用程序类分离

OpenGL笔记之事件驱动设计将相机控制类和应用程序类分离 —— 2024-10-02 下午 code review! 文章目录 OpenGL笔记之事件驱动设计将相机控制类和应用程序类分离1.代码图片2.分析3.UML4.代码 1.代码图片 运行 Mouse button 1 pressed at (100, 200) Mouse dragged by (50, 50)…