PDA

View Full Version : Picking Sub Objects


chris2307
11-21-2013, 02:24 AM
Hi all,

I am having a bit of trouble identifying objects within a scene using the mouse. I have something working but it is not giving me the output I wanted or expected.

I have made a simple scene in 3DS Max which contains two balls (one named Red Ball and the other named Blue Ball). I exported the model to OSGB and loaded this up in a Vizard scene. I did not attach the separate polygons in 3DS Max but I did export the scene as one model.

In the Vizard inspector, I can see the model and select the different objects. The inspector kindly shows up "Floor" "Red Ball" and "Blue Ball" so I know this information is there.

However, when I use viz.pick(info=True) to return an object, I am able to identify the different objects when I hover my mouse over them but I don't get the names. Instead, I see "14 - Default", "15 - Default"and "09 - Default"

Here is my code:


def showPicked():
object = viz.pick(info=True)
if(object.valid):
print object.name

vizact.ontimer(0.1, showPicked)


Can anyone help me understand what is going on?

Jeff
11-21-2013, 05:12 PM
Can you post a screenshot of the scene graph tree from Inspector?

chris2307
11-22-2013, 04:16 AM
I am wanting to access the names "Blue Ball", "Red Ball" and "Floor".

Preferably using a method in a similar fashion as to viz.pick(). Although I did a search in the forum before posting this, I admittedly found a post I had missed which discussed the same problem. My bad! :rolleyes:

The poster was told that he could get the name from node and compare this to the object returned from viz.pick() which I have been able to do but my issue with this is that eventually, I will want to be loading in large scenes so creating long if statements isn't the elegant (or possibly even the efficient) way I wanted to go about things.

P.s Thanks for the reply :)

Jeff
11-22-2013, 12:21 PM
The geometry node names are assigned by the OSG exporter for Max using the material names. The viz.pick command is passing back the name of the lowest level node which is the geometry. If your objects have different materials you can rename the materials so those names show up when you pick the object.