live2d C++ sdk 分析

从网上收集的live2d模型

可以自己添加新的表情/姿态,不过只能是静态(虽然可以用渐变过渡实现动态效果)

前提要下载官方live2d应用(免费版即可)

双击moc3,会在Cubism Viewer中打开(这是live2d应用附带的)。

工具函数

首先会加载各种配置文件如model3.json,以字节流的方式读取(fstream)

读取过程中若报错 Stat failed. errno:2 path,很有可能是路径中出现了中文。因为官方用的stat函数判断文件合法性,stat函数貌似无法处理中文名

MatrixManager::ScreenToScene(float *x, float *y)

计算鼠标所在位置坐标

实用函数

StartMotion( group, no, priority,s_call, f_call)

group -- 动作组名称

no -- 动作序号,即数组下标0、1、2、...

priority -- 动作优先级

选取group组中的第no号动作播放

什么是动作组?如图。优先级分4个级别,如图。

StartRandomMotion( group, priority, s_call, f_call)

播放一个动作组内的随机动作

SetExpression( expressionID )

expressionID -- 表情ID,即name

播放表情

SetDragging( x, y)

传入鼠标位置

令模型看向鼠标

相关推荐
西幻凌云4 分钟前
认识STLstack容器
c++·stl·适配器·stack·序列式容器
繁华似锦respect4 分钟前
C++ 设计模式之观察者模式详细介绍
linux·开发语言·c++·windows·观察者模式·设计模式·visual studio
威桑6 分钟前
一个 CMake 项目是否只能有一个 install 目录?
linux·c++·cmake
爪哇部落算法小助手8 分钟前
每日两题day61
数据结构·c++·算法
曼巴UE510 分钟前
UE5 C++ 多播绑定执行演示
c++·ue5
繁华似锦respect16 分钟前
C++ 自定义 String 类
服务器·开发语言·c++·哈希算法·visual studio
phdsky18 分钟前
【设计模式】工厂方法模式
c++·设计模式·工厂方法模式
2301_8079973835 分钟前
代码随想录-day54
数据结构·c++·算法
curry____30341 分钟前
study in pta + 豆包(求区间和)(前缀和算法)(如何处理zhan栈溢出和超出时间复杂度问题)(2025.12.2)
数据结构·c++·算法
BestOrNothing_201544 分钟前
【C++基础】Day 6:前置++ VS 后置++(语法底层 + STL规范 + 面试高频)
c++·运算符重载·面试八股·前置++·后置++·stl迭代器