pythonlive2d_Unity-Live2D资源载入

在Live2d上下载的资源模型是.cmox格式的,无法直接在unity内使用,需要在Cubism中导出成.moc文件。

1.将下载的.cmox资源直接拖入Cubism

2.导出的时候有2.0版本和3.0版本的,如图

随便哪个版本都OK,这里2.0和3.0的区别是,3.0版本导出以后的文件直接拖到unity里面会生成已有的prefab,然后模型的变量属性都可以直接在unity内就能观察到啦,不用在Cubism和unity之间来回切换。这里都可以开个testscene测试一下,我随便导了个2.0版本的。

导出以后就会生成.moc格式的文件

3.放到unit内加载可能看不到物体,需要把camera调成orthographic正交视觉,然后调整size和物体位置即可。

4.我们可以通过直接加载.moc文件载入live2d的资源,也可以把它们转换成.bytes文件再加载。

先载入命名空间,初始化以后定义变量来存储模型对象

//载入命名空间

usinglive2d;using live2d.framework;

View Code

voidStart()

{//初始化

Live2D.init();

}

View Code

private Live2DModelUnity live2dModel; //生成对象

View Code

然后思考,如果直接加载moc文件,首先我们需要获取到资源内文件的相对地址路径:

live2DModel = Live2DModelUnity.loadModel(Application.dataPath + ".moc文件的路径");

View Code

如果是用字节文件加载,这里在路径文件夹内先复制一份相对应的moc文件然后修改后缀,接着同样需要加载到文件:

TextAsset mocFile = Resources.Load(".bytes文件的路径");

live2DModel= Live2DModelUnity.loadModel(mocFile.bytes);

View Code

每次调用完live2d的资源以后需要释放资源:

Live2D.dispose(); //释放资源

View Code

接下来是与贴图建立联系,可以定义一个公有的Texture2D数组来存储live2d内的贴图资源:

public Texture2D[] textures;

View Code

初始化以后遍历就好了

for (int i = 0; i < textures.Length; i++)

{

live2DModel.setTexture(i, textures[i]);

}

View Code

5.画布+更新

private Matrix4x4 live2DCanvasPos; //建立画布

View Code

画布初始化:

float modelWidth =live2DModel.getCanvasWidth();

live2DCanvasPos= Matrix4x4.Ortho(0, modelWidth, modelWidth, 0, -50f, 50);

View Code

在update内更新模型状态:

voidUpdate () {

live2DModel.setMatrix(transform.localToWorldMatrix*live2DCanvasPos);

live2DModel.update();

}

View Code

最后绘图:

private voidOnRenderObject()

{

live2DModel.draw();

}

View Code

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

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

相关文章

C#为什么会这么慢之命运之终章-真理篇for firelong

firelong我真得希望你来看一看&#xff0c;可惜上一篇你错过了。c#会这么慢的话题却是始终充满着火药味&#xff0c;也许说真话真的很不动听&#xff0c; 可能上次的帖子firelong没看到&#xff0c;讨论C#哪能错过微软&#xff0c;.NET战略是微软当年的号称终极兵器的究级必杀技…

mysql 备份 master_如何配置MYSQL的MASTER---SLAVE复制备份?

一、配置一个mysql服务器做master&#xff1a;在配置文件my.ini中添加如下内容&#xff1a;log-binmatster-binlog-bin-indexmatster-bin.indexserver-id1master必须有一个活动的二进制日志和唯一的server-id,然后重启mysql服务器。其次&#xff0c;以root登录&#xff0c;创建…

豆瓣评分9分+,这6部经典趣味数学纪录片堪称神作!

全世界只有3.14 % 的人关注了爆炸吧知识数学是研究数量、结构、变化以及空间模型等概念的一门学科。透过抽象化和逻辑推理的使用&#xff0c;由计数、计算、量度和对物体形状及运动的观察中产生。数学家们拓展这些概念&#xff0c;为了公式化新的猜想以及从合适选定的公理及定义…

C++游戏开发需要阅读的书籍

如果要自学游戏程序开发的话&#xff0c;可以看看下面的&#xff0c;呵呵。 游戏开发资料&#xff08;PDF书都是中文版的&#xff0c;非英文&#xff0c;很多是本人自己扫描制作&#xff0c;从未网上发布过&#xff0c;所以独家啦&#xff09;&#xff1a; 1、Gamebryo 2.2游…

32位hex转浮点 python_python——int()、hex()、oct()、bin()、float()数值类型转换函数

摘要&#xff1a;在python中&#xff0c;数值类型转换函数常用的有浮点型float()、取整int()、八进制oct()、二进制bin()、十六进制hex()这五个函数。单词float的意思就是浮动的意思&#xff1b;int是单词integer整数的前三个字母&#xff1b;oct是单词八进制octal的前三个字母…

C语言运算符优先级 详细列表

优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 () 圆括号 &#xff08;表达式&#xff09;/函数名(形参表) . 成员选择&#xff08;对象&#xff09; 对象.成员名 -> 成员选择&#xff08;指针&#xff09; …

我的闪存

快速记录平时需要保存的知识点。博客园的闪存&#xff0c;能输入的内容不丰富&#xff0c;比如不能贴代码。

随机加解密java_JAVA随机数生成 Math.random和java.util.Random使用简介

一、Math.random1Math.random内部使用java.util.Random实现2 直接调用Math.random是产生一个[0&#xff0c;1)之间的随机数public static void testMathRandom() {System.out.println(Math.random());System.out.println(Math.random());}输出&#xff1a;0.97584820103710910.…

找对象不能只看TA的外表

1 别人家的小奶猫简直太萌了&#xff01;2 你为什么抱它不抱我-我不高兴&#xff01;3 这设计怎么讲4 垃圾桶是新的穿越道具&#xff01;5 找对象不能只看TA的外表6 一下都不知道要干嘛了7 在评论区大声告诉我你点的每个赞&#xff0c;我都认真当成了喜欢

locate: database too small: /var/db/locate.databas

问题&#xff1a;在freebsd下运行出现错误&#xff1a; locate: database too small: /var/db/locate.databas 解决&#xff1a;#/usr/libexec/locate.updatedb转载于:https://blog.51cto.com/ahwind/341486

一文说通异步 LINQ

用不好异步 LINQ&#xff0c;基本上就等于用不好 LINQ 了。LINQ 这个东西&#xff0c;出来很早了&#xff0c;写过几年代码的兄弟们&#xff0c;或多或少都用过一些。早期的 LINQ&#xff0c;主要是同步的&#xff0c;直到 C# 8.0 加入 IAsyncEnumerable&#xff0c;LINQ 才真正…

HDU_1541 Stars(树状数组)

poj上1A&#xff0c; HDU上6A&#xff0c;我晕啊&#xff01;注意几点&#xff1a; 1、多组数据&#xff1b; 2、memset(c, 0, siezeof(c)); 3、memset(ans, 0, sizeof(ans)); my code: View Code #include <stdio.h>#include <string.h>#define N 32010int c[N],…

点击ride界面edit空白_『技术锦囊』如何在SOLIDWORKS界面调用宏程序?

SOLIDWORKS宏程序为广大设计开发者提供了非常便捷的开发环境&#xff0c;合理的使用宏程序除了可以节约时间还可以减少很多不必要的操作&#xff0c;例如一键替换图纸等。此次便与大家讲讲&#xff0c;如何在SOLIDWORKS界面调用宏程序。操作流程1、任意开启一张工程图图纸&…

摇滚java游戏_java 集合类

一、Array &#xff0c; ArraysJava所有“存储及随机访问一连串对象”的做法&#xff0c;array是最有效率的一种。1、效率高&#xff0c;但容量固定且无法动态改变。array还有一个缺点是&#xff0c;无法判断其中实际存有多少元素&#xff0c;length只是告诉我们array的容量。2…

女人在想什么

1 行吧&#xff0c;这样至少回家不用给洗jiojio了。2 世纪难题——《女人在想什么》3 方法总比困难多4 跟瓜摊大哥学切西瓜5 你是怎样上去的&#xff1f;6 摄影师&#xff1a;我是因为没有对手才做摄影的&#xff01;7 有了女儿后&#xff0c;儿子的处境好像不太妙8 想知道白色…

linux打包压缩命令汇总

tar命令 [rootlinux ~]# tar [-cxtzjvfpPN] 文件与目录 ....参数&#xff1a;-c &#xff1a;建立一个压缩文件的参数指令(create 的意思)&#xff1b;-x &#xff1a;解开一个压缩文件的参数指令&#xff01;-t &#xff1a;查看 tarfile 里面的文件&#xff01;特别注意&…

zoj2271 Chance to Encounter a Girl(DP)

/* 概率计算&#xff1a;按时间为阶段&#xff0c;每个点由上一阶段周围的四个点来维护。 注意事项&#xff1a;1.时间O&#xff08;N^3*T&#xff09;&#xff0c;在问题的边缘时间&#xff0c;所以打表计算。     2.关于概率的求解&#xff0c;如果遇到就结束了&#…

12 个问题搞懂 Redis

都说学习需要带着问题&#xff0c;带着思考进行学习&#xff0c;下面就以问题的形式来学习下 Redis 。1、什么是 Redis &#xff1f;Redis 是一个高性能的 key-value 数据库&#xff1b;作者来自意大利西西里岛的 Salvatore Sanfilippo &#xff1b;Redis 使用 ANSI C 语言编写…

sql企业管理器_Valentina Studio for mac(开源数据库管理器)

Valentina Studio for mac是您使用MySQL&#xff0c;MariaDB&#xff0c;SQL Server&#xff0c;PostgreSQL&#xff0c;SQLite和Valentina DB数据库的通用数据库管理工具。valentina studio mac下载可让您连接所有主要数据库&#xff0c;运行查询并生成图表&#xff0c;以更好…

java程序编六角星_跨平台移动端解决方案—Weex

跨端方案背景一1起因由于客户端Webview内嵌H5的各种受限&#xff0c;例如性能差、JS执行效率低以及伴随着大量的机型兼容问题&#xff0c;于是有了各种混合跨端开发解决方案&#xff1a;Hybrid、React-Native、Weex、Flutter、小程序、快应用等。2优势我们知道各大应用市场对于…