|
#1
|
|||
|
|||
Multiple views with robot: collision & scaling problems
Hi there.
I am building a collaborative game where I have 3 views in 3 separate windows and I am using Steve (the robot) as a representation of the each player on the other 2 views (besides its own). It's pretty much like the networking.py example of Vizard, only running on one machine. The issues I am having are caused by the fact that the robot collides with the viewpoint, although it is not being rendered in its view's window (_avatar.renderToAllWindowsExcept([avatarWindow]). I have disable INTERSECTION on the robot object, but collision is still on. In the attached image you can see how it looks like, with the robot appearing too high because it is moved upwards after the viewpoint collision. Also, I would like to have the viewpoint at the robot's eyeheight instead of neck height which is currently the center of the object. I changed the center in Steve's class using the setCenter command but it didn't work. But even if it worked the collision issue would prevent it to be there. Scaling of the robot is also problematic; setting a scaling factor messes with the tracker data (I am using the setTracker command). Basically, I am facing these 3 problems: - How can I have the robots (viewpoints) collide normally between each other, without having the robot collide with its own viewpoint? - How can I scale (enlarge) the robot without affecting tracking? - How can I align the viewpoint with the robots eyeheight? I hope these are doable because they are pivotal for my work. Thanks for your help. |
#2
|
|||
|
|||
Problems still exist! HELP!
Any help on these please!?!?
I still have those problems and need to find a solution/workaround soon. Thanks, tokola |
#3
|
|||
|
|||
To scale the robot, but not the movement, you can apply the scale to the head/body parts: For example, to double the size try the following code:
Code:
robot.head.setScale([2,2,2]) robot.body_root.setScale([2,2,2]) Code:
robot.setTracker(viz.link(tracker,viz.NullLinkable,offset=[0,-0.2,0])) |
#4
|
|||
|
|||
Some more detail please!
Farshizzo,
thanks for your reply however I had 33% success! The scale worked fine but I still have the other two problems: 1) You didn't respond on how to deactivate collision of the robot with the viewpoint on each window. Although the robot is not rendered in its own window, it still collides with the viewpoint. Why? Eventually, the view is pushed to ~2.32m instead of the default 1.82m, just between body and head, due to this collision. 2) You need to be a little more detailed about your second response because I am still an amateur Vizard user! What's the tracker gonna be in this case? I am using the setTracker to manipulate the robot as mentioned in the examples, updating the matrix on every frame: Code:
robot.setTracker(view._player_matrix) Code:
robot.setTracker(viz.link(robot.body, viz.NullLinkable,offset=[0,-0.2,0])) robot.setTracker(viz.link(robot.head, viz.NullLinkable,offset=[0,-0.2,0])) Excuse my -probably- naive question but I am trying to understand and learn. Thanks, tokola |
#5
|
|||
|
|||
Problems still unresolved!
Farshizzo,
could you please share your knowledge on the issues mentioned above, and clarify things? I still couldn't overcome the collision and view offset problems, and it's rather imperative to make these robots behave as described. Thanks a lot, --Panagiotis |
Thread Tools | |
Display Modes | Rate This Thread |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
multiple views | durf | Vizard | 3 | 05-07-2009 11:26 AM |
Problems with making multiple objects from one .wrl? | mjabon | Vizard | 3 | 07-10-2007 01:23 PM |