In the spirit of helping out some users to roll their own editor, I decided to try and create some high quality, Maya-style manipulators. I’ve just about finished the rotation one that you can see below.
I’m banking on the translation and scale ones not being as complicated, and once I’m finished I should be posting the code if you’re interseted in using them.
Good job! It looks familiar from the point of view of a Blender user
Are those looking the same at all zoom factors? (would require rescaling in respect to the distance to the cam + some FOV calculations, I guess)?
And is that the level editor which is included within the original sources? (By Gyedo and Craig W.)
Suggestion: use the same colors for the rings as for the axes they rotate around.
I’m currently scaling all the gizmos by a factor calculated like so:
( self.getPos() - self.camera.getPos() ).length()
This gets multiplied by a ‘size’ property which takes place of the usual scale (since this is now controlled by the distance to the camera) and is bound to the + and - keys to increase / decrease the size of the gizmo.
The axes are normally the same colour as the axis they equate to, except when they are selected / highlighted. In this case they turn yellow.
The UI is just a proof of concept (might turn into something more ) that I cooked up based off Ogitor for Ogre. My plan is to build a scene editor. If people want to build on top of that to create a level editor, be my guest
EDIT: Got the others up and running. Should be ready to release soon.
I’ve just finished the basic behavior for all three types of gizmos, but the code needs a bit of polish before I release it. I’ve also written a simple gizmo manager which will handle switching gizmos on certain key strokes. Shouldn’t be too much longer, I hope!
Just a quick one to say that I’m back working on this after a long hiatus. All the basic behaviour is in for the different gizmos and the code is looking pretty clean. I’ll try and fix up the remaining bugs and make a release soon.
Unfortunately, no. I do have panda3d project space sitting there collecting dust whch I’ve never completely figured out how to use. I suppose I could upload a zip there?
I decided to finally make use of the Panda project webspace I have. I might upload to Google at some point, but I really wanted to get this out and get some feedback from the community.
Please let me know if this link works! I’m not terribly familiar with manipulating webspace.
There are still a few bugs which I’m working on currently, but they have most of the functionality that I’m aiming for. I’ll see if I can’t add some more polish and wrap this project up.
I haven’t included a readMe yet but I’ll put that out in the next release. I’m not sure which license to use; I want people to use this stuff freely (non-commercial of course) but I wouldn’t mind a shoutout if you’re going to include this stuff in something larger… Any suggestions?
Hope you reconsider about the license. This is just the kind of thing that many are looking for, not a full level editor but the little tools and things to build one quickly.
For licenses, I’d recommend either the BSD license (which Panda3D uses) or the GPL license.
Personally, I’d go with the GPL license, because it explicitly requires anyone who uses your GPL’ed library to license their code under the GPL as well.
Although, if you prefer a more liberal license (one that allows proprietary programs to use your software without becoming FOSS themselves, which the GPL forbids), I’d recommend the BSD license.
The full texts for both licenses are linked below.
@teedee: Can I ask which part you’re unhappy with? I would like for people to be able to use these freely and build on them if they desire, as this meant to be a contribution to the community and forums for all the help I’ve gotten. I’m not sure I really like the idea of people profiting from work I’ve done however, maybe that’s just me…
I think, a few people, on here will also want to sell their products. Though I also understand the concern of other people selling your work.
It simply means you appeal to less. The reason why Panda is BSD flavored is so that (well, at the time I suppose, Disney) people can sell their games.
Otherwise panda would lose a hefty amount of traffic to other game engines namely Ogre/UDK/Unity just to name a few.
It’s acceptable that you license your code either way, it’s only important that you understand both of the free licenses and choose the one you personally enjoy the most
Nevertheless, the manipulators look great, I’ll bet that we’ll see a few editors using them sometime!
Just tried this out.
Great stuff. I think, I can use it somewhere.
I especially like the rotation tool with its “relative to view” rotation.
Bugs found:
-Moving the cursor out of the rotating circle while rotating with the same (means holding the mouse key) lets the rotation behave unexpected, e.g. continuous rotation.
-The handles sometimes stay highilghted even after moving the cursor away or clicking somewhere else.
-The scaling handle for all axes returns to size 1 when clicked, ignoring the settings done with “+” and “-”.
Very nice. Thank you for choosing a license thats compatible with my projects.
One bug: last used manipulator stays the highlight (yellow) color after releasing and moving the mouse, even after selecting another object. This is true for all the different tools (scale, translate etc)
Edit: I see Nemesis#13 above mentioned that issue, and a few others that are still present.