vue3组件中使用live2d看板娘(仰望星空的sun)

news2024/11/27 8:23:59

文章目录

  • 前言
  • 思路和实现步骤以及遇到的问题
    • 原文章地址
    • My备份Git
  • 相关问题
  • 問題解決
    • 解決index.html中正常放入canvas問題

前言

在这里插入图片描述

因为上个官方包版的canvas总是不能按理想状态更好的控制,渲染在vue中,所以我依然想参考“仰望星空的sun”大佬的笔记以及git开源项目,但是似乎困难重重,打包后的ts被vue当做js引用后使用总会出现一些问题,雖然我最後在index.html頁面中實現自己想要的頁面效果,但是因爲不是vue組件,所以控制起來很麻煩,這裏作爲筆記留個底子

思路和实现步骤以及遇到的问题

原文章地址

live2d(Web SDK 4.x)Web看板娘进阶

My备份Git

主要用來修改樣式生成打包文件——meidou_live.js
live2d_HTML_Upgrade.git

應用meidou_live.js打包文件的地方——
live2d_HTML_Upgrade_Small.git

這個是一個初始的vue3項目,用來測試在vue3中應用情況
live2d_Temp_Vue3.git

相关问题

  1. vue3中的index.vue也可以运行,但是如果这样放置,就不能显示其他组件
    在这里插入图片描述

在这里插入图片描述

  1. 组件使用的话就是这样的,最大的問題是ts打包前的代碼是這樣的,所以讀取不了,因爲獲取不了vue的canvas
    在这里插入图片描述
<template>
  <canvas ref="canvas" width="280" height="250" class="live2d">fdsf</canvas>
  <div ref="test">ff</div>
</template>

<script>
import '../public/js/meidou_live2d'
import '../public/js/live2dcubismcore'
import '../public/js/waifu-tips'

export default {
  mounted() {
    const canvas = this.$refs.canvas;
    console.log(canvas)

    const script = document.createElement("script");
    script.src = "../public/js/waifu-tips.js";
    document.body.appendChild(script);

    const modulesPath = '/live2d_HTML_Upgrade_Small/live2d/models/';
    const modelNames = ['SDwhite cat free'];
    const waifuTipsUrl = '/live2d_HTML_Upgrade_Small/live2d/assets/waifu-tips.json';
    script.onload = () => {
      initModel(modulesPath, modelNames, waifuTipsUrl);
    };
  },
};
</script>

  1. 雖然index.html這個方案可以使用,但是這個方案有些模型卻讀取不了,會導致createModel error,而且因爲是index引入的,所以在vue項目中,并不能很好的控制model的顯示和隱藏,他只是一個html標簽

問題解決

解決index.html中正常放入canvas問題

在这里插入图片描述

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>TypeScript HTML App</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- Pollyfill script -->
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.min.js"></script>

    <script src="public/js/live2dcubismcore.js"></script>
    <script src="public/js/meidou_live2d.js"></script>
    <script src="public/js/waifu-tips.js"></script>
</head>

<body>

  <div id="app"></div>
  <canvas id="live2d" width="280" height="250" class="live2d">fdsf</canvas>
  <script type="module" src="/src/main.js"></script>


  <script type="text/javascript">
      //必选参数
      let modulesPath = "/live2d_HTML_Upgrade_Small/live2d/models/"
      // let modelNames = ['a','b']  //注意,这里的名字是存放你模型文件的主目录的名字,目录中的moc3.json文件的名字一定要与目录同名
      // let modelNames = ['mia1']  //注意,这里的名字是存放你模型文件的主目录的名字,目录中的moc3.json文件的名字一定要与目录同名
      let modelNames = ['SDwhite cat free']  //注意,这里的名字是存放你模型文件的主目录的名字,目录中的moc3.json文件的名字一定要与目录同名
      // let modelNames = ['llny']  //注意,这里的名字是存放你模型文件的主目录的名字,目录中的moc3.json文件的名字一定要与目录同名
      //可选参数
      let waifuTipsUrl = "/live2d_HTML_Upgrade_Small/live2d/assets/waifu-tips.json"

      initModel(modulesPath,modelNames,waifuTipsUrl);
  </script>
</body>
</html>

在这里插入图片描述

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

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

相关文章

Echarts 修改背景颜色、全屏自适应屏幕

修改背景色&#xff1a; 全屏自适应屏幕 首先拿到外面的div的高度 通过DOM获取clientHeight即为无论全屏与否都是DIV的整个高度 在通过高度去做自适应就好了

Spring Boot Helper插件免费版的下载

在使用idea的社区版的时候&#xff0c;我们创建springboot项目就要下载springboot helper插件&#xff0c;下载是很简单&#xff0c;但是呢&#xff0c;有一个问题就是&#xff1a; 可以看到它是收费的&#xff0c;要想免费创建spring boot项目那么我们第一可以采用网页版创建&…

纯干货!!!Java后端技术清单(附图)

分享一份最新的Java后端开发技能清单&#xff0c;可根据自身情况以及岗位招聘要求做动态调整&#xff0c;核心思想就是尽可能满足岗位招聘的所有技能要求。 Java后端技术清单: 1.计算机基础:熟练掌握计算机网络、数据结构和算法、操作系统&#xff0c;了解计算机组成原理。 …

❤️创意网页:制作一个绚丽的烟花效果(HTML、CSS和JavaScript实现)

✨博主&#xff1a;命运之光 &#x1f338;专栏&#xff1a;Python星辰秘典 &#x1f433;专栏&#xff1a;web开发&#xff08;简单好用又好看&#xff09; ❤️专栏&#xff1a;Java经典程序设计 ☀️博主的其他文章&#xff1a;点击进入博主的主页 前言&#xff1a;欢迎踏入…

Hutool——国产良心工具包,让你的java变得更甜

目录 1. 基础工具 1.1 日期时间处理 1.2 I/O 1.3 字符串处理 1.4 集合框架 1.5 常见业务 2. 定时任务 3. 验证码 4. 缓存 5. Excel操作 6. Http请求 7. 加密 7.1 加密和解密 7.2 签名和验签 8. 其他说明 8.1 引入Hutool Hutool是国内程序员在工作中总结和积累而…

## 流体力学或湍流理论中壁函数(wall function)

流体力学或湍流理论中壁函数&#xff08;wall function&#xff09; 一、壁函数&#xff08;wall function&#xff09;概念 在流体力学或湍流理论中&#xff0c;壁函数是基于壁定律得到的无量纲速度 u u^ u与无量纲壁距 y y^ y之间的函数关系。 在对数层区域&#xff0c;速…

SAHI: Slicing Aided Hyper Inference

SAHI是一个用于大规模目标检测和实例分割的轻量级视觉库 概述 目标检测和实例分割是目前计算机视中最重要的应用领域。然而&#xff0c;在实际应中&#xff0c;小目标的检测和大图像上的推理仍然是主要的问题&#xff0c;SAHI 来帮助开发人员用许多视觉实用工具克服这些现实世…

破案了,c知道就是套壳chatgpt

不过也是好事儿&#xff0c;国内不用魔法也可以用gpt了&#xff0c;比一些公司硬要自己开发二流产品强多了

超牛逼黑客帝国代码雨,装X必用

html 1.用法 在电脑桌面新建一个文本文档&#xff0c;然后将代码复制到文本文档里&#xff0c;再将后缀改为".html"。 2.效果图 <!DOCTYPE html> <html> <head><title>黑客帝国代码雨</title> </head><body> <can…

Grafana中table的使用技巧

将多个指标数据显示在同一个Table中&#xff0c;需要用到Transform功能&#xff0c;利用Transform功能可以将数据进行处理只显示想要的数据&#xff1a;

OA低代码平台为企业踏出信息化系统第一步

随着互联网不断的发展&#xff0c;传统的管理模式已经快速进入淘汰的阶段。在这个快速发展的社会&#xff0c;企业若想快速高效的运营&#xff0c;必须踏出第一步改变—信息化系统。对于一个企业而言&#xff0c;企业员工是办公自动化&#xff08;简称OA&#xff09;生存的根本…

OpenCV for Python 第六天:图像的加法运算和加法加权运算

上一篇博客当中&#xff0c;我们认识了如何获取图片的属性&#xff0c;那么这一篇博客我们就来了解一下有关图像的加法和位运算是什么样的&#xff0c;并通过这些运算完成图片的相关操作 文章目录 加法运算cv2.add()cv2.addWeighted()基础操作符 add() 与基础操作符 的对比 每日…

【golang】12、gin 源码解析

文章目录 快速使用返回响应路由匹配pathqueryMultipart/Urlencoded Form 解析请求MultipartFrom MiddleWare github.com/gin-gonic/gin 是 golang 的 web 框架&#xff0c;其用字典树做路由匹配、支持中间件&#xff0c;本文介绍其源码实现。 快速使用 package mainimport (&…

C语言字符串函数学习

前面已经学习了strcpy和strcmp函数&#xff1b;下面继续学习其他的字符串函数&#xff1b; strcat(字符数组1&#xff0c;字符数组2) 字符串连接 把两个字符数组中的字符串连接起来&#xff0c;把字符串2连接到字符串1的后面&#xff0c;结果放在字符数组1中&#xff1b; …

Microsoft Outlook如何撤回已发送的邮件?

打开想要撤回的邮件→More Move Actions→Recall This Message→成功撤回的前提是对方尚未阅读此邮件

vs Qt工程界面无法使用中文,报编译错误问题解决方案

vs Qt工程界面无法使用中文&#xff0c;报编译错误问题解决方案 若基于visual studio 开发Qt 界面程序时&#xff0c;若想界面显示中文时&#xff0c;如设置按钮文字为“按钮”&#xff0c;编译时报错&#xff0c;如")"&#xff0c;这个是由于文件编码问题 1. 可以…

Prompt 技巧指南-让 ChatGPT 回答更准确

随着 ChatGPT 等大型语言模型 (LLM)的兴起&#xff0c;人们慢慢发现&#xff0c;怎么样向 LLM 提问、以什么技巧提问&#xff0c;是获得更加准确的回答的关键&#xff0c;也由此产生了提示工程这个全新的领域。 提示工程(prompt engineering)是一门相对较新的领域&#xff0c;用…

Milk-V Duo开发板之TF扩容

起因 开发板正式进入系统后&#xff0c;然后通过SSH的方案登录进入&#xff0c;进入以后&#xff0c;使用df -h命令查看&#xff0c;会发现ROOTFS的容量仅仅只有245.9MB&#xff0c;而我们的boot分区的容量也不过128MB&#xff0c;那么我的TF卡一共32GB&#xff0c;剩下的容量…

windows mysql 自动启动bat脚本

上一篇&#xff1a;windows mysql服务自动启动 错误模块名称:ntdll.dll_csdn_aspnet的博客-CSDN博客 根据上一篇文章进行手动启动mysql服务补充&#xff0c;由于演示机器系统安装的为win11家庭版&#xff0c;为了安全起见&#xff0c;在项目演示期间&#xff0c;避免数据库使用…

基于 Junit 的接口自动化测试框架实现

目录 前言&#xff1a; 分层的自动化测试 接口测试的意义 接口测试框架选型 我们封装的接口测试框架 接口测试关键实践 测试代码规范 (仅供参考) 前言&#xff1a; 基于JUnit的接口自动化测试框架可以实现对接口进行自动化测试&#xff0c;并提供了丰富的断言和报告功能…