GithubHelp home page GithubHelp logo

hhy5277 / mundus Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mbrlabs/mundus

0.0 1.0 0.0 20.96 MB

A 3D world/level editor built with Java, Kotlin & libGDX.

License: Apache License 2.0

Java 56.23% GLSL 1.64% Kotlin 42.14%

mundus's Introduction

Mundus

Mundus is a platform independent 3D world editor, built with Java, Kotlin and LibGDX + VisUI. The plan is, that the world you create with Mundus can be exported into a unified format (such as JSON + assets). The exported data can then be imported into any Game Engine, if someone writes a runtime/parser for that engine.

Screenshot

This project is at a very early stage in development, so expect large changes in the future.

Current features

Please note, that a lot of the UI contains dummy controls for functionality that still needs to be implemented. Below are some of the more interesting features, that already work

  • Creation of multiple terrains
  • Height map loader for terrains
  • Procedural terrain generation
  • Texture splatting for the terrain texture (max 5 textures per terrain)
  • A complete terrain editing system with texture & height brushes
  • 4 different brushes (brush form can be an arbitrary image, like in Blender or Gimp)
  • 3 brush modes for each brush: Raise/Lower, Flatten & texture paint
  • A skybox (not exportable yet)
  • Loading of g3db files
  • Loading of obj/fbx/dae files (note, that the fbx-conv binary must be set in the settings)
  • A visual translation & rotation tool (scaling coming soon)
  • Multiple scenes in one project
  • A component based scene graph (not fully implemented yet)
  • Basic export of the project into a json format + assets
  • Undo/Redo system for most operations
  • Highly accurate game object picking system, based on id color coding & offscreen framebuffer rendering. Basic concept: http://www.opengl-tutorial.org/miscellaneous/clicking-on-objects/picking-with-an-opengl-hack/

Things to consider

  • Mundus is constantly changing. Especially the internal representation of save files. At this stage of the project i don't care very much for backward compatibility, so don't fall to much in love with your creations if you want to stay up to date ;)
  • Depending on your keyboard layout some key shortcuts might be twisted (especially CTRL+Z and CTRL+Y for QWERTZ and QWERTY layouts) because of the default GLFW keycode mapping. You can change the layout mapping in the settings dialog under Window -> Settings.

Runtime

Currently i'm in the process of implementing the libGDX runtime, which is included in this repository. Runtimes for other engines/frameworks are not planed in the near future.

Contributing

Contributions are greatly appreciated. To make the process as easy as possible please follow the Contribution Guide. To get an overview over the project you might also want to check out the Project overview & architecture article.

Working from source

See this wiki article.

Credits

Logo design: Franziska Böhm / noxmoon.de (CC-BY-SA 4.0)

mundus's People

Contributors

attilabo avatar codenigma avatar krukhlis avatar mbrlabs avatar nox-moon avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.