#1
|
|||
|
|||
View
I have tried to link my view to my avatar and make it first point of view. I have assigned r key to make avatar and view go to a certain point and also created another view to be able to change my view. I have tried to look side, up and down by pressing certain keys but they don't work properly and another problem is that my animated path (r key ) doesn't work now.
Please take a look at my code. and tell me what are the mistakes that I have made. import viz viz.go() viz.add('tut_ground.wrl') view = viz.MainView character = viz.add('vcc_male.cfg') # Add a CAL3D based avatar character.state(1) # Activate the walking state viewLink = viz.link( character, view) viewLink.setDstFlag( viz.LINK_HEAD) viewLink.preTrans( [-.4, .1, 0] ) vizact.whilekeydown(viz.KEY_UP,character.rotate,1, 0,0,vizact.elapsed(-15),viz.REL_PARENT) vizact.whilekeydown(viz.KEY_DOWN,character.rotate,-1,0,0,vizact.elapsed(-15),viz.REL_PARENT) vizact.whilekeydown(viz.KEY_RIGHT,character.rotate ,0,1,0,vizact.elapsed(15),viz.REL_PARENT) vizact.whilekeydown(viz.KEY_LEFT,character.rotate, 0,1,0,vizact.elapsed(-15),viz.REL_PARENT) def characterWalk (key): if key == 'r': character.state(2) walk = vizact.walkTo([10,0,0],1,45) character.addAction(walk) viz.callback(viz.KEYBOARD_EVENT, characterWalk) secondView = viz.addView() secondView.setPosition(10,2,20) secondView.rotate(220) def anotherView (key): if key == 'v': viz.MainWindow.viewpoint(secondView) viz.callback(viz.KEYBOARD_EVENT, anotherView,priority=1) |
#2
|
|||
|
|||
I found the solution
|
#3
|
|||
|
|||
I was able to make my view move and rotate correctly, but the problem is that I can't fix my view to be beside the avatar's head. and I also want to press a key for example 'r' and move the character to a certain point but anything I tried didn't work at all.
Please take a look at my code: import viz viz.go() viz.clearcolor(0.5,0.5,1) MOVE_SPEED = 5 # how fast the viewpoint move TURN_SPEED = 60 # how fast the view point rotate viz.add('tut_ground.wrl') char = viz.add('vcc_male.cfg') char.state(1) view = viz.MainView view.setPosition(0,1.7,0) car = viz.add('mini.osgx') car.translate(5,0,5) def mytimer(num): Quote:
viz.callback(viz.TIMER_EVENT,mytimer) viz.starttimer(0,0.01,viz.FOREVER) def updatechar(): #translate the character to the position of the viewpoint char.translate(view.get(viz.HEAD_POS)) #rotate the character to the same orientation as the BODY_ORI. char.rotate(view.get(viz.BODY_AXISANGLE)) #move the character beside the view. char.translate(0,-0.35,0,viz.REL_LOCAL) #viz.REL_LOCAL. This tells vizard to translate the car relative to its local coordinate system (i.e. relative to the direction the car is facing). def mousemove(e): #gets the Euler angle rotation of the HEAD_ORI euler = view.get(viz.HEAD_EULER) #adding the x movement of the mouse to the current yaw(we multiply the x movement by 0.1. This is to decrease the sensitivity of the movement) euler[0] += e.dx*0.1 #adds the y movement of the mouse to the current pitch. We need to negate the value since a positive pitch value means rotating down, but moving the mouse down means having a negative y movement. euler[1] += -e.dy*0.1 #clamping the pitch value between -90 and 90, since we don't want to let the user look down or up so much that they end up upside down. euler[1] = viz.clamp(euler[1],-90.0,90.0) #rotating the HEAD_ORI of the viewpoint by the new euler angle rotation view.rotate(euler,viz.HEAD_ORI) viz.callback(viz.MOUSE_MOVE_EVENT,mousemove) #Turn off built in mouse viz.setMouseOverride() #Hide cursor viz.cursor(viz.OFF) def mousedown(button): if button == viz.MOUSEBUTTON_LEFT: view.reset(viz.HEAD_ORI) elif button == viz.MOUSEBUTTON_RIGHT: view.reset(viz.BODY_ORI|viz.HEAD_POS) updatechar() viz.callback(viz.MOUSEBUTTON_EVENT,mousedown) Last edited by nlfrnassimi; 03-11-2009 at 11:24 PM. |
#4
|
|||
|
|||
sorry about the code I can't get the code indentation. please tell me how to do that.
|
#5
|
|||
|
|||
just post the code inbetween the code tags [ code] code goes here [ /code]
without the extra spaces I added in order for the tags to show up as text |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
view problem | nlfrnassimi | Vizard | 3 | 03-11-2009 08:33 PM |
Manipulating Tracker View | Micha | Vizard | 3 | 02-25-2008 10:05 AM |
problem with stereo mode | shivanangel | Vizard | 3 | 10-17-2006 09:58 AM |
Moving view with object | Xliben | Vizard | 2 | 07-25-2005 05:36 PM |
keeping a 3d object in front of the view | tavaksai | Vizard | 1 | 07-07-2004 09:33 AM |