Can't see painted textures

Hi,



I’ve made some terrain with the terrain editor, then painted on some road and grass textures (over the default dirt). I can switch to the SceneComposer and still see the painted on textures fine, however when I import it into the game, I only see the dirt texture everywhere (no road or grass). The terrain shape is fine and collisions work, I’m importing using:

[java]

terrain = assetManager.loadModel(“Scenes/testScene.j3o”);

rootNode.attachChild(terrain);

[/java]

Do I have to manually add each texture? If so how, or is it still under development?




Thanks xD

It will find the textures for you if your main app can access the assets directory where you saved your scene.

How is your project set up? Are you getting any errors when you launch?



Check in the assets directory for your scene’s alpha maps, they will be in Textures/terrain-alpha/

newScene11-terrain-newScene11-alphablend0.png

newScene11-terrain-newScene11-alphablend1.png

newScene11-terrain-newScene11-alphablend2.png



(where newScene11 is your scene’s name)

I do have those 3 alpha map files in the Textures/terrain-alpha folder, however they are all just 256 x 256 and blank transparent.

No errors when I load, I’m able to load other textures without a problem.

The dirt, road and grass textures I’m using are located in the Textures folder.




EDIT: Also, I have noticed that if I close the IDE (after doing a save-all), then open it again and open the scene, the texture paintings are all gone, just back to the default dirt texture (what I’m seeing in my game), however the 3 texture painting layers are still there (in the painting box).

What version of the sdk are you using? It sounds like there is an error happening on save that is being gobbled up.

The alphamaps will appear blank unless you have painted the 4th, 8th, or 12th layer, they are the alpha channels of the png image. So it is okay if the image is blank, there is actually data there.

I’m using the nightly builds. I might try re installing the sdk when I get home.

Thanks for your help so far, your terrain editor looks great, keep it up xD

Hi guys,

This is officially my first post on the new jME forum.

I was really active a few years ago on jME1 - jME2 and was one of the main developers(tGiant) on MonkeyWorld3D.

But yes, here is what I want to say, first, wow what a brilliant peace of software you guys are working on, I love it. Good job.

And then, I am getting exactly the same problem slothee is getting.

I did go and investicate the logs and saw that the alpha images are not saving. Here is my log, please help:



java.lang.NullPointerException
at com.jme3.gde.terraineditor.TerrainEditorController.doSaveAlphaImages(TerrainEditorController.java:763)
at com.jme3.gde.terraineditor.TerrainEditorController.access$100(TerrainEditorController.java:81)
at com.jme3.gde.terraineditor.TerrainEditorController$1$1.call(TerrainEditorController.java:104)
[catch] at com.jme3.app.AppTask.invoke(AppTask.java:147)
at com.jme3.app.Application.update(Application.java:558)
at com.jme3.gde.core.scene.SceneApplication.update(SceneApplication.java:220)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:144)
at com.jme3.system.lwjgl.LwjglCanvas.runLoop(LwjglCanvas.java:199)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:218)
at java.lang.Thread.run(Thread.java:662)
WARNING [org.openide.loaders.FolderChildren.C:.workspaces.jme3.MyGame.assets.Scenes]: Attempt to obtain DataObject for C:workspacesjme3MyGameassetsScenesmylevel.j3o.0.nblh~@d2110a9b:94611a[invalid] from EDT
INFO [org.openide.loaders.FolderChildren.C:.workspaces.jme3.MyGame.assets.Scenes]: Cannot convert C:workspacesjme3MyGameassetsScenesmylevel.j3o.0.nblh~@d2110a9b:94611a[invalid]
org.openide.filesystems.FileStateInvalidException: C:workspacesjme3MyGameassetsScenesmylevel.j3o.0.nblh~@d2110a9b:94611a[invalid]
at org.openide.loaders.DataObject.find(DataObject.java:517)
Caused: org.openide.loaders.DataObjectNotFoundException: C:workspacesjme3MyGameassetsScenesmylevel.j3o.0.nblh~@d2110a9b:94611a[invalid]
at org.openide.loaders.DataObject.find(DataObject.java:537)
[catch] at org.openide.loaders.FolderChildren$DelayedNode.convert(FolderChildren.java:454)
at org.openide.loaders.FolderChildren$DelayedNode.convert(FolderChildren.java:398)
at org.openide.util.lookup.InstanceContent$ConvertingItem.getInstance(InstanceContent.java:316)
at org.openide.util.lookup.AbstractLookup.lookup(AbstractLookup.java:414)
at org.openide.nodes.FilterNode$FilterLookup.lookup(FilterNode.java:2112)
at com.jme3.gde.core.assets.nodes.AssetNode.createLookupProxy(AssetNode.java:58)
at com.jme3.gde.core.assets.nodes.AssetNode.(AssetNode.java:51)
at com.jme3.gde.core.assets.nodes.AssetChildren.copyNode(AssetChildren.java:58)
at org.openide.nodes.FilterNode$Children.createNodes(FilterNode.java:1524)
at com.jme3.gde.core.assets.nodes.AssetChildren.createNodes(AssetChildren.java:65)
at org.openide.nodes.FilterNode$Children$LazySupport$FilterNodeEntry.nodes(FilterNode.java:1893)
at org.openide.nodes.EntrySupport$Lazy$EntryInfo.getNode(EntrySupport.java:1626)
at org.openide.nodes.FilterNode$Children$LazySupport$FilterLazySnapshot.get(FilterNode.java:1741)
at org.openide.nodes.FilterNode$Children$LazySupport$FilterNodeEntry.nodes(FilterNode.java:1884)
at org.openide.nodes.EntrySupport$Lazy$EntryInfo.getNode(EntrySupport.java:1626)
at org.openide.nodes.FilterNode$Children$LazySupport$FilterLazySnapshot.get(FilterNode.java:1741)
at org.openide.nodes.EntrySupport$Lazy$LazySnapshot.get(EntrySupport.java:1850)
at org.openide.nodes.EntrySupport$Lazy$LazySnapshot.get(EntrySupport.java:1838)
at org.openide.explorer.view.VisualizerChildren.getChildAt(VisualizerChildren.java:127)
at org.openide.explorer.view.VisualizerNode.getChildAt(VisualizerNode.java:321)
at javax.swing.tree.DefaultTreeModel.getChild(DefaultTreeModel.java:156)
at javax.swing.tree.FixedHeightLayoutCache$VisibleFHTreeStateNodeEnumeration.nextElement(FixedHeightLayoutCache.java:1506)
at javax.swing.tree.FixedHeightLayoutCache$VisibleFHTreeStateNodeEnumeration.nextElement(FixedHeightLayoutCache.java:1461)
at javax.swing.tree.AbstractLayoutCache.getPreferredWidth(AbstractLayoutCache.java:228)
at javax.swing.plaf.basic.BasicTreeUI.updateCachedPreferredSize(BasicTreeUI.java:1820)
at javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:1921)
at javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:1909)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1634)
at javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:769)
at org.openide.explorer.view.TreeView$ExplorerScrollPaneLayout.layoutContainer(TreeView.java:1828)
at java.awt.Container.layout(Container.java:1421)
at java.awt.Container.doLayout(Container.java:1410)
at java.awt.Container.validateTree(Container.java:1507)
at java.awt.Container.validate(Container.java:1480)
at org.openide.explorer.view.TreeView.access$101(TreeView.java:151)
at org.openide.explorer.view.TreeView$3.run(TreeView.java:688)
at org.openide.util.Mutex.readAccess(Mutex.java:365)
at org.openide.util.Mutex$1R.run(Mutex.java:1307)
at org.openide.nodes.Children$ProjectManagerDeadlockDetector.execute(Children.java:1913)
at org.openide.util.Mutex.doWrapperAccess(Mutex.java:1326)
at org.openide.util.Mutex.readAccess(Mutex.java:354)
at org.openide.explorer.view.TreeView.validate(TreeView.java:686)
at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:669)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:124)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:611)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:148)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

ah, okay I received that message once too. I have to update my jme version that the SDK was using. That fixed the issue.



ps. I will be offline for a couple of days, so if you don’t hear from me, I am not ignoring you :wink:

Hi there,

Thanks for the info. I did try to do this as well, but no success.

Maybe there is a small simple issue on both of our installations.

I am can still not save a terrain that has texture painting on it.

Can you please investigate.

Here is a log again of what is thrown. Please help?



java.lang.NullPointerException
at com.jme3.gde.terraineditor.TerrainEditorController.doSaveAlphaImages(TerrainEditorController.java:763)
at com.jme3.gde.terraineditor.TerrainEditorController.access$100(TerrainEditorController.java:81)
at com.jme3.gde.terraineditor.TerrainEditorController$1$1.call(TerrainEditorController.java:104)
[catch] at com.jme3.app.AppTask.invoke(AppTask.java:147)
at com.jme3.app.Application.update(Application.java:558)
at com.jme3.gde.core.scene.SceneApplication.update(SceneApplication.java:219)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:144)
at com.jme3.system.lwjgl.LwjglCanvas.runLoop(LwjglCanvas.java:199)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:218)
at java.lang.Thread.run(Thread.java:662)
WARNING [org.openide.loaders.FolderChildren.C:.workspaces.jme3.WorldCraft.assets.Scenes]: Attempt to obtain DataObject for C:workspacesjme3WorldCraftassetsScenesworld1.j3o.0.nblh~@90e3f060:12fcb07[invalid] from EDT
INFO [org.openide.loaders.FolderChildren.C:.workspaces.jme3.WorldCraft.assets.Scenes]: Cannot convert C:workspacesjme3WorldCraftassetsScenesworld1.j3o.0.nblh~@90e3f060:12fcb07[invalid]
org.openide.filesystems.FileStateInvalidException: C:workspacesjme3WorldCraftassetsScenesworld1.j3o.0.nblh~@90e3f060:12fcb07[invalid]
at org.openide.loaders.DataObject.find(DataObject.java:517)
Caused: org.openide.loaders.DataObjectNotFoundException: C:workspacesjme3WorldCraftassetsScenesworld1.j3o.0.nblh~@90e3f060:12fcb07[invalid]
at org.openide.loaders.DataObject.find(DataObject.java:537)
[catch] at org.openide.loaders.FolderChildren$DelayedNode.convert(FolderChildren.java:454)
at org.openide.loaders.FolderChildren$DelayedNode.convert(FolderChildren.java:398)
at org.openide.util.lookup.InstanceContent$ConvertingItem.getInstance(InstanceContent.java:316)
at org.openide.util.lookup.AbstractLookup.lookup(AbstractLookup.java:414)
at org.openide.nodes.FilterNode$FilterLookup.lookup(FilterNode.java:2112)
at com.jme3.gde.core.assets.nodes.AssetNode.createLookupProxy(AssetNode.java:58)
at com.jme3.gde.core.assets.nodes.AssetNode.(AssetNode.java:51)
at com.jme3.gde.core.assets.nodes.AssetChildren.copyNode(AssetChildren.java:58)
at org.openide.nodes.FilterNode$Children.createNodes(FilterNode.java:1524)
at com.jme3.gde.core.assets.nodes.AssetChildren.createNodes(AssetChildren.java:65)
at org.openide.nodes.FilterNode$Children$LazySupport$FilterNodeEntry.nodes(FilterNode.java:1893)
at org.openide.nodes.EntrySupport$Lazy$EntryInfo.getNode(EntrySupport.java:1626)
at org.openide.nodes.FilterNode$Children$LazySupport$FilterLazySnapshot.get(FilterNode.java:1741)
at org.openide.nodes.FilterNode$Children$LazySupport$FilterNodeEntry.nodes(FilterNode.java:1884)
at org.openide.nodes.EntrySupport$Lazy$EntryInfo.getNode(EntrySupport.java:1626)
at org.openide.nodes.FilterNode$Children$LazySupport$FilterLazySnapshot.get(FilterNode.java:1741)
at org.openide.nodes.EntrySupport$Lazy$LazySnapshot.get(EntrySupport.java:1850)
at org.openide.nodes.EntrySupport$Lazy$LazySnapshot.get(EntrySupport.java:1838)
at org.openide.explorer.view.VisualizerChildren.getChildAt(VisualizerChildren.java:127)
at org.openide.explorer.view.VisualizerNode.getChildAt(VisualizerNode.java:321)
at javax.swing.tree.DefaultTreeModel.getChild(DefaultTreeModel.java:156)
at javax.swing.tree.FixedHeightLayoutCache$VisibleFHTreeStateNodeEnumeration.nextElement(FixedHeightLayoutCache.java:1506)
at javax.swing.tree.FixedHeightLayoutCache$VisibleFHTreeStateNodeEnumeration.nextElement(FixedHeightLayoutCache.java:1461)
at javax.swing.tree.AbstractLayoutCache.getPreferredWidth(AbstractLayoutCache.java:228)
at javax.swing.plaf.basic.BasicTreeUI.updateCachedPreferredSize(BasicTreeUI.java:1820)
at javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:1921)
at javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:1909)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1634)
at javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:769)
at org.openide.explorer.view.TreeView$ExplorerScrollPaneLayout.layoutContainer(TreeView.java:1828)
at java.awt.Container.layout(Container.java:1421)
at java.awt.Container.doLayout(Container.java:1410)
at java.awt.Container.validateTree(Container.java:1507)
at java.awt.Container.validate(Container.java:1480)
at org.openide.explorer.view.TreeView.access$101(TreeView.java:151)
at org.openide.explorer.view.TreeView$3.run(TreeView.java:688)
at org.openide.util.Mutex.readAccess(Mutex.java:365)
at org.openide.util.Mutex$1R.run(Mutex.java:1307)
at org.openide.nodes.Children$ProjectManagerDeadlockDetector.execute(Children.java:1913)
at org.openide.util.Mutex.doWrapperAccess(Mutex.java:1326)
at org.openide.util.Mutex.readAccess(Mutex.java:354)
at org.openide.explorer.view.TreeView.validate(TreeView.java:686)
at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:669)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:124)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:611)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:148)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
WARNING [org.openide.loaders.FolderChildren.C:.workspaces.jme3.WorldCraft.assets.Scenes]: Attempt to obtain DataObject for C:workspacesjme3WorldCraftassetsScenesworld1.j3o.0.nblh~@90e3f060:12fcb07[invalid] from EDT
INFO [org.openide.loaders.FolderChildren.C:.workspaces.jme3.WorldCraft.assets.Scenes]: Cannot convert C:workspacesjme3WorldCraftassetsScenesworld1.j3o.0.nblh~@90e3f060:12fcb07[invalid]
org.openide.filesystems.FileStateInvalidException: C:workspacesjme3WorldCraftassetsScenesworld1.j3o.0.nblh~@90e3f060:12fcb07[invalid]
at org.openide.loaders.DataObject.find(DataObject.java:517)
Caused: org.openide.loaders.DataObjectNotFoundException: C:workspacesjme3WorldCraftassetsScenesworld1.j3o.0.nblh~@90e3f060:12fcb07[invalid]
at org.openide.loaders.DataObject.find(DataObject.java:537)
[catch] at org.openide.loaders.FolderChildren$DelayedNode.convert(FolderChildren.java:454)
at org.openide.loaders.FolderChildren$DelayedNode.convert(FolderChildren.java:398)
at org.openide.util.lookup.InstanceContent$ConvertingItem.getInstance(InstanceContent.java:316)
at org.openide.util.lookup.AbstractLookup.lookup(AbstractLookup.java:414)
at org.openide.nodes.FilterNode$FilterLookup.lookup(FilterNode.java:2112)
at org.openide.util.lookup.ProxyLookup.lookup(ProxyLookup.java:214)
at com.jme3.gde.core.assets.nodes.AssetChildren.accept(AssetChildren.java:76)
at com.jme3.gde.core.assets.nodes.AssetChildren.createNodes(AssetChildren.java:66)
at org.openide.nodes.FilterNode$Children$LazySupport$FilterNodeEntry.nodes(FilterNode.java:1893)
at org.openide.nodes.EntrySupport$Lazy$EntryInfo.getNode(EntrySupport.java:1626)
at org.openide.nodes.FilterNode$Children$LazySupport$FilterLazySnapshot.get(FilterNode.java:1741)
at org.openide.nodes.FilterNode$Children$LazySupport$FilterNodeEntry.nodes(FilterNode.java:1884)
at org.openide.nodes.EntrySupport$Lazy$EntryInfo.getNode(EntrySupport.java:1626)
at org.openide.nodes.FilterNode$Children$LazySupport$FilterLazySnapshot.get(FilterNode.java:1741)
at org.openide.nodes.EntrySupport$Lazy$LazySnapshot.get(EntrySupport.java:1850)
at org.openide.nodes.EntrySupport$Lazy$LazySnapshot.get(EntrySupport.java:1838)
at org.openide.explorer.view.VisualizerChildren.getChildAt(VisualizerChildren.java:127)
at org.openide.explorer.view.VisualizerNode.getChildAt(VisualizerNode.java:321)
at javax.swing.tree.DefaultTreeModel.getChild(DefaultTreeModel.java:156)
at javax.swing.tree.FixedHeightLayoutCache$VisibleFHTreeStateNodeEnumeration.nextElement(FixedHeightLayoutCache.java:1506)
at javax.swing.tree.FixedHeightLayoutCache$VisibleFHTreeStateNodeEnumeration.nextElement(FixedHeightLayoutCache.java:1461)
at javax.swing.tree.AbstractLayoutCache.getPreferredWidth(AbstractLayoutCache.java:228)
at javax.swing.plaf.basic.BasicTreeUI.updateCachedPreferredSize(BasicTreeUI.java:1820)
at javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:1921)
at javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:1909)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1634)
at javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:769)
at org.openide.explorer.view.TreeView$ExplorerScrollPaneLayout.layoutContainer(TreeView.java:1828)
at java.awt.Container.layout(Container.java:1421)
at java.awt.Container.doLayout(Container.java:1410)
at java.awt.Container.validateTree(Container.java:1507)
at java.awt.Container.validate(Container.java:1480)
at org.openide.explorer.view.TreeView.access$101(TreeView.java:151)
at org.openide.explorer.view.TreeView$3.run(TreeView.java:688)
at org.openide.util.Mutex.readAccess(Mutex.java:365)
at org.openide.util.Mutex$1R.run(Mutex.java:1307)
at org.openide.nodes.Children$ProjectManagerDeadlockDetector.execute(Children.java:1913)
at org.openide.util.Mutex.doWrapperAccess(Mutex.java:1326)
at org.openide.util.Mutex.readAccess(Mutex.java:354)
at org.openide.explorer.view.TreeView.validate(TreeView.java:686)
at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:669)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:124)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:611)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:148)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
WARNING [org.openide.loaders.FolderChildren.C:.workspaces.jme3.WorldCraft.assets.Scenes]: Attempt to obtain DataObject for C:workspacesjme3WorldCraftassetsScenesworld1.j3odata@f4dea668:168545d from EDT
INFO [com.jme3.system.lwjgl.LwjglDisplay]: EDT: Notifying OGL that canvas is about to become invisible..
INFO [com.jme3.system.lwjgl.LwjglDisplay]: OGL: Received destroy request! Complying..
INFO [com.jme3.system.lwjgl.LwjglDisplay]: OGL: Canvas will become invisible! Destroying ..
INFO [com.jme3.system.lwjgl.LwjglDisplay]: EDT: Acknowledged receipt of canvas death
WARNING [org.openide.loaders.FolderChildren.C:.workspaces.jme3.WorldCraft.assets.Textures.terrain-alpha]: Attempt to obtain DataObject for C:workspacesjme3WorldCraftassetsTexturesterrain-alphaworld1-terrain-world1-alphablend0.png@14abe382:ad7bcf from EDT
WARNING [org.openide.loaders.FolderChildren.C:.workspaces.jme3.WorldCraft.assets.Textures.terrain-alpha]: Attempt to obtain DataObject for C:workspacesjme3WorldCraftassetsTexturesterrain-alphaworld1-terrain-world1-alphablend1.png@14d59805:19b61be from EDT
WARNING [org.openide.loaders.FolderChildren.C:.workspaces.jme3.WorldCraft.assets.Textures.terrain-alpha]: Attempt to obtain DataObject for C:workspacesjme3WorldCraftassetsTexturesterrain-alphaworld1-terrain-world1-alphablend2.png@14c7b084:1825930 from EDT
INFO [com.jme3.scene.Node]: TerrainEditorToolNode (Node): Child removed.
INFO [com.jme3.system.lwjgl.LwjglAbstractDisplay]: Display destroyed.

Looks like you are not able to write to the project directory. Some user rights issue?

Sorry, I’ve been travelling around, and using an ancient computer, so I haven’t been able to test much.

However, I think I found the problem. Normen, being the good programmer that he is, created a CreateTerrain Action for the right-click create terrain wizard. I didn’t change the terrain controller to use that, and I forgot to change the action to handle the new 3 alpha maps. And that is how I was able to reproduce the error reliably.

I have a fix almost ready, but in the mean time when you create terrain do not right-click in the scene explorer to add terrain, instead use the add-terrain button in the terrain editor tool panel.

Yay, will try this when I get home, thanks xD

Thanks it seems to be working now.