예제 #1
0
	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())
예제 #2
0
    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))
예제 #3
0
		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)
예제 #4
0
파일: pit.py 프로젝트: vhilab/VRITS-2015
def CameraZoom(inc):
    cam.fov = viz.clamp(cam.fov+inc,5.0,70.0)
    cam.setFov(cam.fov,1.77,0.1,1000)
예제 #5
0
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)
예제 #6
0
	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)