#1
|
|||
|
|||
orientation question
Hello,
Generally I have two ways to control orientation. One is to turn the viewpoint with head, the code would be like: rot_data = ppt.getEuler() viz.reset(viz.HEAD_ORI) viz.rotate(viz.HEAD_ORI, rot_data[0], rot_data[1], rot_data[2]) In this way, the direction I can see is also my moving direction. The other is to turn the viewpoint with twist value of joystick, the code would be like: if abs(joy_rot) > 0.2: angle = ANIMATE_RATE * TURN_SPEED * joy_rot viz.MainView.rotate(0, 1, 0, angle, viz.HEAD_ORI, viz.RELATIVE_WORLD) In this way, I can not change orientation by rotating my head. So my question is, is there any way that I can use the twist value of joystick to control the walking direction while I can still change orientation by rotating my head. In other words, I can use joystick to control navigation while feel free to look around. Thanks! |
#2
|
|||
|
|||
I'm not sure if I make it clear. To solve this problem, I'm looking for a way to turn off the connection between the head orientation and the moving direction. The moving direction is controlled by only joystick.
|
#3
|
|||
|
|||
Basically I want to look around with HMD and move with joystick independently at the same time. Here is what I've done. Worked a little bit and then messed up. Does anybody know how to correct my code? Thanks a lot.
def mytimer(num): global joy_pos, joy_rot ## Control orientation rot_data = ppt.getEuler() viz.MainView.setEuler(rot_data,viz.HEAD_ORI) if abs(joy_rot) > 0.2: angle = joy_rot*TURN_SPEED*viz.elapsed() viz.MainView.rotate(0, 1, 0, angle, viz.BODY_ORI, viz.RELATIVE_WORLD) ## Control position if abs(joy_pos[0]) > 0.25: viz.MainView.move(joy_pos[0]*WALK_SPEED*viz.elapsed(), 0, 0, viz.BODY_ORI) if abs(joy_pos[1]) > 0.25: viz.MainView.move(0, 0, -joy_pos[1]*WALK_SPEED*viz.elapsed(), viz.BODY_ORI) |
#4
|
|||
|
|||
Have a look at the Viewpoint control tutorial in the docs. It describes how to accomplish what you want. Basically, you would apply the joystick data to body orientation of the viewpoint and the HMD data to the head orientation. When you want to move the viewpoint, you just specify that you want to move relative to the body orientation.
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
General question and question regarding arrays | dan12345 | Vizard | 1 | 01-15-2008 11:15 AM |
question about yaw, pitch, roll | TunTun | Vizard | 2 | 05-23-2007 01:46 PM |
(beginner) calculating orientation change with eulers | astull | Vizard | 16 | 02-22-2007 10:45 AM |
intersense orientation | jargon | Vizard | 2 | 05-14-2005 05:55 PM |
to rephrase my question... | shai | Vizard | 2 | 10-27-2004 11:55 AM |