GLTF Animation - Unexpected End of JSON


#1

I have exported a short GLTF animation from Houdini 19 using the ROP GLTF Output. The animation plays back fine in a GLTF viewer like https://gltf-viewer.donmccurdy.com/ (albeit looks a bit silly given its just a 10 frame test)
However, importing into Studio I get a Unexpected End of JSON error. I’ve tried a bunch of different settings, GLBs, different models. Keep getting the same problem. Have attached the file for reference and the JSON below. Any ideas what the issue is here?

As an aside, would also love to hear any suggestions from anybody who has successfully brought simple animation into Studio from Houdini, because FBX doesn’t seem to be working either.

Thanks for the advice

{
	"asset":{
		"version":"2.0",
		"generator":"Houdini GLTF 2.0 Exporter"
	},
	"animations":[
		{
			"channels":[
				{
					"target":{
						"node":0,
						"path":"weights"
					},
					"sampler":0
				}
			],
			"samplers":[
				{
					"input":13,
					"interpolation":"LINEAR",
					"output":12
				}
			]
		}
	],
	"accessors":[
		{
			"bufferView":0,
			"componentType":5123,
			"count":1728,
			"type":"SCALAR",
			"min":[0
			],
			"max":[287
			]
		},
		{
			"bufferView":1,
			"componentType":5126,
			"count":288,
			"type":"VEC3",
			"min":[-0.75,-0.25,-0.75
			],
			"max":[0.75,0.25,0.75
			]
		},
		{
			"bufferView":2,
			"componentType":5126,
			"count":288,
			"type":"VEC2",
			"min":[1.37868213e-07,0.333333313
			],
			"max":[0.958333313,0.666666627
			]
		},
		{
			"bufferView":3,
			"componentType":5126,
			"count":288,
			"type":"VEC3",
			"min":[-1,-0.999767661,-1
			],
			"max":[1,0.999767601,1
			]
		},
		{
			"bufferView":4,
			"componentType":5126,
			"count":288,
			"type":"VEC3",
			"min":[0,-0.080646053,-0.0297809839
			],
			"max":[0,0.080646053,0.0297809839
			]
		},
		{
			"bufferView":5,
			"componentType":5126,
			"count":288,
			"type":"VEC3",
			"min":[-1.85783222e-07,-0.107528113,-0.107628092
			],
			"max":[2.00765768e-07,0.10752812,0.107628033
			]
		},
		{
			"bufferView":6,
			"componentType":5126,
			"count":288,
			"type":"VEC3",
			"min":[0,-0.28962335,-0.135326117
			],
			"max":[0,0.28962335,0.135326117
			]
		},
		{
			"bufferView":7,
			"componentType":5126,
			"count":288,
			"type":"VEC3",
			"min":[-1.45490901e-07,-0.386164576,-0.387746871
			],
			"max":[1.57673298e-07,0.386164516,0.387747079
			]
		},
		{
			"bufferView":8,
			"componentType":5126,
			"count":288,
			"type":"VEC3",
			"min":[0,-0.560387611,-0.353579998
			],
			"max":[0,0.560387611,0.353579998
			]
		},
		{
			"bufferView":9,
			"componentType":5126,
			"count":288,
			"type":"VEC3",
			"min":[-1.74767791e-07,-0.787723243,-0.788405597
			],
			"max":[2.28081277e-07,0.787723243,0.788405418
			]
		},
		{
			"bufferView":10,
			"componentType":5126,
			"count":288,
			"type":"VEC3",
			"min":[0,-0.785069108,-0.673077941
			],
			"max":[0,0.785069108,0.673077881
			]
		},
		{
			"bufferView":11,
			"componentType":5126,
			"count":288,
			"type":"VEC3",
			"min":[-1.29031562e-07,-1.20956075,-1.21059752
			],
			"max":[1.68370491e-07,1.20956075,1.21059752
			]
		},
		{
			"componentType":5126,
			"count":20,
			"type":"SCALAR",
			"sparse":{
				"count":4,
				"values":{
					"bufferView":13
				},
				"indices":{
					"bufferView":12,
					"componentType":5125
				}
			},
			"min":[0
			],
			"max":[1
			]
		},
		{
			"bufferView":14,
			"componentType":5126,
			"count":5,
			"type":"SCALAR",
			"min":[0
			],
			"max":[0.13333334
			]
		}
	],
	"buffers":[
		{
			"uri":"SpinningTorus_data.bin",
			"byteLength":40372,
			"name":"main_buffer"
		}
	],
	"bufferViews":[
		{
			"buffer":0,
			"byteLength":3456,
			"target":34963
		},
		{
			"buffer":0,
			"byteOffset":3456,
			"byteLength":3456,
			"target":34962
		},
		{
			"buffer":0,
			"byteOffset":6912,
			"byteLength":2304,
			"target":34962
		},
		{
			"buffer":0,
			"byteOffset":9216,
			"byteLength":3456,
			"target":34962
		},
		{
			"buffer":0,
			"byteOffset":12672,
			"byteLength":3456,
			"target":34962
		},
		{
			"buffer":0,
			"byteOffset":16128,
			"byteLength":3456,
			"target":34962
		},
		{
			"buffer":0,
			"byteOffset":19584,
			"byteLength":3456,
			"target":34962
		},
		{
			"buffer":0,
			"byteOffset":23040,
			"byteLength":3456,
			"target":34962
		},
		{
			"buffer":0,
			"byteOffset":26496,
			"byteLength":3456,
			"target":34962
		},
		{
			"buffer":0,
			"byteOffset":29952,
			"byteLength":3456,
			"target":34962
		},
		{
			"buffer":0,
			"byteOffset":33408,
			"byteLength":3456,
			"target":34962
		},
		{
			"buffer":0,
			"byteOffset":36864,
			"byteLength":3456,
			"target":34962
		},
		{
			"buffer":0,
			"byteOffset":40320,
			"byteLength":16
		},
		{
			"buffer":0,
			"byteOffset":40336,
			"byteLength":16
		},
		{
			"buffer":0,
			"byteOffset":40352,
			"byteLength":20
		}
	],
	"nodes":[
		{
			"name":"torus",
			"mesh":0
		}
	],
	"meshes":[
		{
			"primitives":[
				{
					"attributes":{
						"NORMAL":3,
						"TEXCOORD_0":2,
						"POSITION":1
					},
					"indices":0,
					"material":0,
					"targets":[
						{
							"NORMAL":5,
							"POSITION":4
						},
						{
							"NORMAL":7,
							"POSITION":6
						},
						{
							"NORMAL":9,
							"POSITION":8
						},
						{
							"NORMAL":11,
							"POSITION":10
						}
					]
				}
			],
			"name":"material1",
			"extras":{
				"targetNames":["","","",""
				]
			}
		}
	],
	"materials":[
		{
			"name":"principledshader",
			"pbrMetallicRoughness":{
				"baseColorFactor":[0.200000003,0,0.0864360556,1
				],
				"metallicFactor":0.280000001,
				"roughnessFactor":0.300000012,
				"baseColorTexture":{
					"index":0
				}
			}
		}
	],
	"scenes":[
		{
			"nodes":[0
			]
		}
	],
	"textures":[
		{
			"source":0
		}
	],
	"images":[
		{
			"uri":"texture.jpg",
			"mimeType":"image/jpeg"
		}
	],
	"scene":0
}