我們所用到的是unity2018 和Live2d
unity和live2d可以到官網下載
live2d可以在下邊的網盤里下載
https://pan.baidu.com/s/1NsglebsyGYiRjGLAZbJEHw
提取碼:1234
下載安裝后點擊進入選擇第四個
首先我們創建一個新的專案
然后我們需要匯入三個檔案(我發到網盤里了叫live2D-SDK)
找到framework , lib , tool
把這三個檔案拖入unity(如果失敗了可以刪掉重新匯入)
然后我們下載模型
我們可以在官網下載也可以用我網盤里的
這里我們使用的就是 Epsilon
下載好后把Epsilon檔案拖入unity
我們先創一個檔案夾Scripts用來保存我們的代碼
然后在Scripts檔案夾中創建一個c#腳本我們給腳本起名為live2dModel

我們先創建一個空物體
然后起名為Live2dModel
之后把腳本拉入空物體
然后我們在unity里打開Epsilon里面的runtime檔案夾
在檔案夾的空白處右鍵點擊選中Show in explorer就會出現一個檔案夾
然后我們點擊里面的runtime檔案夾進入選中我們的模型檔案Epsilon.moc檔案
復制粘貼一份然后給復制后的檔案加上后綴bytes并且刪掉副本二字
然后我們就可以讀取檔案了
之后我們為了顯示我們的女主角所以就開始寫代碼吧
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using live2d;
public class live2Dmodel : MonoBehaviour {
public TextAsset modelFile;
// Use this for initialization
void Start () {
//初始化
Live2D.init();
//讀取模型(二進制)
TextAsset mocFile = Resources.Load<TextAsset>("Epsilon/runtime/Epsilon.moc");
Live2DModelUnity.loadModel(modelFile.bytes);
}
// Update is called once per frame
void Update () {
}
}
讀取完之后我們就可以注釋掉TextAsset 的那一行代碼了
然后我們與貼圖建立聯系和指定顯示尺寸
最終的代碼是這樣的
在這里插入代碼片using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using live2d;
public class live2dModel : MonoBehaviour {
public TextAsset modelFile;
public Texture2D[] textures;
private Live2DModelUnity live2DModel;
private Matrix4x4 live2DCanvasPos;
// Use this for initialization
void Start () {
//初始化
Live2D.init();
//讀取模型
//TextAsset modelFile = Resources.Load<TextAsset>("Epsilon/runtime/Epsilon.moc");
live2DModel = Live2DModelUnity.loadModel(modelFile.bytes);
//與貼圖建立聯系
Live2DModelUnity.loadModel(modelFile.bytes);
for (int i = 0; i < textures.Length; i++)
{
live2DModel.setTexture(i, textures[i]);
}
//指定顯示位置與尺寸(實用正交矩陣與相關API顯示影像,再由游戲物體的位置和攝像機的size調整到合適的位置)
float modelWidth = live2DModel.getCanvasWidth();
live2DCanvasPos = Matrix4x4.Ortho(0, modelWidth, modelWidth, 0, -50, 50);
}
// Update is called once per frame
void Update () {
//模型位置(矩陣形式的區域坐標轉換成世界坐標)
live2DModel.setMatrix(transform.localToWorldMatrix * live2DCanvasPos);
//更新模型定點等
live2DModel.update();
}
private void OnRenderObject()
{
live2DModel.draw();
}
}

然后我們調整一下相機和把一些東西拉入我們空物體掛的代碼里

然后運行我們的女主角就可以顯示出來了

我們的第一步就做好了
之后的部分我會慢慢更新
喜歡的可以一鍵三聯(求求你們啦!這對我真的很重要!)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/229314.html
標籤:其他
下一篇:看透確定性,拋棄確定性
