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
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的pythonlive2d_Unity-Live2D资源载入的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: B站和谐《小林家的龙女仆S》大胸妹 网友
- 下一篇: LG推出首款17寸游戏本:11代酷睿+R