JavaWeb项目中添加live2d模型

news2025/1/13 11:46:29

前言:之前个人博客中配置的live2d模型的API失效了,所以重新折腾了一下,在自己服务器配置了 live2d 的 API,在此记录一下

JavaWeb项目中添加live2d模型

之前在个人博客中使用的 live2d 模型一直用的是网上一个大佬免费提供的 API ,这段时间发现这个 API 失效了,模型显示不出来,所以想着在自己的服务器上配置好 live2d 看板娘需要的所有文件,实现在项目中只需要引用一个 js 文件就可以在网页上显示看板娘。

前置条件

  • 有云服务器一台,安装了宝塔面板
  • 最好有一个域名,用来创建站点

后端API搭建

首先,下载好 Live2D API 的源代码,然后在宝塔面板上创建一个新的站点,并把下载好的源代码放到网站相应目录下,如下图:

在这里插入图片描述

在网站根目录下创建一个文件夹 live2d ,里面存放相应文件

在这里插入图片描述

最后,在网站的 Nginx 配置文件中允许跨域访问:

server
{
	...
    
    # 允许 所有头部 所有域 所有方法
    add_header 'Access-Control-Allow-Origin' '*';
    add_header 'Access-Control-Allow-Headers' '*';
    add_header 'Access-Control-Allow-Methods' '*';
    # OPTIONS 直接返回204
    if ($request_method = 'OPTIONS') {
      return 204;
    }
    
    ...
}

如下图:

在这里插入图片描述

看板娘前端基本配置

首先,下载前端相应的文件 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | ,然后将文件放在前面创建的 live2d 文件夹中,如下图:

在这里插入图片描述

然后,在下载下来的前端文件夹中找到autoload.js这个文件,修改里面的两处地方
1、将 live2d_path 的值修改成我们前面创建的网站的网址 + autoload.js 在网站根目录下的位置,如下:

const live2d_path = "http://test.xiaoguantongxue.com/live2d/live2d-widget/";

2、注释掉 cdnPath 这行内容并将 apiPath 修改成前面配置好的 API 的路径,如下:

apiPath: "http://test.xiaoguantongxue.com/live2d/live2d_api/"

看板娘的前端基本配置就设置好了,看板娘前端的更多设置可以参考 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | 里面的介绍。

测试

我们随便创建一个网页,如下:

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>Hello World!!!</title>
</head>
<body>
	Live2D 看板娘 / Demo
</body>
	<!--引入看板娘-->
	<script src="http://test.xiaoguantongxue.com/live2d/live2d-widget/autoload.js"></script>
</html>

打开网页,效果如下:

在这里插入图片描述

至此,看板娘成功引入前端页面,我们可以将它内置于我们的项目中了,只需要在前端引入autoload.js文件即可。

PS:这个方法缺点也是有的,就是第一次打开网页,模型的加载速度估计会比较慢,有条件的其实可以换 cdn 进行加速。。。

参考文章:
1、服务器部署静态博客和看板娘 Live2D API
2、给你的博客加个萌萌的Live2d吧~
3、Nginx跨域配置
4、在网页中添加 Live2D 看板娘

最后

为解答疑难杂问,本人联合朋友创建了一个群聊,有什么问题可以加群提问,群聊二维码在我个人博客中查看

个人博客地址:小关同学的博客

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

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

相关文章

Mybatis 的中高级特性使用

简介&#xff1a; MyBatis 的真正强大在于它的语句映射&#xff0c;这是它的魔力所在。由于它的异常强大&#xff0c;映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比&#xff0c;你会立即发现省掉了将近 95% 的代码。MyBatis 致力于减少使用成…

小学生编程一些log

家里孩子也逐渐开始学习编程了&#xff0c;这里是一些经验积累&#xff0c;log下&#xff0c;希望能节省一些大家的探索时间&#xff1b; 方块编程 开始起手是一些scratch类的编程&#xff0c;使用方块类的&#xff0c;网课就可以&#xff0c;我这里尝试的是核桃编程&#xff…

蓝桥杯2020省赛python

蓝桥杯2020省赛Python 第一题&#xff1a;门牌制作 用了一个时间复杂度是n的算法&#xff0c;反正是填空题也不会出现TLE的事&#xff0c;只要别太离谱就行了。 利用python 的count函数 res 0 for i in range(1,2021):i str(i)res i.count(2) print(res)答案是2 第二题&…

【目标检测论文解读复现NO.26】基于改进YOLOv5s网络的实时输液监测

前言 此前出了目标改进算法专栏&#xff0c;但是对于应用于什么场景&#xff0c;需要什么改进方法对应与自己的应用场景有效果&#xff0c;并且多少改进点能发什么水平的文章&#xff0c;为解决大家的困惑&#xff0c;此系列文章旨在给大家解读最新目标检测算法论文&#xff0c…

115、【回溯算法】leetcode ——216.组合总和III:回溯法+剪枝优化(C++版本)

题目描述 原题链接&#xff1a;216.组合总和III 解题思路 整体回溯法思路类似于 77. 组合&#xff08;回溯法剪枝优化&#xff09;&#xff0c;与之不同的是&#xff0c;需要多一个相加和为n的判定条件&#xff0c;可以让每次传入数的时候进行n - i&#xff0c;直至找到n 0时…

CAPBase理论

一、CAP 理论CAP 理论指出对于一个分布式计算系统来说&#xff0c;不可能同时满足以下三点&#xff1a;一致性&#xff1a;在分布式环境中&#xff0c;一致性是指数据在多个副本之间是否能够保持一致的特性&#xff0c;等同于所有节点访问同一份最新的数据副本。在一致性的需求…

英飞凌TC3xx系列介绍01-GTM系统介绍

本文框架1. 本系列前言2. GTM模块系统介绍2.1 GTM模块常用缩略语3. 系列介绍规划1. 本系列前言 英飞凌TC3xx是英飞凌AURIX 2G系列单片机&#xff0c;该系列单片机是32位微控制器&#xff0c;具有多个TriCore CPU、程序及数据存储器、总线、中断系统、DMA及功能强大的外围设备。…

linux基本功系列之su命令

文章目录一. su命令介绍二. 语法格式及常用选项三. 参考案例3.1 切换到root用户3.2 切换到指定用户3.3 不切换成root&#xff0c;但执行root才能执行的命令总结前言&#x1f680;&#x1f680;&#x1f680; 想要学好Linux&#xff0c;命令是基本功&#xff0c;企业中常用的命令…

【MySQL】第十部分 常用的聚合函数

【MySQL】第十部分 常用的聚合函数 文章目录【MySQL】第十部分 常用的聚合函数10. 常用的聚合函数10.1 MIN和MAX函数10.2 COUNT函数10.3 AVG和SUM函数10.4 GROUP BY10.5 HAVING总结10. 常用的聚合函数 定义: 对一组数据进行汇总的函数&#xff0c;输入的是一组数据的集合&…

英语学习打卡day5

2023.1.25 1.aqua n.水;溶液;浅绿色 The construction of underground aqua storage tank 地下水储罐的建设 2.do sth for dear life 拼命做某事 If you do something for dear life, you do it with as much effort as possible, usually to avoid danger. 3. 4.swoop …

vue-grid-layout数据可视化图表面板优化过程所遇问题汇总

对于drag事件不熟悉的&#xff0c;请先阅读&#xff1a;《drag事件详解&#xff1a;html5鼠标拖动排序及resize实现方案分析及实践》之前老项目grafana面板&#xff0c;如下图所示&#xff08;GEM添加图表是直接到图表编辑&#xff0c;编辑完成后自动插入到面板最后&#xff09…

Flume集群安装部署、Kafka集群安装部署以及Maxwell安装部署实战

1、Flume集群安装部署 1.1、安装地址 Flume官网地址&#xff1a;http://flume.apache.org/文档查看地址&#xff1a;http://flume.apache.org/FlumeUserGuide.html下载地址&#xff1a;http://archive.apache.org/dist/flume/ 1.2、安装部署 将apache-flume-1.9.0-bin.tar.…

Redis实现笔记点赞排行榜 | 黑马点评-达人探店

一、发布探店笔记 探店笔记类似点评网站的评价&#xff0c;往往是图文结合。对应的表有两个 探店笔记表&#xff08;主键、商户id、用户id、标题、文字、图片、探店文字描述、点赞数量、评论数量&#xff09;评价表&#xff08;笔记的评价&#xff09;先上传图片请求一次保存…

【Java基础】--Java排序

【Java基础】--Java排序1、选择排序(Select Sort)2、冒泡排序(Bubble Sort)3、插入排序(Insert Sort)4、希尔排序(Shell Sort)5、归并排序(Merge Sort)6、快速排序(Quick Sort)7、堆排序(Heap Sort)小结待排序的元素需要实现 Java 的 Comparable 接口&#xff0c;该接口有 com…

Facebook SEO中参与度的重要性

参与度&#xff0c;也就是大家所说的浏览量&#xff0c;在 Facebook SEO中也叫做页面访问者参与度。一般来说&#xff0c; Facebook的用户在上面停留的时间越长代表着它在用户心目中的形象越好&#xff0c;这也是为什么 Facebook上的访客愿意打开自己的 Facebook页面让好友帮忙…

使用vite构建vue3项目详细介绍(ts+pinia+sass+vue-router+axios+element-plus)

使用vite构建vue3项目详细介绍(tspiniasassvue-routeraxioselement-plus) 1. 创建项目 npm init vitelatest 2. 配置 vite.config.ts path需要安装--npm install types/node --save-dev import vue from vitejs/plugin-vue; import { resolve } from path; import { defineC…

Jupyter的安装与默认目录的切换

下载与安装 清华大学开源软件镜像站 使用国内镜像下载更快&#xff0c;官网下载很慢 下载msi镜像文件&#xff0c;打开安装&#xff1a; 安装完成后得到4个文件 Reset Spyder...和Anaconda Powershell....都是相应的配置&#xff0c;其中后者是Jupyter和anaconda的dos命令窗口…

Coolify系列02-从0到1超详细手把手教你上手Coolify

重启 如果由于某种原因&#xff0c;你的实例崩溃了&#xff0c;你可以用下面的命令重新启动它: wget -q https://get.coollabs.io/coolify/install.sh \ -O install.sh; sudo bash ./install.sh -r防火墙设置 您需要在防火墙中允许以下端口 Coolify: 3000 (required)Revers…

【Mysql】Mysql的存储引擎

【Mysql】Mysql的存储引擎 文章目录【Mysql】Mysql的存储引擎1.概述2. 特点2.1 InnoDB2.2 MyISAM2.3 Memory2.4 区别3. 选择1.概述 **存储引擎&#xff1a;存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。**存储引擎是基于表的&#xff0c;而不是 基于库的&…

HTTPS工作原理详解加密(TLS握手)过程

HTTPS概念 HTTPS就是一个有安全保障的HTTP通信&#xff0c;我们都知道&#xff0c;http是明文传输的&#xff0c;http报文是人肉眼就可识别的ASCII码&#xff0c;在通信过程中&#xff0c;http报文很容易被黑客窃听、篡改、伪造&#xff0c;而在互联网交易中&#xff0c;我们必…