I want to create similar http://gfycat.com/InnocentWholeIbis minimap for spaceship.
What is the best approach to do this?
IMHO that’s a pretty advanced minimap. You should try to create a 2D map first for practice.
So, AFAIK, you should create a complete image of the map to 2D. Draw it or just take screenshots and put them together (if you do this way, you should change the perspective to ortoghonal. Just search for it here).
So, after you have a “map” created, just add it to the guiNode. Then, add a little marker to represent the player. Now, you just need to get the real 3D player’s position, and then adjust the values so you move the little minimap marker.
Now, if you want the map to move, instead of the marker (like in the .gif), and if you have a big map, you will need to find a way to “cut” the map and to make it fit in the minimap border. I can’t help in that way, since I don’t have an idea how would I do it.
That map you’re referencing seems half broken, I assume you mean this. As the guiNode is purely 2D (and completely useless for this type of map), it’s probably the best idea to use another transparent viewport where you can set it up with a 3D circle and then add the points on top of that.
The viewport should be layered on top of the main one, the wiki should explain how that needs to be done.
Thanks.
I got few approaches without great success. But I didn’t tried viewports. Thanks for idea - it looks promising.
So since I need to make one for my game too I’ve used the idea and have this done so far:
It’s acting quite weird at the moment since I don’t want it to be linear and I haven’t gotten the fomula quite right and it only shows really near objects atm. For other ships the jme3.scene.shape.Line also connects their blip with the plain like:
I’d be interested to see what you come up with. And for anyone else: what kind of distance formula do you usually use for minimaps?