live2d_api/get/index.php

46 lines
1.8 KiB
PHP
Raw Normal View History

2018-03-03 01:39:22 +08:00
<?php
isset($_GET['id']) ? $id = $_GET['id'] : exit('error');
require '../tools/modelList.php';
require '../tools/modelTextures.php';
2019-02-09 15:17:15 +08:00
require '../tools/jsonCompatible.php';
2018-03-03 01:39:22 +08:00
$modelList = new modelList();
$modelTextures = new modelTextures();
2019-02-09 15:17:15 +08:00
$jsonCompatible = new jsonCompatible();
2018-03-03 01:39:22 +08:00
$id = explode('-', $id);
$modelId = (int)$id[0];
$modelTexturesId = isset($id[1]) ? (int)$id[1] : 0;
$modelName = $modelList->id_to_name($modelId);
if (is_array($modelName)) {
$modelName = $modelTexturesId > 0 ? $modelName[$modelTexturesId-1] : $modelName[0];
$json = json_decode(file_get_contents('../model/'.$modelName.'/index.json'), 1);
} else {
$json = json_decode(file_get_contents('../model/'.$modelName.'/index.json'), 1);
if ($modelTexturesId > 0) {
$modelTexturesName = $modelTextures->get_name($modelName, $modelTexturesId);
if (isset($modelTexturesName)) $json['textures'] = is_array($modelTexturesName) ? $modelTexturesName : array($modelTexturesName);
}
}
2020-03-10 03:11:42 +08:00
foreach ($json['textures'] as $k => $texture)
$json['textures'][$k] = '../model/' . $modelName . '/' . $texture;
2018-03-03 01:39:22 +08:00
$json['model'] = '../model/'.$modelName.'/'.$json['model'];
if (isset($json['pose'])) $json['pose'] = '../model/'.$modelName.'/'.$json['pose'];
if (isset($json['physics'])) $json['physics'] = '../model/'.$modelName.'/'.$json['physics'];
2020-03-10 03:11:42 +08:00
if (isset($json['motions']))
foreach ($json['motions'] as $k => $v) foreach($v as $k2 => $v2) foreach ($v2 as $k3 => $motion)
if ($k3 == 'file') $json['motions'][$k][$k2][$k3] = '../model/' . $modelName . '/' . $motion;
2018-03-03 01:39:22 +08:00
2020-03-10 03:11:42 +08:00
if (isset($json['expressions']))
foreach ($json['expressions'] as $k => $v) foreach($v as $k2 => $expression)
if ($k2 == 'file') $json['expressions'][$k][$k2] = '../model/' . $modelName . '/' . $expression;
2018-03-03 01:39:22 +08:00
header("Content-type: application/json");
2019-02-09 15:17:15 +08:00
echo $jsonCompatible->json_encode($json);