View Single Post
  #2  
Old 10-11-2011, 04:52 PM
Jeff Jeff is offline
WorldViz Team Member
 
Join Date: Aug 2008
Posts: 2,471
If you are using the code from your previous thread you could multiply the position of the sensor by some factor based on it's distance from the source:
Code:
import vizmat
def updateAvatar():
	pos=tracker.getPosition()
	ori=tracker.getEuler()
	
	distance = vizmat.Distance([0,0,0],[pos[0],0,pos[2]])
	if distance <= 0.5:
		speedFactor = 1
	elif distance > 0.5 and distance <= 1:
		speedFactor = 1.25
	else:
		speedFactor = 1.5
	
	avatar.setPosition([pos[0]*speedFactor,0,pos[2]*speedFactor])
	avatar.setEuler([ori[0],0,0])
	
vizact.onupdate(0,updateAvatar)
Reply With Quote