WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   pick() & "GEODE" problem (https://forum.worldviz.com/showthread.php?t=2980)

Renato Lima 09-21-2010 07:59 PM

pick() & "GEODE" problem
 
I created a plane on 3DS, applied a texture and exported it to .IVE

Now I am trying to get the NAME of this object (wall01) through pick(). However I get either "Material #39" on objects with texture or "Wall01-GEODE" for objects without texture. How do I get "wall01" for an object with texture? And how can I make the export not generate these -GEODE things?


Code:

object = viz.pick(1, viz.WORLD)
print object.name
I tried pretty much everything I could find on the forum, and I still have no clue as to how get "wall01" as a return to pick(). Any ideas???

Renato Lima 09-22-2010 07:11 AM

After switching to .3DS, the problem is gone. Is this a problem or limitation with the .IVE file format?

Jeff 09-23-2010 11:19 AM

The object.name field will hold the name of the lowest level transform. In the case of the .ive file that is a texture unless there is no texture. What you can do is get a handle to the child object using .getChild and then check to see if that was picked:
Code:

import viz
import vizact

viz.go()
gallery = viz.addChild('gallery.ive')
painting = gallery.getChild('art04-FACES')


def showPicked():
        object = viz.pick()
        if object == painting:
                viz.logNotice('Dali painting picked')
       
vizact.onmousedown(viz.MOUSEBUTTON_LEFT,showPicked)

The following article shows what you can do when you get a handle to the GEODE sub-object in your script:

http://kb.worldviz.com/articles/1157


All times are GMT -7. The time now is 11:12 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC