From a4468093d90d5ce8300cce1527496ca5d6d40b08 Mon Sep 17 00:00:00 2001 From: Wyatt Gillette Date: Thu, 12 Feb 2026 09:29:16 +0100 Subject: [PATCH 1/2] Introduce cachedLocalMat and update cloning logic Added a cachedLocalMat field and updated cloneFields method. --- .../src/main/java/com/jme3/scene/SimpleBatchNode.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/jme3-core/src/main/java/com/jme3/scene/SimpleBatchNode.java b/jme3-core/src/main/java/com/jme3/scene/SimpleBatchNode.java index 426c636079..9a5a4bb8c0 100644 --- a/jme3-core/src/main/java/com/jme3/scene/SimpleBatchNode.java +++ b/jme3-core/src/main/java/com/jme3/scene/SimpleBatchNode.java @@ -47,6 +47,8 @@ */ public class SimpleBatchNode extends BatchNode { + private Matrix4f cachedLocalMat = new Matrix4f(); + public SimpleBatchNode() { super(); } @@ -73,8 +75,6 @@ protected void setTransformRefresh() { batch.geometry.setTransformRefresh(); } } - - private final Matrix4f cachedLocalMat = new Matrix4f(); @Override protected Matrix4f getTransformMatrix(Geometry g){ @@ -96,4 +96,11 @@ protected Matrix4f getTransformMatrix(Geometry g){ public void batch() { doBatch(); } + + @Override + public void cloneFields(Cloner cloner, Object original) { + super.cloneFields(cloner, original); + this.cachedLocalMat = cloner.clone(cachedLocalMat); + } + } From 49b9e716508ebf0d9c76577f67ad632349f0b8f2 Mon Sep 17 00:00:00 2001 From: Wyatt Gillette Date: Thu, 12 Feb 2026 09:33:39 +0100 Subject: [PATCH 2/2] Add Cloner import to SimpleBatchNode --- jme3-core/src/main/java/com/jme3/scene/SimpleBatchNode.java | 1 + 1 file changed, 1 insertion(+) diff --git a/jme3-core/src/main/java/com/jme3/scene/SimpleBatchNode.java b/jme3-core/src/main/java/com/jme3/scene/SimpleBatchNode.java index 9a5a4bb8c0..48a881faa9 100644 --- a/jme3-core/src/main/java/com/jme3/scene/SimpleBatchNode.java +++ b/jme3-core/src/main/java/com/jme3/scene/SimpleBatchNode.java @@ -33,6 +33,7 @@ import com.jme3.math.Matrix4f; import com.jme3.util.TempVars; +import com.jme3.util.clone.Cloner; /** *