

I think all objects which are placed on the ground should have an origin at the base/feet, but objects which rotate on any axis (ships like razor and rzr-002, spheres, anything in the air) work better if the origin is their centre of mass. Placing them in a scene requires checking their bounding box so they can be offset from the ground (if padding is on in the mesh manager, as it is by default, then the models will float a little above the ground).īut usage can vary. Sinbad, tudorhouse, dragon, barrel, athene, razor, rzr-002 all have the origin around their centre. For all general objects this is a good standard. You tell meshes where to stand by placing their feet. This is the best position for any mesh which is placed in a typical scene, you can make a mesh sit perfectly on the ground without knowing how big the mesh is. The ninja, jaiqua and robot all have the origin at their feet (centred on X and Z, 0 on Y). This one is a little trickier because different uses benefit from different origins. The +Z direction might be ok for models you just want to drop in a scene and look at (like athene), but once they are controlled as dynamic objects it's much simpler to have them follow the ogre standard. If you tell a scene node to face another object (auto tracking, lookat, etc) then the mesh within the node should be looking at the target too, not backwards.
Ryzom resources code#
This means that ogre's camera and general facing direction code matches the facing direction of every mesh. +Z : athene, ogrehead, penguin, razor, rzr-002, sinbad, facial All lookat or setdirection style methods assume -Z as the default, and untransformed cameras face -Z.īut the meshes use various facing directions. Ogre uses -Z as the default facing direction. If another scale is preferred by the majority of users, fair enough, as long as it's uniform for all meshes. My preference is metre scale, since this is the international standard unit for distance measurement and physics engines tend to like metre scale. Proposal: All meshes should be scaled to a uniform real world unit.

Razor is 8 times bigger than rzr-002, but both are very similar ships. Sinbad is modelled in feet I'm guessing, so he's 8.9 feet tall, which sounds about right for an ogre.

The ninja is 1.95m, so he's either very tall or the scale is not cm. Some appear to be modelled to cm scale (jaiqua and athene are roughly human size at 1.6m tall). Here's the size (in ogre units) of each mesh: The green line is the Y origin.Īs you can see, the scale varies wildly. These are all the ogre sample meshes side by side with the same scaling factor. I've already fixed some issues with a few of the meshes (sh had broken normals, geospheres didn't have the origin at their center so they wobbled when rotated, etc) around a year or two ago (I think ogre 1.7 has the newer versions), but there's a lot of changes I want to make which will break current media use, which is why I put this in papercuts. While the ogre sample media is intended primarily for use in the ogre samples, having a selection of useful media already in ogre format is a great feature for rapid prototyping, especially for coders who have no art skills or nearby artist.
Ryzom resources trial#
This makes things difficult for beginners who can't put two sample meshes in the same scene without trial and error scaling, offsetting and rotating.
Ryzom resources license#
The license of the media (especially textures) is also vague. There is no standard scale, orientation or origin to the meshes. Something that's bothered me for a while has been the non uniformity of ogre's sample media.
