Live 2D 모델 파일에서 매개변수 ID 가져오기

9217 단어 Live2DUnity
일반적으로 Cubism Modeler를 통해 Live 2D의 매개변수 ID를 확인합니다.

이 ID는 새로 만들거나 편집하여 삭제할 수 있기 때문에 Live 2D 모델에 따라 분산됩니다.
모델 파일에서 매개변수 ID를 가져오는 방법은 Unity에서 사용할 수 있습니다.
API 참조에도 안 써있어서 디버깅을 했는데 w가 떨어졌어요.
SimpleModel.cs
// モデル情報からパラメータIDを取得
var paramList = live2DModel.getModelImpl().getParamDefSet().getParamDefFloatList();
foreach (var item in paramList) {
    // モデルのパラメータIDを取得
    Debug.Log(item.getParamID().ToString());
}
이걸 실행하면 이런 느낌으로 매개 변수 ID를 얻을 수 있습니다.
이번에 스타트()에 진입했다.

또한 매개 변수의 현재 값을 얻으려면 아래 코드를 사용하십시오
SimpleModel.cs
foreach(var item in paramList){
    // モデルのパラメータIDを値を取得
    Debug.Log(live2DModel.getParamFloat(item.getParamID().ToString()));
}
편집기가 확장된 경우 모델을 스크립트에 설정하기만 하면 모델에 있는 매개변수 ID를 표시할 수 있습니다.
그런 다음 드로잉 개체 ID를 가져오려면 다음 코드를 사용합니다.
SimpleModel.cs
var dataList = live2DModel.getModelImpl().getPartsDataList();
foreach (var items in dataList) {
    for (int i = 0; i < items.getDrawData().Count-1; i++) {
        Debug.Log (items.getDrawData()[i].getDrawDataID().ToString());
    }
}

드로잉 개체의 정점이나 색인을 얻으려면 다음 코드를 사용합니다.
SimpleModel.cs
// 描画オブジェクトIDから描画インデックスを取得
var drawIndex = live2DModel.getDrawDataIndex("D_FACE_001.00");
// 頂点を取得
var points = live2DModel.getTransformedPoints(drawIndex);
Debug.Log ("---------- point_num:" + points.Length + " ----------");
var pointArray = new StringBuilder();
for (int i = 0; i < points.Length; i+=2) {
    pointArray.Append("x:" + points[i] + " y:" + points[i+1] + " ");
}
Debug.Log ("<color=blue>point:" + pointArray + "</color>");

// インデックスを取得
var indices = live2DModel.getIndexArray(drawIndex);
Debug.Log ("---------- index_num:" + indices.Length + "----------");
var indexArray = new StringBuilder();
for (int i = 0; i < indices.Length; i++) {
    indexArray.Append(indices[i] + ", ");
}
Debug.Log ("<color=red>index:" + indexArray + "</color>");

색인은 Start ()일 수 있지만 정점이 On RenderObject () 또는 Update () 에 들어가지 않으면 0이 반환됩니다.
참조: Live 2D Doctorument - 정점 색인 가져오기

좋은 웹페이지 즐겨찾기