PDA

View Full Version : getTransform() and getChild() doubts


SUJITH_KJ
02-18-2015, 07:39 PM
Hello,

I have a 3D model which i opened in the inspector to get the names of the transforms. After that I used the getTransform() option and tried to perform collision detection, but the problem i faced was that there is no collideBox() attribute when i use the getTransform() option.. Alternately i tried using the getChild() option and i saw that it has the collideBox() attribute but somehow the collision detection is not working properly. Any reason or any mistake in my work???

dojo = viz.add('gear.OSGB')
fav = dojo.getChild('Q26-W840E011')
fav.collideBox()
fav.disable(viz.DYNAMICS)

vizact.onkeydown('f', fav.setPosition,[0,0,5],viz.REL_PARENT)

def new(g):
if g.obj1 == rHandBox:
print 'collided'
if g.obj2 == fav:
l= viz.link(rHandBox,fav)
viz.callback(viz.COLLIDE_BEGIN_EVENT,new)

Jeff
02-23-2015, 01:46 AM
If you want to apply a collision shape to a sub-part of the model, try using the node parameter with the sub-part name:

#Create a collideBox surrounding a child node
table = viz.add( 'table.osgb' )
table.collideBox( node = 'Top')