[Editor] - SceneWorker
Project name: Scene Worker
Game type: Editor
Links: http://code.google.com/p/scenemonitor/
Links: http://jmonkeyengine.com/blog/sceneworker/
Links: http://www.youtube.com/user/ncomptube
License: BSD
Recruiting Yes
Contact: ncomp
Status: active
Abstract:
SceneWorker is a tool to create and edit scenes using jme and built on nymons SceneMonitor framework. It can be executed as a standalone application or plugged into your source code. It is a Swing application/framework and it is extensible.
Current Release is version 1.1 alpha 2. Both standalone and jars can be found here;
http://code.google.com/p/scenemonitor/downloads/list
I'm looking for people to help out with coding or testing.
Caveats for this release : mouse based transformation tools are very very buggy, most of the features have not been stress tested.
Demos with incomprehensible irish man mumbling over them can be found here;
http://www.youtube.com/user/ncomptube
Feature List
Features
General
- spatials, renderstates can be cut, removed or pasted from the scene graph
- objects can be copied by reference or copied by data i.e. cloned
- all classes implementing savable can be saved to disk
- SceneWorker can be run as standalone or plugged directly into source code with less than 5 lines of set up
Tools
- spatial selection tool allows spatials to be selected from the scenegraph by clicking on them
- triangle selection tool allows individual triangles to be selected from the currently selected spatial, this will also update the mesh buffer inspector
- free translation tool allows spatials to be translated by clicking and dragging in the window
- rotation, translation and scale axis modifiers are present
- rotator tool allows you to specify rotations about x, y, z for the selected spatial
- front, top and left camera buttons
- align along x aligns selected spatials along x axis
- align along y aligns selected spatials along y axis
- align along z aligns selected spatials along z axis
- space along x spaces selected spatials along x axis
- space along y spaces selected spatials along y axis
- space along z spaces selected spatials along z axis
Preferences
- can set the far planne of the camera
- edit the background colour of the scene
- toggle integer snap on for translation of spatials
- toggle zooming of camera to objects selected from the scene tree
- toggle placement of newly created objects at cameras position
- OpenGL Extensions can be inspected and searched
- GLSL shader language info can be inspected
Primitives Creation and Editing
- support for editing and creation of Quad, Box, Sphere, Text, Dome, Cylinder, Disk, Pyramid, Capsule, Torus, Tube, RoundedBox, PQTorus and TeaPot
Import
- following formats are supported for importing; jme, ogre xml (mesh and scene types), eds, ms3d, obj, x3d, md3, md2, ase, dae
- there is also an interface to the resource locator tool so resource locations can be set prior to import
Scripting
- beanshell controller can be added to a spatial so that spatials can be scripted in their update method
- execute beanshell editor can be used to execute a script on a selected spatial
- script snippets include Simple Ambient Occlusion Shader Attribute Calculator, Tangent Binormal Shader Attribute Calculator
- java 2D textures can be created
Utilities
- update render state, geometric state and bounds can be called on any selected spatial
- objects can update their translations to track the camera
- normals can be recalculated on a node, recursive function
- normals can be inverted on a node, recursive function
- texture coordinates can be copied from one unit to another
- all controllers can be restarted in a node, recursive function
- spatials can be dropped onto other spatials or the ground
- spatials can be dropped onto other spatials bounds
- children of a node can be reorganised
Ogre Mesh Animation Controller
- animations associated with MeshAnimationController can be inspected
TriMesh
- conversion to CLODMesh and AreaCLODMesh supported
- export of tri mesh with parent transformations and buffer selection supported
- normals can be calculated afresh from the vertices of the mesh
- mesh's can be "smoothed" by connecting common vertices
- mesh triangle index buffer and texture coordinates can be inspected, also can be updated from the triangle pick tool
- simple and i mean very simple trimesh editor
LOD
- DiscreteLODNodes can be added to the scenegraph and distance data can be edited
- TriMeshs can be converted to CLODMesh or AreaCLODMesh
- CLODMesh targets can be inspected
LightState
- lights can be removed, added and edited for LightState renderstates
- pointlights and derivatives are rendered with sphere representation if selected
SpatialTransformerController
- can be added to the spatial
- transformations and key frames can be edited for the controller via the SpatialTransformation editor
Shader Support
- ability to create GLSLShaderObjectsState and apply to spatials
- can load, save and edit shaders
- shader editor has GLSL code completion and formating
- shaders can be compiled and errors reported
- can create and edit/update all jme supported uniforms
- shader snippets including : Basic Texture Shader, Diffuse Lighting Fragment Shader, Basic Texture with Diffuse Lighting Fragment Shader, Diffuse and Specular Lighting Vertex Shader, Diffuse Lighting Vertex Shader, GreyScale Shader, Inversion Shader, Ambient Occlusion Shader, Convolution Kernel Filter Fragment Shader, Mean Blur Shader, Texture Combined with Alpha Shader, Normal Map Diffuse Shader, Normal Map With Specular Hilights Shader, Pastel Shader, Sepia Shader
SkyBox
- skyboxes can be created and edited
Lensflare
- lens flares can be created
Billboard
- Billboards can be created
Arrows and Axis Rods
- Arrows and Axis Rods can be created
Topic Help
- topic based help dialog for SceneWorker and jme
- topics include examples, links and theorey
Blend Calculator
- simple tool to work out blend factors
Terrain Creation
- terrain pages can be created from height maps
- height maps can be defined as HillHeight, FaultFractal, MidPoint or ImageBased
- terrain data such as step scale etc can be defined at creation
Textures
- textures can be loaded into texture states
- textures can be loaded into texture units via the texture unit editor
- TextureRenderer can be created with screen dimensions if preferred and assigned to a texture state
- TextureRenderer's scene graph can be inspected and edited the same as a jme spatial/node
- TextureRenderer's camera can be modified or locked into the display systems camera
- TextureRenderer's background can be edited
- TerrainPages can have procedural textures generated
- Textures can be generated from a scripted java 2d interface
PassNode
- can be added to the scene graph
PassNodeState
- can be added to PassNodes
- renderstates can be added to PassNodes
Pass Manager
- PassManager's passes can be inspected
- passes can be added to the pass manager
Pass
- spatials can be added to a pass
- pass spatial scene graph can be explored and edited the same as a jme spatial/node
- renderstates can be added to a pass
- full screen quad can be created for a pass
KeyBindingManager
- ability to inspect commands and associated keys of KeyBindingManager
Used API's:
- jME2
- jme physics
- Scene Monitor
- BeanShell
- MigLayout
Active Members:
Name
|
Role |
Status
|
ncomp
|
Project Leader |
active
|
nymon
|
Scene Monitor Project Leader |
active
|
Latest Threads
http://www.jmonkeyengine.com/jmeforum/index.php?topic=9330.0