Skip to content

Commit 3c826b2

Browse files
authored
Merge pull request #1436 from johnhaddon/facevaryingSkinningFix
USD PrimitiveAlgo : Fix crash loading skinned facevarying normals
2 parents 534d0c5 + 96ac74c commit 3c826b2

File tree

3 files changed

+12
-7
lines changed

3 files changed

+12
-7
lines changed

Changes

+3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
10.5.x.x (relative to 10.5.9.4)
22
========
33

4+
Fixes
5+
-----
46

7+
- USDScene : Fixed crash loading skinned facevarying normals (bug introduced in 10.5.9.3).
58

69
10.5.9.4 (relative to 10.5.9.3)
710
========

contrib/IECoreUSD/src/IECoreUSD/PrimitiveAlgo.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ bool computeFaceVaryingSkinnedNormals( pxr::UsdSkelSkinningQuery &skinningQuery,
351351

352352
Canceller::check( canceller );
353353
pxr::VtArray<pxr::GfMatrix3d> invTransposeXforms( orderedXforms.size() );
354-
for( size_t i = 0; i < xforms.size(); ++i )
354+
for( size_t i = 0; i < orderedXforms.size(); ++i )
355355
{
356356
invTransposeXforms[i] = orderedXforms[i].ExtractRotationMatrix().GetInverse().GetTranspose();
357357
}

contrib/IECoreUSD/test/IECoreUSD/data/skinnedFaceVaryingNormals.usda

+8-6
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
(
33
defaultPrim = "main"
44
metersPerUnit = 0.01
5+
startTimeCode = 1
6+
endTimeCode = 24
57
upAxis = "Y"
68
)
79

@@ -33,11 +35,11 @@ def SkelRoot "main" (
3335
interpolation = "vertex"
3436
)
3537
uniform token[] skel:joints = ["joint1"]
36-
rel skel:skeleton = </main/joint1>
38+
rel skel:skeleton = </main/skel>
3739
uniform token subdivisionScheme = "none"
3840
}
3941

40-
def Skeleton "joint1" (
42+
def Skeleton "skel" (
4143
prepend apiSchemas = ["SkelBindingAPI"]
4244
customData = {
4345
dictionary Maya = {
@@ -46,10 +48,10 @@ def SkelRoot "main" (
4648
}
4749
)
4850
{
49-
uniform matrix4d[] bindTransforms = [( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1) )]
50-
uniform token[] joints = ["joint1"]
51-
uniform matrix4d[] restTransforms = [( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1) )]
52-
rel skel:animationSource = </main/joint1/anim>
51+
uniform matrix4d[] bindTransforms = [( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1) ), ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1) )]
52+
uniform token[] joints = ["joint1", "joint2"]
53+
uniform matrix4d[] restTransforms = [( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1) ), ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1) )]
54+
rel skel:animationSource = </main/skel/anim>
5355

5456
def SkelAnimation "anim"
5557
{

0 commit comments

Comments
 (0)