View Single Post
  #6  
Old 04-20-2016, 06:15 AM
jelly jelly is offline
Member
 
Join Date: Feb 2016
Posts: 38
Exclamation Help again, coordinates not reset

Dear Jeff,

I am sorry, but I am still having problems. To simplify the issue I will explain the first problem I am having, as (once solved) it may solve the others as well.

The problem is that once the trial and the animation run once, the other times they run, the coordinates are reset. To find out what happens I added two lines to find out the cooridnates (red below), at those points where I believe I should get the starting and end positions. But the output gives me this:

Code:
now
[-6.400000095367432, 0.0, -8.0]
[0.0, 1.399999976158142, 5.0]
now
[0.0, 0.0, 5.0]
[0.0, 0.0, 5.0]
now
[0.0, 0.0, 5.0]
[0.0, 0.0, 5.0]
now
[0.0, 0.0, 5.0]
[0.0, 0.0, 5.0]
Only the very fist line is correct, since that is the starting position. What happens with the coordinates for the animation and the viewpoint during the other 3 trials?. I would be so grateful for your help!

I have updated the code below.

Code:
import viz															#Needed to generate a world.
import viztask														#Needed to control the experiment structure.


viz.mouse.setVisible(viz.OFF) 										#Stops the mouse appearing on the screen.
viz.mouse.setOverride(viz.ON)										#Stops Vizard navigation using the mouse.

viz.clearcolor(viz.BLACK)


#Set the start position:
startPos = [-6.4,0,-8]


viz.go()


### Add all the resources. ############### 

maze1 = viz.add('Objects/Maze_1.dae')
maze1.visible(viz.OFF)

#Add a sky with an environment map.
env = viz.add(viz.ENVIRONMENT_MAP,'sky.jpg')
dome = viz.add('skydome.dlc')
dome.texture(env)

view = viz.MainView 

view.eyeheight(1.4)
view.setPosition(startPos)
view.collision(viz.ON)
viz.collisionbuffer(.8)

viewNode = viz.addGroup()
viewLink = viz.link( viewNode, viz.MainView)
viewNode.setPosition([-6.4,0,-8])

##Animation path

pathMaze1 = viz.addAnimationPath()

#Add control points to the path, along with their time stamp.
pathMaze1.addControlPoint(0,pos=(-6.4,0,-8),euler=(0,0,0),scale=(2,2,2))
pathMaze1.addControlPoint(2,pos=(-6.4,0,-8),euler=(90,0,0),scale=(2,2,2))
pathMaze1.addControlPoint(4,pos=(0,0,-8),euler=(0,0,0),scale=(2,2,2))
pathMaze1.addControlPoint(8,pos=(0,0,5),euler=(0,0,0),scale=(2,2,2))

#Duation of animation
pathMaze1Duration = pathMaze1.getDuration()


#Loop the path in a swinging fashion (point A to point B to point A, etc.).
pathMaze1.setLoopMode(viz.OFF)


def maze1trial():
	print 'now'
	print view.getPosition(mode = viz.ABS_PARENT)
	pathMaze1.reset()
	maze1.visible(viz.ON)
	viewNode.setPosition(-6.4,0,-8)
	link = viz.link(pathMaze1,viewNode)
	yield pathMaze1.play()
	yield viztask.waitTime(pathMaze1Duration)
	print view.getPosition(mode = viz.ABS_PARENT)
	link.remove
	maze1.visible(viz.OFF)


def masterFunction():								
	for x in range(4):
		yield maze1trial()
		
viztask.schedule(masterFunction())
Reply With Quote