![]() |
|
#1
|
|||
|
|||
|
Detecting collision with on-the-fly object
I have generated on-the-fly cylinders using vizshape.addCylinder(). I would like to detect collisions with a specific cylinder.
I am able to detect collisions with objects using viz.callback(viz.COLLISION_EVENT,onCollision). I can get the name of the object collided with by using the following code: Code:
def onCollision(info):
print('Collided with object',info.object)
How do I name on-the-fly objects, and how do I then get the name of the object when a collision occurs? |
|
#2
|
|||
|
|||
|
You can check to see if info.object matches the name assigned to the cylinder:
Code:
import viz
import vizshape
viz.go()
viz.collision(viz.ON)
dojo = viz.addChild('dojo.osgb')
cylinder = vizshape.addCylinder(pos=[0,1.8,4])
def onCollision(info):
if info.object == cylinder:
print 'Collided with cylinder'
viz.callback(viz.COLLISION_EVENT,onCollision)
|
|
#3
|
|||
|
|||
|
Thanks very much. It looks like what I hadn't appreciated is that it is not possible to explicitly name objects (with a string), but instead I needed to follow the handle to the object.
Got it all working now
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Real time collision and object navigation | sunil.nair | Vizard | 11 | 10-04-2013 09:10 PM |
| Find collision point of line and arbitrary object | asdf | Vizard | 2 | 01-28-2013 11:04 AM |
| retrieve Object names | Geoffrey | Vizard | 11 | 12-11-2009 05:26 AM |
| linked object collision | pgagolf | Vizard | 1 | 04-19-2007 02:27 PM |
| when collision mode is on, can i "turn it off" for an individual object? | Vdoug | Vizard | 1 | 09-22-2005 01:14 PM |