mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-08-24 19:45:37 -05:00
fix: Use zero as view.byteOffset if view.byteOffset is null
This commit is contained in:
@@ -255,7 +255,8 @@ namespace UniVRM10
|
||||
{
|
||||
var firstAccessor = Gltf.accessors[accessorIndices[0]];
|
||||
var firstView = Gltf.bufferViews[firstAccessor.bufferView.Value];
|
||||
var start = firstView.byteOffset + firstAccessor.byteOffset;
|
||||
var firstAccessorByteOffset = firstAccessor.byteOffset.GetValueOrDefault();
|
||||
var start = firstView.byteOffset + firstAccessorByteOffset;
|
||||
var pos = start;
|
||||
foreach (var i in accessorIndices)
|
||||
{
|
||||
@@ -264,18 +265,20 @@ namespace UniVRM10
|
||||
{
|
||||
throw new ArgumentException($"accessor.type: {current.type}");
|
||||
}
|
||||
|
||||
if (firstAccessor.componentType != current.componentType)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
var view = Gltf.bufferViews[current.bufferView.Value];
|
||||
if (pos != view.byteOffset + current.byteOffset)
|
||||
var currentAccessorByteOffset = current.byteOffset.GetValueOrDefault();
|
||||
if (pos != view.byteOffset + currentAccessorByteOffset)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
var begin = view.byteOffset + current.byteOffset;
|
||||
var begin = view.byteOffset + currentAccessorByteOffset;
|
||||
var byteLength = current.CalcByteSize();
|
||||
|
||||
pos += byteLength;
|
||||
|
||||
Reference in New Issue
Block a user