Editor: jMonkeyBuilder

2 Likes

Updated readme:

I’m going to make a test build tomorrow.

That’s interesting, so it sounds like its better to link objects into the scene? I never realized it was an option to link until I started using this editor

I checked the DM usage for linking a model compared to copy/pasting a model, and the direct memory goes up the same.

I thought the AssetManager optimized repeat models to save memory, and I’ve seen this happen whenever I load a .j3o with code to attach my scenes. If I load the same scene 9 times into a 3x3 grid, it consumes the same DM as 1 single scene. Is there a way to do this in the editor for repeat models?

Yes, linking.

Preview version of SpaceShift Editor with Shader Nodes plugin:
https://yadi.sk/d/QXVUsG0j3MyVyh

I was mistaken with my last post, the only reason I thought the DM still went up with linking was because I was testing with a terrain that had an LOD cotnrol attached. I’ll have to make sure I link my larger models from now on though, thanks.

@NemesisMate @themiddleman @8Keep123 could you look at the base implementation of shader nodes editor? :slight_smile:

Will do

I checked it out, it seems to work pretty well. I tested exporting as j3md and everything worked. The only thing about shader nodes for me really is I wish there was one big shader node either for lighting or pbr that we can plug into, just as unreal engine and shader forge for unity do it. It would make translating shaders from various online tutorials easy. I suppose nehon must have thought of that, so there may be some kind of issue making this more difficult than it seems.

1 Like

I have plans about this, at this moment I have finished only first part of my plans :slight_smile:

Exception in thread "LWJGL Render" java.lang.UnsatisfiedLinkError: D:\Programy\S
paceShiftEditor\bulletjme.dll: Nie można odnaleźć określonej procedury
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
        at java.lang.Runtime.load0(Runtime.java:809)
        at java.lang.System.load(System.java:1086)
        at com.jme3.system.NativeLibraryLoader.loadNativeLibrary(NativeLibraryLo
ader.java:683)
        at com.jme3.system.JmeDesktopSystem.initialize(JmeDesktopSystem.java:348
)
        at com.jme3.system.JmeDesktopSystem.newContext(JmeDesktopSystem.java:271
)
        at com.jme3.system.JmeSystem.newContext(JmeSystem.java:162)
        at com.jme3.app.LegacyApplication.start(LegacyApplication.java:461)
        at com.jme3.app.LegacyApplication.start(LegacyApplication.java:424)
        at com.jme3.app.SimpleApplication.start(SimpleApplication.java:125)
        at com.ss.editor.JFXApplication.startJMEApplication(Unknown Source)
        at com.ss.editor.JFXApplication.lambda$main$0(Unknown Source)
        at java.lang.Thread.run(Thread.java:748)

32bit machine with 32bit jdk1.8.0_131

SSEditor 1.2 preview

I have bulletjme.dll in that localization.

EDIT:

[SOLVED] by using JME’s 3.0 bullet libs.

Next one:

java.lang.UnsupportedOperationException
    at java.util.AbstractList.remove(AbstractList.java:161)
    at java.util.AbstractList$Itr.remove(AbstractList.java:374)
    at java.util.AbstractCollection.remove(AbstractCollection.java:293)
    at com.jme3.util.SafeArrayList.remove(Unknown Source)
    at com.jme3.scene.Mesh.clearBuffer(Mesh.java:1053)
    at com.jme3.scene.Mesh.cloneForAnim(Mesh.java:284)
    at com.jme3.scene.Geometry.cloneFields(Geometry.java:597)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:255)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:160)
    at com.jme3.util.clone.ListCloneFunction.cloneFields(ListCloneFunction.java:66)
    at com.jme3.util.clone.ListCloneFunction.cloneFields(ListCloneFunction.java:43)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:228)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:160)
    at com.jme3.animation.SkeletonControl.cloneFields(SkeletonControl.java:421)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:255)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:160)
    at com.jme3.util.clone.ListCloneFunction.cloneFields(ListCloneFunction.java:66)
    at com.jme3.util.clone.ListCloneFunction.cloneFields(ListCloneFunction.java:43)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:228)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:160)
    at com.jme3.scene.Spatial.cloneFields(Unknown Source)
    at com.jme3.scene.Node.cloneFields(Node.java:723)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:255)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:160)
    at com.jme3.util.clone.ListCloneFunction.cloneFields(ListCloneFunction.java:66)
    at com.jme3.util.clone.ListCloneFunction.cloneFields(ListCloneFunction.java:43)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:228)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:160)
    at com.jme3.scene.Node.cloneFields(Node.java:725)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:255)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:160)
    at com.jme3.util.clone.ListCloneFunction.cloneFields(ListCloneFunction.java:66)
    at com.jme3.util.clone.ListCloneFunction.cloneFields(ListCloneFunction.java:43)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:228)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:160)
    at com.jme3.scene.Node.cloneFields(Node.java:725)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:255)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:160)
    at com.jme3.util.clone.ListCloneFunction.cloneFields(ListCloneFunction.java:66)
    at com.jme3.util.clone.ListCloneFunction.cloneFields(ListCloneFunction.java:43)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:228)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:160)
    at com.jme3.scene.Node.cloneFields(Node.java:725)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:255)
    at com.jme3.util.clone.Cloner.clone(Cloner.java:160)
    at com.jme3.scene.Spatial.clone(Unknown Source)
    at com.jme3.scene.Node.clone(Node.java:682)
    at com.jme3.scene.Node.clone(Node.java:62)
    at com.jme3.scene.Spatial.clone(Unknown Source)
    at com.jme3.scene.Spatial.clone(Unknown Source)
    at com.jme3.asset.CloneableAssetProcessor.createClone(CloneableAssetProcessor.java:48)
    at com.jme3.asset.DesktopAssetManager.registerAndCloneSmartAsset(DesktopAssetManager.java:317)
    at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:379)
    at com.ss.editor.file.converter.impl.AbstractModelFileConverter.convertImpl(Unknown Source)
    at com.ss.editor.file.converter.impl.AbstractModelFileConverter.lambda$convert$1(Unknown Source)
    at com.ss.editor.executor.impl.BackgroundEditorTaskExecutor.doExecute(Unknown Source)
    at com.ss.editor.executor.impl.AbstractEditorTaskExecutor.run(Unknown Source)

Got it during conversion blend → j3o

it’s very interesting…

I will update the build tomorrow

1 Like

@H Hi, I found a reason of your problem :slight_smile: thanks for your help.

1 Like

I updated preview build of 1.2.0 version:
https://yadi.sk/d/QXVUsG0j3MyVyh

jme3-spaceshift-editor-1.2.0-preview is working fine.
Thanks,

1 Like

Started to work on shader node definition editor:

1 Like

It’s a nice tool, I’m working on Chinese localization now.

I will make a PR after I finished it.

preview

2 Likes

cool :+1:

Continue to work on definition editor: