UniVRM_1_0
UniVRM_1_0 copied to clipboard
[1.0draft][impliment]make Blendshape files from them belongs to BlendshapeGroup.
from https://github.com/vrm-c/vrm-specification/issues/40 1.0実装時において、文字・その長さによるエラー回避のため、 Blendshapeのファイル名をextra.targets由来でなく、所属するBlendeShapeGroup名から機械的に置換して作成する実装を提案します。 #ref https://github.com/vrm-c/vrm-specification/issues/40#issuecomment-562012058
BlendshapeGroupに含まれるblendshapeの名前をそれぞれ全部属性+indexに置換してしまうという案です。 例えば 、
{
"name": "A",
"presetName": "a",
"binds": [
{
"mesh": "0",
"index": "2",
"weight": 1.0
}, {
"mesh": "0",
"index": "9",
"weight": 1.0
}
],
"materialValues": [],
"isBinary": false
},
のような場合、 mesh : 0 のindex : 2のもののモーフターゲットの名前を(>primitives.extras.target_namesを無視して)JOY_0、9のものをJOY_1として(blendshapegroupの配列のインデックス順に命名して)unity ediorでファイル名として扱うということです。 もしくはgroup内ののモーフターゲットをすべて合成したモーフターゲットをエクスポート時に生成して、それを使うのはどうか、ということです。 ただし、一つのモーフターゲットを複数のblendshapegroupに使われたとき(例えば、”a”,"i","u","e","o"がすべて口を開いているだけの一つのモーフターゲットを指している場合等)どうするかは考えないといけない、また、再編集したい人には困るという問題があります。