[oh-my-live2d] 时隔一年我又捡起了这个项目

前言

就在一年前, 我花费了大量精力了解和学习vite4以及live2d相关知识, 并开发了我自己的第一个正儿八经的 web 开源项目: oh-my-live2d, 后来由于工作原因一直搁置着没有再去维护. 一直到前几天一个朋友加我微信说文档挂了, 我这才想起来这项目确实需要维护下了.

由于去年在做这个项目的时候我一心只想着堆功能, 所以代码层面没有考虑到维护性, 维护起来非常的费劲, 我就决定这几天将这个项目里里外外重构一遍, 与其说重构, 不如说是重写, 几乎所有模块全部重写了一遍, 目前已经重构结束, 发布到 npm 仓库了, 项目是干什么的, 我就不主要介绍了, 相信你点时开这个文档就已经一目了然了. 我主要说下怎么用, 哪些场景能用.

CDN 方式

index.html中使用下面这个脚本地址:

html 复制代码
<script src="https://cdn.jsdelivr.net/npm/oh-my-live2d/dist/index.min.js"></script>

通过 CDN 方式导入时,所有成员变量都可以在 OML2D 命名空间下被使用。

并且该方法接收一个 options 配置选项对象,示例如下:

html 复制代码
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>OhMyLive2D</title>
  </head>
  <body>
    <script src="https://cdn.jsdelivr.net/npm/oh-my-live2d/dist/index.min.js"></script>
    <script>
      OML2D.loadOml2d({
        models: [
          {
            path: "https://cdn.jsdelivr.net/gh/Eikanya/Live2d-model/Live2D/Senko_Normals/senko.model3.json",
            scale: 0.12,
            position: [-50, 50],
            stageStyle: {
              width: 320,
            },
          },
          {
            path: "https://cdn.jsdelivr.net/gh/Eikanya/Live2d-model/galgame%20live2d/Fox%20Hime%20Zero/mori_miko/mori_miko.model3.json",
            position: [50, 100],
            stageStyle: {
              width: 300,
              height: 450,
            },
          },
        ],
        tips: {
          style: {
            offsetY: 40,
          },
        },
      });
    </script>
  </body>
</html>

之后你就能看到这个效果:

包管理工具安装

sh 复制代码
npm install oh-my-live2d

ESM方式使用:

ts 复制代码
import { loadOml2d } from 'oh-my-live2d';
loadOml2d({
  models: [
    {
      path: 'https://cdn.jsdelivr.net/gh/Eikanya/Live2d-model/Live2D/Senko_Normals/senko.model3.json',
      scale: 0.12,
      position: [-50, 50],
      stageStyle: {
        width: 320
      }
    },
    {
      path: 'https://cdn.jsdelivr.net/gh/Eikanya/Live2d-model/galgame%20live2d/Fox%20Hime%20Zero/mori_miko/mori_miko.model3.json',
      position: [50, 100],
      stageStyle: {
        width: 300,
        height: 450
      }
    }
  ],
  tips: {
    style: {
      offsetY: 40
    }
  }
});

除此之外, 你还可以在vitepress中或者vuepress 中使用: 具体使用方式可以查阅:

使用效果可以参考以下站点:

项目目前处于积极维护状态, 正在寻找志同道合的朋友加入进来

仓库地址: github.com/oh-my-live2...

如果觉得好用可以点个star鼓励下, 感谢🙏

技术交流可以添加我的微信: coder7915 欢迎各位大佬随时骚扰.

相关推荐
BigTopOne4 小时前
【WebRtc】DTLS-SRTP 加密完整流程详解
前端
陈随易4 小时前
pm2 替代品,nodejs&bun 线上部署必备工具
前端·后端·程序员
单线程_014 小时前
从案例分析 Vue3 Tokenizer 源码一
前端·javascript·vue.js
BigTopOne4 小时前
【WebRtc】-ICE Candidate 与 STUN/TURN 原理详解
前端
l1258654 小时前
# LangGraph Memory机制深度解析:短期记忆与长期记忆的工程实践
前端·人工智能·python·langchain·bootstrap
码视野5 小时前
基于 Spring Boot + Vue3 的【大学英语四六级 (CET-4/6) 作文智能评分与句式润色系统】设计与实现(含PRD/三端高保真源码/大屏)
java·前端·人工智能·spring boot·后端·vue3
大模型码小白5 小时前
AI 对话流性能调优:万级消息的虚拟滚动落地
java·大数据·前端·javascript·人工智能·算法·机器学习
xm_xm_xm_16 小时前
react17版本以前类组件常用操作
前端·javascript·react.js
ly76896 小时前
Web 性能优化实战:从 Core Web Vitals 到工程化性能治理
前端·性能优化
冬奇Lab7 小时前
一天一个开源项目(第200篇):next-forge - 生产级 Next.js SaaS 启动模板
前端·前端框架·开源