collision problem

I want to have multiple models that collide with each other and walk on a terrain, but I am not sure how to go about it. Can someone please give me a little help?
In the Roaming Ralph demo there is a line “attachnewNode” associated with the ralph model. I’m noty sure if I have to create one for each model. I am lost as to where to start. Could someone please help me?

Have you tried this :
discourse.panda3d.org/viewtopic.php?t=2431

I’ve been here before, but the links do not work. I get an error on the page. The only link that worked is the movie.
Do you know how I can get them to work? Or perhaps, you can pm the codes to me. This would be a great help to me. Thanks

It’s there :
discourse.panda3d.org/viewtopic.php?p=14025#14025

I just finished downloading the files. I’ll look at them tonight.
Thanks very much ynjh_jo.

I was able to run terrain.py (The coding in there is mind-boggling. I don’t know if I will ever get to that level, even with Panda3d. Only 30 fps! That’s great!)

When I run scene.py I get an error:

Traceback (most recent call last):
File “scene.py”, line 204, in ?
run()
File “C:\Panda3D-1.4.2\direct\src\showbase\ShowBase.py”, line 2176, in run
self.taskMgr.run()
File “C:\Panda3D-1.4.2\direct\src\task\Task.py”, line 930, in run
self.step()
File “C:\Panda3D-1.4.2\direct\src\task\Task.py”, line 862, in step
self.__stepThroughList(taskPriList)
File “C:\Panda3D-1.4.2\direct\src\task\Task.py”, line 764, in __stepThroughList
ret = self.__executeTask(task)
File “C:\Panda3D-1.4.2\direct\src\task\Task.py”, line 684, in __executeTask
ret = task(*task.extraArgs)
File “C:\Panda3D-1.4.2\My_Files\PandaSteer2\vehicle.py”, line 702, in _step
tube.setPointB(Point3(
TypeError: Cannot call CollisionTube.setPointB() on a const object.

With pandaSteer.py I get this:

Instantiating plugin from <module ‘1_seekAndFlee’ from ‘plugins\1_seekAndFlee.pyc’>
Instantiating plugin from <module ‘2_pursueAndEvade’ from ‘plugins\2_pursueAndEvade.pyc’>
Instantiating plugin from <module ‘3_arrive’ from ‘plugins\3_arrive.pyc’>
Instantiating plugin from <module ‘4_wander’ from ‘plugins\4_wander.pyc’>
Instantiating plugin from <module ‘5_follow’ from ‘plugins\5_follow.pyc’>
Instantiating plugin from <module ‘6_obstacleAvoidance’ from ‘plugins\6_obstacleAvoidance.pyc’>
Instantiating plugin from <module ‘7_collisionAvoidance’ from ‘plugins\7_collisionAvoidance.pyc’>
Instantiating plugin from <module ‘8_combinedAvoidance’ from ‘plugins\8_combinedAvoidance.pyc’>
Instantiating plugin from <module ‘9_pathFollowing’ from ‘plugins\9_pathFollowing.pyc’>
FLATTENED
Traceback (most recent call last):
File “pandaSteer.py”, line 269, in ?
run()
File “C:\Panda3D-1.4.2\direct\src\showbase\ShowBase.py”, line 2176, in run
self.taskMgr.run()
File “C:\Panda3D-1.4.2\direct\src\task\Task.py”, line 930, in run
self.step()
File “C:\Panda3D-1.4.2\direct\src\task\Task.py”, line 862, in step
self.__stepThroughList(taskPriList)
File “C:\Panda3D-1.4.2\direct\src\task\Task.py”, line 764, in __stepThroughList
ret = self.__executeTask(task)
File “C:\Panda3D-1.4.2\direct\src\task\Task.py”, line 684, in __executeTask
ret = task(*task.extraArgs)
File “C:\Panda3D-1.4.2\My_Files\PandaSteer2\vehicle.py”, line 702, in _step
tube.setPointB(Point3(
TypeError: Cannot call CollisionTube.setPointB() on a const object.

Can you tell me how to fix this? Thanks

It’s API changes issue. Use modifySolid() instead of getSolid() to get and modify the tube.

I’ll try that. Thanks.

edit:
I tried, and got the same error.
How is it that everyone got theirs working, and mine wouldn’t?
Could it be the version of Panda I am using?

edit again:
I had to change getSolid in vehicle.py, and pandaSteer ran. However, scene.py now gives me the error: Cannot call collisionSegment.setPointB() on a const object.

final edit:
Sorry. It’s all my fault.
I did not locate all the getSolids.
They are both running now.
Lesson for me: Be thourough, not rushed.
Thanks much, for responding and helping. :smiley: