def _updatePositionDrag(self): pos = self._tracker.getPosition(self._trackerFlag) self.head.setPosition(pos) self.body_root.setPosition(pos) SPEED_DAMPING = 2.0 ANGLE_DAMPING = 0.4 MAX_DIST = 0.5 # Increment drag position towards actual position t = viz.clamp(viz.getFrameElapsed() * SPEED_DAMPING,0.0,1.0) - 1.0 self._bodyDragPos = vizmat.Interpolate(self._bodyDragPos,pos,-(t*t*t*t-1.0)) #self._bodyDragPos = vizmat.Interpolate(pos,self._bodyDragPos,SPEED_DAMPING) self._bodyDragPos[1] = pos[1] # Clamp drag distance to max value lookPos = viz.Vector(self._bodyDragPos) - pos if lookPos.length() > MAX_DIST: lookPos.setLength(MAX_DIST) lookPos[1] -= ANGLE_DAMPING # Have body root look at drag position m = viz.Matrix() m.makeVecRotVec([0,-1,0],lookPos) self.body_root.setQuat(m.getQuat())
def joymove(self, pos): """translates steering wheel movement to movement of the label text""" #if it is end of trial update score if self.EoTFlag: pos = pos[0] pos = (pos * 10) + 5 #wheelpos is between -1,1 scale = 1 scalepos = pos * scale roundpos = round(scalepos) #print "round pos: " + str(roundpos) clamppos = viz.clamp(roundpos, 0, 10) self.CurrentScore = clamppos self.lblscore.message(str(clamppos))
def onMouseMove(e): euler = self.VIEW.getEuler() euler[0] += e.dx*0.05 euler[1] += -e.dy*0.05 euler[1] = viz.clamp(euler[1],-85.0,85.0) self.VIEW.setEuler(euler)
def CameraZoom(inc): cam.fov = viz.clamp(cam.fov+inc,5.0,70.0) cam.setFov(cam.fov,1.77,0.1,1000)
def mousemove(e): euler = view.getEuler(viz.HEAD_ORI) euler[0] = viz.clamp(euler[0] + e.dx*0.1,-85.0,85.0) euler[1] += -e.dy*0.1 euler[1] = viz.clamp(euler[1],-85.0,85.0) view.setEuler(euler,viz.HEAD_ORI)
def mousemove(e): euler = view.getEuler(viz.HEAD_ORI) euler[0] += e.dx*0.1 euler[1] += -e.dy*0.1 euler[1] = viz.clamp(euler[1],-85.0,85.0) view.setEuler(euler,viz.HEAD_ORI)