Access to parts of model with one connected skeleton

Hello everybody,

I have created a model in blender (a human hand), this model has a skelton and consists of one geometry.



My problem is, how can I get access to single geometry parts of the model (like one finger link), which is represented in blender by a vertex group ? On having access I want to manipulate the opacity or the color or just want to know which link was picked by mouse.



I tried to solve the problem by separating my blender model into several objects and loading all objects on their own, but now the skelton is only part of my root object which is the only object which is influenced by the bones and not the other objects. In blender everything is working like before when the hand was one single object.



[edit - futher investigation]

My skeleton is part of every single object, but it is not the same skelteton, its a complete duplicate. So it would be possible to get working what I wanted to, but I need to manage that all duplicated skeletons are treated like one. That would be possible but it is not a nice solution because I would have the full skeleton 15 times (I want to separate my hand into 15 parts). I have also tried to remove the animation controller (including the skeleton) from the further loaded objects and replace it by the controller form the root object, but it seems not possible to attach one controller to several objects.



How can I solve this issue?



Thanks in advance!

u can apply a different material to very piece of geometry you need to be treated as a separate geom, in theory your model can have the same texture map but u would have to create separate materials that references that texture and apply the materials to every part you to be treated as separate i.e one material per mesh part.

Thank you for your answer and the great idea. I will try that.

just in case this wasn’t clear I mean in your modelling animation package

Hi McBeth,

yes I had unterstood what you mean. I have already tried it and it is working fine. I could now distinguish between my different parts of the model during picking. But I have another problem now, My model is divided into several geometries by jme depending on the material (like you have told me) but I have a problem of recognizing the different parts, because JME/OGRE Importer puts its own names on the geometries ([MODELNAME]-geom-[NUMBER]) and also the materialnames from the imported model are not available in the material object of the “subgeometries”. The only possebility I can see in the moment is hardcoding the mapping because the order seems to be the same every time I load the model. But this is not a nice solution and could be errorprone if I change something in the model.



Is there a better solution available?

if are using jgojmp in the model viewer u should be able to select the submeshes and rename them at least I seem to remember u could do that, I only use jmp for art stuff and some testing things each selected mesh is highlighted then u can rename them as needed and save the jgo I tend to use the mesh.xml and rewrite them to reference j3m… jmp will choke on that though if u try to import and convert, but I’ll have to eventually do the jgo thing to get my names …but I digress u should see the mesh hierarchy in the bottom panel outliner thing just collapse the node and u’ll see your names see around minute 4 in this for an example of atleast getting to the mesh names …if u cant change them then aleast u’ll know what’s what…if u get my meaning



http://www.youtube.com/watch?v=IDHMWsu_PqA

The j3m hack in the ogre loader will be removed at some point @mcbeth. Use the MaterialExtensions system if your exporter does export the additional data like normal maps etc. (e.g. world forge).

@c.hrabia: The structure in your 3d editor and in jme doesn’t have to match, a single object might be separated, hence making the names match could result in multiple geometries with the same name.

@normen said:
The j3m hack in the ogre loader will be removed at some point @mcbeth. Use the MaterialExtensions system if your exporter does export the additional data like normal maps etc. (e.g. world forge).


yeah I kinda realized its a hack, I'll let jmp handle it the "right way" soon.....
@normen said:
hence making the names match could result in multiple geometries with the same name.

just a question though wouldn't those "same names" be within different parent nodes, wouldn't that be enough to differentiate them .........unless u are doing a search of the root node or some other higher level node for geoms .........just asking
@mcbeth said:
just a question though wouldn't those "same names" be within different parent nodes, wouldn't that be enough to differentiate them .........unless u are doing a search of the root node or some other higher level node for geoms .........just asking

No they would be in the same node if they got separated by the importer. I wouldn't mind the names being the same personally though.

@normen:

Of course it is not necessary to have the same structure in JME and Blender but the problem is, that I need to know which part of my model is picked by mouse. And that is why I need some kind of mapping, the easiest way would be some kind of name mapping, but if this do not work, how could I achieve such a mapping of the logical structure of my model and the imported geometry?

didn’t my suggestion work :? the only thing is u wont be dealing with ogre directly anymore…I do agree that the meshes could retain some semblance of their original name like an append the material names or part thereof, or something that can be more descriptive.

@c-hrabia said:
@normen:
Of course it is not necessary to have the same structure in JME and Blender but the problem is, that I need to know which part of my model is picked by mouse. And that is why I need some kind of mapping, the easiest way would be some kind of name mapping, but if this do not work, how could I achieve such a mapping of the logical structure of my model and the imported geometry?

When you import it you can change the names in the SceneComposer, thats exactly what its made for, preparing your models to make them _really_ game ready after you get the mesh and texture buffers from your 3d editor in.

@ normen:



Ok I got it. Renaming works fine in jme sdk. The only disadvantage is that I need to repeat that procedure every time I change my model.



@mcbeth:

Sorry I have misunderstand something while you first mentioned renaming inside the sdk.





Thank you both for helping!