MonkeyWorld 3D Version 4.1

@Trussell



We have created three types of persistence in the terrain, but the editor ships with one for the users. We have a simple properties file, xml formate savable,and jme binary formate savable model which we are using for the terrain currently. We faced some issues when saving the terrian purly with jMe, I remember that it didn't save the hightmap information, which made us loose the hightmap information which we rely on to deform and paint the terrain when reloading scenes. Plus we needed a way to map the base, and alpha layers in to the terrain system to give the users ability to manage them, also the file size of the terrian saved in pure geometry was big.



So we have gone in a different way. We added a new extension point that gives our users to ckick in there own special way of persisting things, before saving being called "To allows performing any action before saving", and after saving "To perform action needed after the saving got called" , this allowed us to persist the terrain the way we wish, and we have gone the usual jme way of creating terrain from hightmap. Also we used code like in TestIsland to do the terrain splatting. So its only a simple .terrian file " jme format" for saving terrain configuration, like block size, and scales, and the image hightmap. Plus the base and the alpha layers in our model. That means if you are dealing with the terrain in the editor, and you referesh the work space, you will see the hightmap image for your created terrain. Well the whole thing might sound easy, but its not.





@mcbeth

Sure, we are thinking about adding it. We were crunched getting a stable release, with jMe pure functionality, but we will consider this soo soon.





Thanks a lot.


I am very excited about this release, and the ability to add plugins.  :smiley:

I wanted to evaluate MonkeyWorld3D compared to my terrain editor but I am unable to get it to work. I can launch the application and open a .jME file, once the viewport is open I can see the axis and all the stuff inside seems to work, FPS is 100~. The problem is that it takes about 10-20 seconds for my mouse movements, key pressed or any manipulation of the camera to take effect on the viewport, which makes it impossible to do anything.



I am using Windows Vista with GeForce 8400M GS.



http://www.lumenon.nl/Projects/CADControl/cadcontrol.rar

Contains:
- Source + Runnable Test case (StandardGame).
- Orbit Handler (Pan/Tilt, Translate (XYZ), Zoom, Reset)
- CAD Style Control Box

Hope this helps!
(Still contains some minor bugs, + needs major efficiency changes)
madlion said:

Right the installer finally run.
Ok i will try to use the eclipse executable.


There were some files missing. It was the 32bit launcher plugin and the 32bit GTK-SWT library. I've added those plugins and a 32bit executable. I hope it works, but i could not test it, because i don't have a 32bit linux here. Here's the link to the new installer: Linux 32bit Installer

i was surprisesd, linux 64 bit and it works!



after playing around i have to say, very good work  :smiley:

golden_jubilee said:

i was surprisesd, linux 64 bit and it works!

after playing around i have to say, very good work  :D


Thanks!

Eclipse does not work in 64bit java out of the box (and MW3D actually is eclipse). The workaround can be found in the mw3d.ini, just in case you want to run eclipse in a 64bit environment, put those lines in your eclipse.ini :D

Hi,



@Methius,



I must say, thank you so much for this, you just contributed a new camera handler to our editor :D. What I have done is, I have taken the camera handling, created a new plug-in, added a new camera handler contribution, registered it to the editor, and that’s it, now the cad camera handler is on the list of the camera handlers for the editor. To download and install it, just go to this link



https://sourceforge.net/project/downloading.php?group_id=144749&use_mirror=osdn&filename=com.mw3d.cadcamera_1.0.0.jar&60084859

And drop this file, under the plugins directory, restart the editor, then go to the preferences, choose cameras, you should be able to see Cad camera, now start a new spatial editor, and you should see your camera manager in actions, neat :D. Only one thing here, you must maximize the spatial editor to fit the whole page, to see the control box like in your screen shot, I will try to fix this.



I will commit the code as well. Its serving as a great example of how things can be plugged into the editor.



Thanks again Methius.





@Momoko_Fan



Unfortunately I don’t have Vista, and I don’t think that I am going to be really helpfull in this, but does the log file shows anything, may be its because of an exception that is being logged, and it slows things up.

One thing that might help, if you go to the preferences, from general try to change the update rate, choose to limit the update to 60 fps, and you might be able to get back the controls.



What about a plug-in for Radakan ? Are you interested in doing it ? Actually its going to be super cool, and we will help a lot in this. The only issue that we will face, is that we are using jMe1  :(.





Thanks you guys.


I am indeed very intrested in writing a plugin for radakan, and many other things as well. To improve the functionality of MonkeyWorld3D.  :slight_smile:

But, if I can get it to work…



Here's the log file from workspace/.metadata/.log:

!SESSION 2008-08-16 17:38:10.135


eclipse.buildId=unknown
java.version=1.6.0_05
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Command-line arguments:  -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.core.filesystem 1 1 2008-08-16 17:38:11.414
!MESSAGE Could not load library: localfile_1_0_0.dll.  This library provides platform-specific optimizations for certain file system operations.  This library is not present on all platforms, so this may not be an error.  The resources plug-in will safely fall back to using java.io.File functionality.
!STACK 0
java.lang.UnsatisfiedLinkError: no localfile_1_0_0 in java.library.path
   at java.lang.ClassLoader.loadLibrary(Unknown Source)
   at java.lang.Runtime.loadLibrary0(Unknown Source)
   at java.lang.System.loadLibrary(Unknown Source)
   at org.eclipse.core.internal.filesystem.local.LocalFileNatives.<clinit>(LocalFileNatives.java:32)
   at org.eclipse.core.internal.filesystem.local.LocalFile.fetchInfo(LocalFile.java:141)
   at org.eclipse.core.filesystem.provider.FileStore.fetchInfo(FileStore.java:277)
   at org.eclipse.core.internal.localstore.FileSystemResourceManager.read(FileSystemResourceManager.java:688)
   at org.eclipse.core.internal.resources.SaveManager.restoreMetaInfo(SaveManager.java:797)
   at org.eclipse.core.internal.resources.SaveManager.restoreMetaInfo(SaveManager.java:777)
   at org.eclipse.core.internal.resources.SaveManager.restore(SaveManager.java:663)
   at org.eclipse.core.internal.resources.SaveManager.startup(SaveManager.java:1326)
   at org.eclipse.core.internal.resources.Workspace.startup(Workspace.java:1953)
   at org.eclipse.core.internal.resources.Workspace.open(Workspace.java:1716)
   at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:376)
   at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:1009)
   at java.security.AccessController.doPrivileged(Native Method)
   at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:1003)
   at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:984)
   at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:346)
   at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:265)
   at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:400)
   at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:111)
   at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:427)
   at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:193)
   at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:368)
   at org.eclipse.osgi.framework.internal.core.SingleSourcePackage.loadClass(SingleSourcePackage.java:33)
   at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:441)
   at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:397)
   at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:385)
   at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:87)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at java.lang.ClassLoader.loadClassInternal(Unknown Source)
   at org.eclipse.ui.internal.ide.model.WorkbenchAdapterFactory.<init>(WorkbenchAdapterFactory.java:35)
   at org.eclipse.ui.internal.ide.model.WorkbenchAdapterBuilder.registerAdapters(WorkbenchAdapterBuilder.java:33)
   at com.mw3d.swt.ui.WorkbenchAdvisorHack.preStartup(WorkbenchAdvisorHack.java:260)
   at org.eclipse.ui.internal.Workbench$27.runWithException(Workbench.java:1359)
   at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
   at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
   at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133)
   at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3800)
   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3425)
   at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2293)
   at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
   at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
   at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
   at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
   at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
   at com.mw3d.swt.ui.Application.start(Application.java:47)
   at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
   at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
   at org.eclipse.equinox.launcher.Main.run(Main.java:1236)

!ENTRY org.eclipse.ui.views.properties.tabbed 4 4 2008-08-16 17:38:12.850
!MESSAGE Contributor com.mw3d.swt.navigator cannot be created.

Outrunner said:

Hi,

@Methius,

@Momoko_Fan



If you give me the source to the plugin integration, I'll work a bit more on it. Because at the moment it is having some sensitivity and orientation problems. :)

@Momoko_Fan

Hm, there's nothing wrong in this log. At least nothing, that can give us a hint for the problem you're facing. Can you try to use different camera handlers? Close all editors, go to Windows/Preferences and choose another camera handler under Monkey World 3D/Camera. Open an editor and see if something changes.



@Methius

Source is available in the trunk: https://monkeyworld3d.svn.sourceforge.net/svnroot/monkeyworld3d/trunk/mw3d-cadcamera


golden_jubilee said:

sure? since a year i use fluxbuntu 64 bit and eclipse 3.3, 3.3 ee and since june 3.4  without problems


Yes, are you sure, you're using 64bit java?
Vardamir said:

golden_jubilee said:

sure? since a year i use fluxbuntu 64 bit and eclipse 3.3, 3.3 ee and since june 3.4  without problems


Yes, are you sure, you're using 64bit java?


eclipse configuration detail

java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
java.awt.printerjob=sun.print.PSPrinterJob
java.class.path=/home/steffan/programs/eclipse/plugins/org.eclipse.equinox.launcher_1.0.100.v20080509-1800.jar
java.class.version=50.0
java.endorsed.dirs=/usr/lib/jvm/java-6-sun-1.6.0.03/jre/lib/endorsed
java.ext.dirs=/usr/lib/jvm/java-6-sun-1.6.0.03/jre/lib/ext:/usr/java/packages/lib/ext
java.home=/usr/lib/jvm/java-6-sun-1.6.0.03/jre
java.io.tmpdir=/tmp
java.library.path=/usr/lib/jvm/java-6-sun-1.6.0.03/jre/lib/amd64/server:/usr/lib/jvm/java-6-sun-1.6.0.03/jre/lib/amd64:/usr/lib/jvm/java-6-sun-1.6.0.03/jre/../lib/amd64:/usr/java/packages/lib/amd64:/lib:/usr/lib
java.runtime.name=Java(TM) SE Runtime Environment
java.runtime.version=1.6.0_03-b05
java.specification.name=Java Platform API Specification
java.specification.vendor=Sun Microsystems Inc.
java.specification.version=1.6
java.vendor=Sun Microsystems Inc.
java.vendor.url=http://java.sun.com/
java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi
java.version=1.6.0_03
java.vm.info=mixed mode
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Sun Microsystems Inc.
java.vm.specification.version=1.0
java.vm.vendor=Sun Microsystems Inc.
java.vm.version=1.6.0_03-b05
jna.platform.library.path=/usr/lib64:/lib64
line.separator=

java -version
Java HotSpot(TM) 64-Bit Server VM (build 1.6 .....)

Hi,



@Methius,

That would be great. Thanks again for this nice stuff.





@Momoko_Fan,



Shame that we can't help on this, neither I nor Vardamir have vista which makes it really hard to know what is the issue exactly, that exception that appears on the log will not help as Vardamir said. Sorry.

The best that you can do is to get the code, and try to build it locally and see what happens with you.


I am indeed very intrested in writing a plugin for radakan, and many other things as well. To improve the functionality of MonkeyWorld3D.


Would be truly awesome to have you contributing to MW3D.


Vardamir said:

There were some files missing. It was the 32bit launcher plugin and the 32bit GTK-SWT library. I've added those plugins and a 32bit executable. I hope it works, but i could not test it, because i don't have a 32bit linux here. Here's the link to the new installer: Linux 32bit Installer

Thanks! It's running now. ^^

Hi,



Any chance to get the release news on the jMe main news site guys ?



Thanks.

I submitted a news entry  :smiley:

Hi guys,



Having just started with jme and being impressed, I love to use this tool to create some scenes…however does it work in osx?



if so how? I've downloaded 4.1 platform indepentant but can't get it to run…


java -jar MonkeyWorld3D_4.1.0.jar
Failed to load Main-Class manifest attribute from



is there any setup work need?

Yes, it runs in a MacOS X environment. At least it should, but non of us has a Mac, so we can't test it and so we didn't build it.

You can put the plugins from the platform independent zip file in an Eclipse installation.

it seems a very useful tool.



but I cant figure out, when we want import a model, which folder sould we put in for appearing available model list?

The project directory (or a subdirectory) is a good place.