UPDATED ON 12/02/2012 - Version 0.3
This is a JPCT software I have created as part of a student project. It started as an exercise on the use of JPCT and it developed into this fairly complex toolkit that I used to create most part of an Android game
currently available on the Android Market. I developed it a way that it could hopefully be of use to other JPCT users in their projects. While a number of versions were released, correcting a number of bugs reported, the software may still contain bugs (for which reports are appreciated!).
jBrush is a World and Animation editor. It allows you to import 3DS, OBJ and MD2 models, do the usual scale, rotate and translate operations. It has a 3DSMax-like interface where you can navigate the camera through the environment, rotate it around an object, position it front, side or on top of the scene. World Editor:
In jBrush you can assign textures, most of the Object3D properties (name, collision, transparency, culling, emissive color, bumpMap, parent/child). You can also set up point lights, ambient light. The tool lets you export the scene as an instruction file which can be imported with two to three lines of code inside your JPCT/AE project with the aid of the library that comes with it. The library creates Object3Ds for all the models in the scene and it lets you fetch any of the them by the name given in the editor so that they can be used for further game actions.Animation Editor:
jBrush is also a keyframe animation viewer and editor. It allows you to playback MD2 animations and to create your own animations out of 3DS keyframe meshes for a model (e.g. the 3-4 main stances of a walk-cycle) and set name and speed to the sequence created.
When linked to your project the library will take care of all the animation routines so that for any Object3D you can start or stop an animation with just one line of code. You can play animations continuously or play them once, at the same speed set up in the editor.Serializer Tool:
Finally jBrush works as an interface to JPCT's Serializer facility, so it lets you export any supported model in serialized format (.ser) for more efficient processing on the Android.
An example use of this tool for instance is to create a scene with the environment models, create keyframe animations for an enemy, place the enemies inside the map and export the entire scene. The library will let you import the scene and fetch all models whose name contain a given parameter (e.g. "enemy") and with one line of code you can play their "moving" animations and execute further game code on them.ADDITIONAL FEATURES FOR Version 0.25:
ADDITIONAL FEATURES FOR Version 0.26:
- Triggers and GUI editors. Create trigger volumes and place them in the map. Use the library functions to have the engine check for collisions between triggers and game objects in order to trigger behaviour (opening of doors, elevators, activation of enemies, starting a cutscene et cetera.)
- Create GUIs and Heads Up Display icons from image files, edit them and position them in the in-game screen. Use the library functions to dynamically turn GUIs on or off, change their position and size in-game.
ADDITIONAL FEATURES FOR Version 0.28:
- Playback MD2 animations in the editor.
- Serialize, reduce and export both MD2 animated models and Animations created in jBrush out of 3DS meshes (higher memory optimization for Android with the latter).
ADDITIONAL FEATURES FOR Version 0.3:
- Set culling and collision properties
- Set objects' parent/child dependencies and preview parented movements in editor
- Get position and orientation of editor camera (useful for recreating a specific view angle in game)
- Wireframe view mode (Useful when scene gets complex and you need to see through objects)
Download the software: jBrush (v0.3)Video previews/tutorials on how to use the library:World Editor preview and project setupAnimation Editor preview and lib usageNEW:Triggers and GUI editor preview and lib usage
- Adjust visibility of objects
- Several bug fixes
- Methods for loading level file from URL document base (for JPCT applets)
- Optimized loading of serialized objects and animations for AE
- Improved documentation
Place 3DS, OBJ and MD2 models in the scene. Edit their texture and properties.
Set up point lights and ambient light.
View MD2 animations or create animation sequences from 3DS keyframe meshes.
Place collision volumes (triggers) in the scene and create GUIs and Heads Up Display icons.