Skip to content

Commit 428eb72

Browse files
authored
SkinningNode: Fix previousBoneMatrices (#30161)
* fix previousBoneMatrices * fix no MRT
1 parent 86018eb commit 428eb72

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/nodes/accessors/SkinningNode.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ class SkinningNode extends Node {
218218

219219
const mrt = builder.renderer.getMRT();
220220

221-
return mrt && mrt.has( 'velocity' );
221+
return ( mrt && mrt.has( 'velocity' ) ) || builder.object.userData.useVelocity === true;
222222

223223
}
224224

src/nodes/lighting/ShadowNode.js

+9
Original file line numberDiff line numberDiff line change
@@ -662,12 +662,21 @@ class ShadowNode extends ShadowBaseNode {
662662
const currentRenderObjectFunction = renderer.getRenderObjectFunction();
663663
const currentMRT = renderer.getMRT();
664664

665+
const useVelocity = currentMRT ? currentMRT.has( 'velocity' ) : false;
666+
665667
renderer.setMRT( null );
666668

667669
renderer.setRenderObjectFunction( ( object, scene, _camera, geometry, material, group, ...params ) => {
668670

669671
if ( object.castShadow === true || ( object.receiveShadow && shadowType === VSMShadowMap ) ) {
670672

673+
if ( useVelocity ) {
674+
675+
object.userData = object.userData || {};
676+
object.userData.useVelocity = true;
677+
678+
}
679+
671680
object.onBeforeShadow( renderer, object, camera, shadow.camera, geometry, scene.overrideMaterial, group );
672681

673682
renderer.renderObject( object, scene, _camera, geometry, material, group, ...params );

0 commit comments

Comments
 (0)