diff --git a/assets/imported/models/ausdauertrank.glb b/assets/imported/models/ausdauertrank.glb new file mode 100644 index 0000000..df72cbc Binary files /dev/null and b/assets/imported/models/ausdauertrank.glb differ diff --git a/assets/imported/models/flasche.glb b/assets/imported/models/flasche.glb new file mode 100644 index 0000000..6254fe6 Binary files /dev/null and b/assets/imported/models/flasche.glb differ diff --git a/assets/imported/models/heiltrank.glb b/assets/imported/models/heiltrank.glb new file mode 100644 index 0000000..0dd900b Binary files /dev/null and b/assets/imported/models/heiltrank.glb differ diff --git a/assets/imported/models/manatrank.glb b/assets/imported/models/manatrank.glb new file mode 100644 index 0000000..a504c95 Binary files /dev/null and b/assets/imported/models/manatrank.glb differ diff --git a/assets/imported/models/schwacherausdauertrank.glb b/assets/imported/models/schwacherausdauertrank.glb new file mode 100644 index 0000000..6c0bf21 Binary files /dev/null and b/assets/imported/models/schwacherausdauertrank.glb differ diff --git a/assets/imported/models/schwacherheiltrank.glb b/assets/imported/models/schwacherheiltrank.glb new file mode 100644 index 0000000..deb3732 Binary files /dev/null and b/assets/imported/models/schwacherheiltrank.glb differ diff --git a/assets/imported/models/schwachermanatrank.glb b/assets/imported/models/schwachermanatrank.glb new file mode 100644 index 0000000..dda7048 Binary files /dev/null and b/assets/imported/models/schwachermanatrank.glb differ diff --git a/assets/imported/models/starkerausdauertrank.glb b/assets/imported/models/starkerausdauertrank.glb new file mode 100644 index 0000000..716c5b6 Binary files /dev/null and b/assets/imported/models/starkerausdauertrank.glb differ diff --git a/assets/imported/models/starkerheiltrank.glb b/assets/imported/models/starkerheiltrank.glb new file mode 100644 index 0000000..c6b16b2 Binary files /dev/null and b/assets/imported/models/starkerheiltrank.glb differ diff --git a/assets/imported/models/starkermanatrank.glb b/assets/imported/models/starkermanatrank.glb new file mode 100644 index 0000000..1928615 Binary files /dev/null and b/assets/imported/models/starkermanatrank.glb differ diff --git a/blight-assets/src/main/resources/.thumbnails/Models/imported/ausdauertrank.j3o.thumb.png b/blight-assets/src/main/resources/.thumbnails/Models/imported/ausdauertrank.j3o.thumb.png new file mode 100644 index 0000000..d59c9dc Binary files /dev/null and b/blight-assets/src/main/resources/.thumbnails/Models/imported/ausdauertrank.j3o.thumb.png differ diff --git a/blight-assets/src/main/resources/.thumbnails/Models/imported/flasche.j3o.thumb.png b/blight-assets/src/main/resources/.thumbnails/Models/imported/flasche.j3o.thumb.png new file mode 100644 index 0000000..432ac36 Binary files /dev/null and b/blight-assets/src/main/resources/.thumbnails/Models/imported/flasche.j3o.thumb.png differ diff --git a/blight-assets/src/main/resources/.thumbnails/Models/imported/heiltrank.j3o.thumb.png b/blight-assets/src/main/resources/.thumbnails/Models/imported/heiltrank.j3o.thumb.png new file mode 100644 index 0000000..b60eff8 Binary files /dev/null and b/blight-assets/src/main/resources/.thumbnails/Models/imported/heiltrank.j3o.thumb.png differ diff --git a/blight-assets/src/main/resources/.thumbnails/Models/imported/manatrank.j3o.thumb.png b/blight-assets/src/main/resources/.thumbnails/Models/imported/manatrank.j3o.thumb.png new file mode 100644 index 0000000..15d8577 Binary files /dev/null and b/blight-assets/src/main/resources/.thumbnails/Models/imported/manatrank.j3o.thumb.png differ diff --git a/blight-assets/src/main/resources/.thumbnails/Models/imported/schwacherausdauertrank.j3o.thumb.png b/blight-assets/src/main/resources/.thumbnails/Models/imported/schwacherausdauertrank.j3o.thumb.png new file mode 100644 index 0000000..b07547b Binary files /dev/null and b/blight-assets/src/main/resources/.thumbnails/Models/imported/schwacherausdauertrank.j3o.thumb.png differ diff --git a/blight-assets/src/main/resources/.thumbnails/Models/imported/schwacherheiltrank.j3o.thumb.png b/blight-assets/src/main/resources/.thumbnails/Models/imported/schwacherheiltrank.j3o.thumb.png new file mode 100644 index 0000000..365eba6 Binary files /dev/null and b/blight-assets/src/main/resources/.thumbnails/Models/imported/schwacherheiltrank.j3o.thumb.png differ diff --git a/blight-assets/src/main/resources/.thumbnails/Models/imported/schwachermanatrank.j3o.thumb.png b/blight-assets/src/main/resources/.thumbnails/Models/imported/schwachermanatrank.j3o.thumb.png new file mode 100644 index 0000000..9e3684e Binary files /dev/null and b/blight-assets/src/main/resources/.thumbnails/Models/imported/schwachermanatrank.j3o.thumb.png differ diff --git a/blight-assets/src/main/resources/.thumbnails/Models/imported/starkerausdauertrank.j3o.thumb.png b/blight-assets/src/main/resources/.thumbnails/Models/imported/starkerausdauertrank.j3o.thumb.png new file mode 100644 index 0000000..a7746ca Binary files /dev/null and b/blight-assets/src/main/resources/.thumbnails/Models/imported/starkerausdauertrank.j3o.thumb.png differ diff --git a/blight-assets/src/main/resources/.thumbnails/Models/imported/starkerheiltrank.j3o.thumb.png b/blight-assets/src/main/resources/.thumbnails/Models/imported/starkerheiltrank.j3o.thumb.png new file mode 100644 index 0000000..21d227b Binary files /dev/null and b/blight-assets/src/main/resources/.thumbnails/Models/imported/starkerheiltrank.j3o.thumb.png differ diff --git a/blight-assets/src/main/resources/.thumbnails/Models/imported/starkermanatrank.j3o.thumb.png b/blight-assets/src/main/resources/.thumbnails/Models/imported/starkermanatrank.j3o.thumb.png new file mode 100644 index 0000000..c18add5 Binary files /dev/null and b/blight-assets/src/main/resources/.thumbnails/Models/imported/starkermanatrank.j3o.thumb.png differ diff --git a/blight-assets/src/main/resources/Models/imported/ausdauertrank.j3o.meta b/blight-assets/src/main/resources/Models/imported/ausdauertrank.j3o.meta new file mode 100644 index 0000000..9af655d --- /dev/null +++ b/blight-assets/src/main/resources/Models/imported/ausdauertrank.j3o.meta @@ -0,0 +1,28 @@ +#Wed Jul 22 21:34:49 CEST 2026 +attachedEmitters.count=0 +attachedLights.count=0 +castShadow=true +category= +cullDistance=120.0 +footstepSurface= +interactableOffsetX=0.0 +interactableOffsetY=0.5 +interactableOffsetZ=0.0 +interactableRotY=0.0 +interactableType=NONE +lod1Distance=30.0 +lod1Path= +lod2Distance=80.0 +lod2Path= +name=ausdauertrank +pivotOffsetY=0.0 +placementOffsetY=0.0 +randomScaleMax=1.0 +randomScaleMin=1.0 +receiveShadow=true +scaleX=1.0 +scaleY=1.0 +scaleZ=1.0 +solid=false +tags= +uniformScale=true diff --git a/blight-assets/src/main/resources/Models/imported/flasche.j3o b/blight-assets/src/main/resources/Models/imported/flasche.j3o new file mode 100644 index 0000000..a66c9fa Binary files /dev/null and b/blight-assets/src/main/resources/Models/imported/flasche.j3o differ diff --git a/blight-assets/src/main/resources/Models/imported/flasche.j3o.meta b/blight-assets/src/main/resources/Models/imported/flasche.j3o.meta new file mode 100644 index 0000000..fc033d8 --- /dev/null +++ b/blight-assets/src/main/resources/Models/imported/flasche.j3o.meta @@ -0,0 +1,28 @@ +#Wed Jul 22 21:34:54 CEST 2026 +attachedEmitters.count=0 +attachedLights.count=0 +castShadow=true +category= +cullDistance=120.0 +footstepSurface= +interactableOffsetX=0.0 +interactableOffsetY=0.5 +interactableOffsetZ=0.0 +interactableRotY=0.0 +interactableType=NONE +lod1Distance=30.0 +lod1Path= +lod2Distance=80.0 +lod2Path= +name=flasche +pivotOffsetY=0.0 +placementOffsetY=0.0 +randomScaleMax=1.0 +randomScaleMin=1.0 +receiveShadow=true +scaleX=1.0 +scaleY=1.0 +scaleZ=1.0 +solid=false +tags= +uniformScale=true diff --git a/blight-assets/src/main/resources/Models/imported/heiltrank.j3o.meta b/blight-assets/src/main/resources/Models/imported/heiltrank.j3o.meta new file mode 100644 index 0000000..ef231b8 --- /dev/null +++ b/blight-assets/src/main/resources/Models/imported/heiltrank.j3o.meta @@ -0,0 +1,28 @@ +#Wed Jul 22 21:34:58 CEST 2026 +attachedEmitters.count=0 +attachedLights.count=0 +castShadow=true +category= +cullDistance=120.0 +footstepSurface= +interactableOffsetX=0.0 +interactableOffsetY=0.5 +interactableOffsetZ=0.0 +interactableRotY=0.0 +interactableType=NONE +lod1Distance=30.0 +lod1Path= +lod2Distance=80.0 +lod2Path= +name=heiltrank +pivotOffsetY=0.0 +placementOffsetY=0.0 +randomScaleMax=1.0 +randomScaleMin=1.0 +receiveShadow=true +scaleX=1.0 +scaleY=1.0 +scaleZ=1.0 +solid=false +tags= +uniformScale=true diff --git a/blight-assets/src/main/resources/Models/imported/manatrank.j3o.meta b/blight-assets/src/main/resources/Models/imported/manatrank.j3o.meta new file mode 100644 index 0000000..f98a397 --- /dev/null +++ b/blight-assets/src/main/resources/Models/imported/manatrank.j3o.meta @@ -0,0 +1,28 @@ +#Wed Jul 22 21:35:03 CEST 2026 +attachedEmitters.count=0 +attachedLights.count=0 +castShadow=true +category= +cullDistance=120.0 +footstepSurface= +interactableOffsetX=0.0 +interactableOffsetY=0.5 +interactableOffsetZ=0.0 +interactableRotY=0.0 +interactableType=NONE +lod1Distance=30.0 +lod1Path= +lod2Distance=80.0 +lod2Path= +name=manatrank +pivotOffsetY=0.0 +placementOffsetY=0.0 +randomScaleMax=1.0 +randomScaleMin=1.0 +receiveShadow=true +scaleX=1.0 +scaleY=1.0 +scaleZ=1.0 +solid=false +tags= +uniformScale=true diff --git a/blight-assets/src/main/resources/Models/imported/schwacherausdauertrank.j3o.meta b/blight-assets/src/main/resources/Models/imported/schwacherausdauertrank.j3o.meta new file mode 100644 index 0000000..2688b56 --- /dev/null +++ b/blight-assets/src/main/resources/Models/imported/schwacherausdauertrank.j3o.meta @@ -0,0 +1,28 @@ +#Wed Jul 22 21:35:07 CEST 2026 +attachedEmitters.count=0 +attachedLights.count=0 +castShadow=true +category= +cullDistance=120.0 +footstepSurface= +interactableOffsetX=0.0 +interactableOffsetY=0.5 +interactableOffsetZ=0.0 +interactableRotY=0.0 +interactableType=NONE +lod1Distance=30.0 +lod1Path= +lod2Distance=80.0 +lod2Path= +name=schwacherausdauertrank +pivotOffsetY=0.0 +placementOffsetY=0.0 +randomScaleMax=1.0 +randomScaleMin=1.0 +receiveShadow=true +scaleX=1.0 +scaleY=1.0 +scaleZ=1.0 +solid=false +tags= +uniformScale=true diff --git a/blight-assets/src/main/resources/Models/imported/schwacherheiltrank.j3o.meta b/blight-assets/src/main/resources/Models/imported/schwacherheiltrank.j3o.meta new file mode 100644 index 0000000..7eed5fa --- /dev/null +++ b/blight-assets/src/main/resources/Models/imported/schwacherheiltrank.j3o.meta @@ -0,0 +1,28 @@ +#Wed Jul 22 21:35:11 CEST 2026 +attachedEmitters.count=0 +attachedLights.count=0 +castShadow=true +category= +cullDistance=120.0 +footstepSurface= +interactableOffsetX=0.0 +interactableOffsetY=0.5 +interactableOffsetZ=0.0 +interactableRotY=0.0 +interactableType=NONE +lod1Distance=30.0 +lod1Path= +lod2Distance=80.0 +lod2Path= +name=schwacherheiltrank +pivotOffsetY=0.0 +placementOffsetY=0.0 +randomScaleMax=1.0 +randomScaleMin=1.0 +receiveShadow=true +scaleX=1.0 +scaleY=1.0 +scaleZ=1.0 +solid=false +tags= +uniformScale=true diff --git a/blight-assets/src/main/resources/Models/imported/schwachermanatrank.j3o.meta b/blight-assets/src/main/resources/Models/imported/schwachermanatrank.j3o.meta new file mode 100644 index 0000000..5e38d9d --- /dev/null +++ b/blight-assets/src/main/resources/Models/imported/schwachermanatrank.j3o.meta @@ -0,0 +1,28 @@ +#Wed Jul 22 21:35:15 CEST 2026 +attachedEmitters.count=0 +attachedLights.count=0 +castShadow=true +category= +cullDistance=120.0 +footstepSurface= +interactableOffsetX=0.0 +interactableOffsetY=0.5 +interactableOffsetZ=0.0 +interactableRotY=0.0 +interactableType=NONE +lod1Distance=30.0 +lod1Path= +lod2Distance=80.0 +lod2Path= +name=schwachermanatrank +pivotOffsetY=0.0 +placementOffsetY=0.0 +randomScaleMax=1.0 +randomScaleMin=1.0 +receiveShadow=true +scaleX=1.0 +scaleY=1.0 +scaleZ=1.0 +solid=false +tags= +uniformScale=true diff --git a/blight-assets/src/main/resources/Models/imported/starkerausdauertrank.j3o.meta b/blight-assets/src/main/resources/Models/imported/starkerausdauertrank.j3o.meta new file mode 100644 index 0000000..124cf32 --- /dev/null +++ b/blight-assets/src/main/resources/Models/imported/starkerausdauertrank.j3o.meta @@ -0,0 +1,28 @@ +#Wed Jul 22 21:35:19 CEST 2026 +attachedEmitters.count=0 +attachedLights.count=0 +castShadow=true +category= +cullDistance=120.0 +footstepSurface= +interactableOffsetX=0.0 +interactableOffsetY=0.5 +interactableOffsetZ=0.0 +interactableRotY=0.0 +interactableType=NONE +lod1Distance=30.0 +lod1Path= +lod2Distance=80.0 +lod2Path= +name=starkerausdauertrank +pivotOffsetY=0.0 +placementOffsetY=0.0 +randomScaleMax=1.0 +randomScaleMin=1.0 +receiveShadow=true +scaleX=1.0 +scaleY=1.0 +scaleZ=1.0 +solid=false +tags= +uniformScale=true diff --git a/blight-assets/src/main/resources/Models/imported/starkerheiltrank.j3o.meta b/blight-assets/src/main/resources/Models/imported/starkerheiltrank.j3o.meta new file mode 100644 index 0000000..b0745c3 --- /dev/null +++ b/blight-assets/src/main/resources/Models/imported/starkerheiltrank.j3o.meta @@ -0,0 +1,28 @@ +#Wed Jul 22 21:35:23 CEST 2026 +attachedEmitters.count=0 +attachedLights.count=0 +castShadow=true +category= +cullDistance=120.0 +footstepSurface= +interactableOffsetX=0.0 +interactableOffsetY=0.5 +interactableOffsetZ=0.0 +interactableRotY=0.0 +interactableType=NONE +lod1Distance=30.0 +lod1Path= +lod2Distance=80.0 +lod2Path= +name=starkerheiltrank +pivotOffsetY=0.0 +placementOffsetY=0.0 +randomScaleMax=1.0 +randomScaleMin=1.0 +receiveShadow=true +scaleX=1.0 +scaleY=1.0 +scaleZ=1.0 +solid=false +tags= +uniformScale=true diff --git a/blight-assets/src/main/resources/Models/imported/starkermanatrank.j3o.meta b/blight-assets/src/main/resources/Models/imported/starkermanatrank.j3o.meta new file mode 100644 index 0000000..ee635a6 --- /dev/null +++ b/blight-assets/src/main/resources/Models/imported/starkermanatrank.j3o.meta @@ -0,0 +1,28 @@ +#Wed Jul 22 21:35:26 CEST 2026 +attachedEmitters.count=0 +attachedLights.count=0 +castShadow=true +category= +cullDistance=120.0 +footstepSurface= +interactableOffsetX=0.0 +interactableOffsetY=0.5 +interactableOffsetZ=0.0 +interactableRotY=0.0 +interactableType=NONE +lod1Distance=30.0 +lod1Path= +lod2Distance=80.0 +lod2Path= +name=starkermanatrank +pivotOffsetY=0.0 +placementOffsetY=0.0 +randomScaleMax=1.0 +randomScaleMin=1.0 +receiveShadow=true +scaleX=1.0 +scaleY=1.0 +scaleZ=1.0 +solid=false +tags= +uniformScale=true diff --git a/blight-assets/src/main/resources/Models/traenke/ausdauertrank.j3o b/blight-assets/src/main/resources/Models/traenke/ausdauertrank.j3o new file mode 100644 index 0000000..80f46d0 Binary files /dev/null and b/blight-assets/src/main/resources/Models/traenke/ausdauertrank.j3o differ diff --git a/blight-assets/src/main/resources/Models/traenke/heiltrank.j3o b/blight-assets/src/main/resources/Models/traenke/heiltrank.j3o new file mode 100644 index 0000000..abf6916 Binary files /dev/null and b/blight-assets/src/main/resources/Models/traenke/heiltrank.j3o differ diff --git a/blight-assets/src/main/resources/Models/traenke/manatrank.j3o b/blight-assets/src/main/resources/Models/traenke/manatrank.j3o new file mode 100644 index 0000000..1a41a92 Binary files /dev/null and b/blight-assets/src/main/resources/Models/traenke/manatrank.j3o differ diff --git a/blight-assets/src/main/resources/Models/traenke/schwacherausdauertrank.j3o b/blight-assets/src/main/resources/Models/traenke/schwacherausdauertrank.j3o new file mode 100644 index 0000000..0d23607 Binary files /dev/null and b/blight-assets/src/main/resources/Models/traenke/schwacherausdauertrank.j3o differ diff --git a/blight-assets/src/main/resources/Models/traenke/schwacherheiltrank.j3o b/blight-assets/src/main/resources/Models/traenke/schwacherheiltrank.j3o new file mode 100644 index 0000000..61eba0d Binary files /dev/null and b/blight-assets/src/main/resources/Models/traenke/schwacherheiltrank.j3o differ diff --git a/blight-assets/src/main/resources/Models/traenke/schwachermanatrank.j3o b/blight-assets/src/main/resources/Models/traenke/schwachermanatrank.j3o new file mode 100644 index 0000000..63b9c29 Binary files /dev/null and b/blight-assets/src/main/resources/Models/traenke/schwachermanatrank.j3o differ diff --git a/blight-assets/src/main/resources/Models/traenke/starkerausdauertrank.j3o b/blight-assets/src/main/resources/Models/traenke/starkerausdauertrank.j3o new file mode 100644 index 0000000..277d916 Binary files /dev/null and b/blight-assets/src/main/resources/Models/traenke/starkerausdauertrank.j3o differ diff --git a/blight-assets/src/main/resources/Models/traenke/starkerheiltrank.j3o b/blight-assets/src/main/resources/Models/traenke/starkerheiltrank.j3o new file mode 100644 index 0000000..9d9a8e9 Binary files /dev/null and b/blight-assets/src/main/resources/Models/traenke/starkerheiltrank.j3o differ diff --git a/blight-assets/src/main/resources/Models/traenke/starkermanatrank.j3o b/blight-assets/src/main/resources/Models/traenke/starkermanatrank.j3o new file mode 100644 index 0000000..fbe857b Binary files /dev/null and b/blight-assets/src/main/resources/Models/traenke/starkermanatrank.j3o differ diff --git a/blight-editor/src/main/java/de/blight/editor/JmeEditorApp.java b/blight-editor/src/main/java/de/blight/editor/JmeEditorApp.java index 6cfb250..d5b669d 100644 --- a/blight-editor/src/main/java/de/blight/editor/JmeEditorApp.java +++ b/blight-editor/src/main/java/de/blight/editor/JmeEditorApp.java @@ -164,6 +164,7 @@ public class JmeEditorApp extends SimpleApplication { @Override public void simpleInitApp() { flyCam.setEnabled(false); + cam.setFrustumPerspective(45f, (float) vpWidth / vpHeight, 0.05f, 4000f); input.loadingStatus = "Registriere Asset-Loader..."; assetManager.registerLoader(com.jme3.scene.plugins.gltf.GltfLoader.class, "gltf"); diff --git a/blight-game/src/main/java/de/blight/game/scene/WorldScene.java b/blight-game/src/main/java/de/blight/game/scene/WorldScene.java index ceeac0f..625cce1 100644 --- a/blight-game/src/main/java/de/blight/game/scene/WorldScene.java +++ b/blight-game/src/main/java/de/blight/game/scene/WorldScene.java @@ -237,7 +237,9 @@ public class WorldScene extends BaseAppState { com.jme3.asset.plugins.FileLocator.class); } catch (Exception ignored) {} - app.getCamera().setFrustumFar(4000f); + app.getCamera().setFrustumPerspective(45f, + (float) app.getCamera().getWidth() / app.getCamera().getHeight(), + 0.05f, 4000f); BlightGame.status("Baue Beleuchtung und Himmel..."); buildLighting(); diff --git a/blight-game/src/main/java/de/blight/game/state/WorldObjectsState.java b/blight-game/src/main/java/de/blight/game/state/WorldObjectsState.java index e023275..82b4149 100644 --- a/blight-game/src/main/java/de/blight/game/state/WorldObjectsState.java +++ b/blight-game/src/main/java/de/blight/game/state/WorldObjectsState.java @@ -271,9 +271,13 @@ public class WorldObjectsState extends BaseAppState { initImpostor(lod2Node); } } - treeNode.addControl(new ModelLodControl( - app.getCamera(), lod0, lod1, lod2, - m.lod1Distance() * lodFactor, m.lod2Distance() * lodFactor)); + // ModelLodControl nur wenn tatsächliche LOD-Varianten vorhanden — sonst + // würde das Objekt ab lod1Distance komplett ausgeblendet (targetSlot=-1). + if (lod1 != null || lod2 != null) { + treeNode.addControl(new ModelLodControl( + app.getCamera(), lod0, lod1, lod2, + m.lod1Distance() * lodFactor, m.lod2Distance() * lodFactor)); + } return treeNode; } @@ -321,18 +325,24 @@ public class WorldObjectsState extends BaseAppState { } // Fallback: externe LOD-Dateien (lod1Path / lod2Path) - Node lodRoot = new Node("lodRoot_" + path); - lodRoot.attachChild(spatial); - ModelLodControl ctrl = new ModelLodControl( - assets, app.getCamera(), - m.lod1Path(), m.lod2Path(), - m.lod1Distance() * lodFactor, m.lod2Distance() * lodFactor); - ctrl.setLodLoadCallback(lod -> { - convertUnshadedToPbr(lod); - collectSceneLitMaterials(lod); - }); - lodRoot.addControl(ctrl); - return lodRoot; + // Nur wenn mindestens eine Datei tatsächlich angegeben ist — ohne Dateien würde + // ModelLodControl das Objekt ab lod1Distance komplett ausblenden (targetSlot=-1). + String lp1 = m.lod1Path() != null && !m.lod1Path().isBlank() ? m.lod1Path() : null; + String lp2 = m.lod2Path() != null && !m.lod2Path().isBlank() ? m.lod2Path() : null; + if (lp1 != null || lp2 != null) { + Node lodRoot = new Node("lodRoot_" + path); + lodRoot.attachChild(spatial); + ModelLodControl ctrl = new ModelLodControl( + assets, app.getCamera(), + lp1, lp2, + m.lod1Distance() * lodFactor, m.lod2Distance() * lodFactor); + ctrl.setLodLoadCallback(lod -> { + convertUnshadedToPbr(lod); + collectSceneLitMaterials(lod); + }); + lodRoot.addControl(ctrl); + return lodRoot; + } } return spatial;