Collisions with multiple nodes using the same model

NodePath.find() and NodePath.findNetTag() both always returns a NodePath, not a bool. And if they fail to find what they’re looking for, they return an empty NodePath, not None. An empty NodePath is still considered a True value by Python, which is why your attempts like:

if foo.find("blah"):

and:

if foo.findNetTag("blah"):

are always going execute the body of the if, regardless of whether the find succeeded or not. You could do something like this instead:

if not foo.find("blah").isEmpty():

David