WorldViz User Forum  

Go Back   WorldViz User Forum > Precision Position Tracker (PPT)

Reply
 
Thread Tools Rate Thread Display Modes
  #1  
Old 01-27-2009, 01:57 PM
just alex just alex is offline
Member
 
Join Date: Nov 2008
Posts: 18
PPT causing height problem

For some reason, whenever I have my PPT computer connected and active with my rendering computer, the default viewpoint becomes 2 or 3 times higher than a person should be. When I run the program without PPT going, the point of view spawns at a normal height. I'm wondering if it's a problem with my code (I got thrown headfirst into this level of programming)
Code:
import viz
import math
import vizmat
import vizinfo
import vizact
from lookingat import LookingAt
viz.go()


#adds the ppt
PORT_PPT = 1
ppt = viz.add('vizppt.dls')

ppt.command(3,"",1,1,5) #scales ppt tracking on xyz axis
  

#collisions on
viz.collision(viz.ON)
view = viz.get(viz.MAIN_VIEWPOINT)
view.rotate(0,1,0,90)

#gonna comment out the collision for now, it's registering when the avatar touches
#ground as a collision

#This function is called when a collision occurs
def mycollision(info):
	print 'Collided'


#Create a callback for a collision event
viz.callback(viz.COLLISION_EVENT, mycollision)

PORT_INTERSENSE = 2
isense = viz.add('intersense.dls') 
tracker = viz.add('intersense.dls')
viz.tracker()
tracker.reset()

def mykeyboard(key):
	
	#If the R key is pressed, reset the head orientation
	if key in ['r','R']:
		tracker.reset()

#Create a keyboard callback
viz.callback(viz.KEYBOARD_EVENT,mykeyboard)


#Add the street and drop it a little bit to be below the avatars feet.
street = viz.add('objects/bspcity.bsp')
street.translate(0,-.2,0)


males = []
females = []
walking = []
whichturn = 0

#List the timers.
WALKING = 0
BLINDWALK = 1
BLINDLOOK = 2
MALEMEETING = 3
FEMALEMEETING = 4
SITTINGWOMAN=5
FREEZESITTER=6
THROWINGMAN =7
HOLDVIEW = 8
TIMING = 9

#Add the heads for the males.
maleheads = ['Male/heads/M-015-2L.vzf','Male/heads/M-056L.vzf', 'Male/heads/M-063L.vzf']
femaleheads = []
bodyparts = ['male_legs.cmx','male_torso_LS.cmx','male_shoes.cmx']
maleclothes = ['Male/clothes/male1.jpg','Male/clothes/male2.jpg','Male/clothes/male3.jpg']
#Make some avatars.
for i in range(3):
	male = viz.add('male.cfg')
	male.translate(i,0,0)
	male.visible(0,'male_head.cmx')
	male.face(maleheads[i])
	clothes = viz.add(maleclothes[i])
	for j in bodyparts:
		male.texture(clothes,j)
	males.append(male)
		
for i in range(3):
	female = viz.add('female.cfg')
	female.translate(i,0,0)
	females.append(female)



#Set up paramters for walking guy.
males[0].translate(0,0,-5)
males[0].rotate(0,1,0,-90)
males[0].whichturn = 0
males[0].set = [[1.5,0,-5],[1.5,0,15],[5,0,15],[-5,0,-5]]
males[0].end = 4
walking.append(males[0])

#Set up paramters for walking girl.
females[0].translate(1,0,-7)
females[0].rotate(0,1,0,-90)
females[0].whichturn = 0
females[0].set = [[1.5,0,0],[1,0,15],[2,0,15],[-5,0,-5]]
females[0].end = 4
walking.append(females[0])

#Add car.
#car = viz.add('objects/sport.wrl')


#Set up for meeting.
males[1].translate(-9,0,21)
females[1].translate(2,0,7)
females[1].state(1)
malemoves = [2,2,4,4,2,4,4,4,4,4,4,2,2,12]
femalemoves = [6,5,12,12,1]
females[1].rotate(0,1,0,-55)
males[1].rotate(0,1,0,135)
males[1].state(1)



#Set up for throwing man.
males[2].translate(11,0,7)
males[2].state(1)

#Set up for timing.
timebomb = 0


def onkeydown(key):
	if key == '0':
		viz.starttimer(WALKING, .1, viz.PERPETUAL)
	
	
	if key == '2':
		females[1].addAction(6)
		males[1].goto(1.6,0,7.7)
		females[1].spinto(0,1,0,-55)
		females[1].state(12)
		viz.starttimer(MALEMEETING,.1)
		viz.starttimer(FEMALEMEETING,.1)
	
	
	if key == '4':
		viz.starttimer(THROWINGMAN,.1)

	if key == 's':
		print 's'
		viz.starttimer(TIMING,1, viz.PERPETUAL)
		
def ontimer(num):
	global gravity, timebomb
	if num == WALKING:
		for agent in walking:
			agentposition = agent.get(viz.POSITION)
			agentgap = vizmat.Distance(agentposition, agent.set[agent.whichturn])
			if agentgap < .1:
				agent.whichturn += 1
				if agent.whichturn == agent.end:
					agent.whichturn = 0
			
			walk = vizact.walkto(agent.set[agent.whichturn][0],agent.set[agent.whichturn][1],agent.set[agent.whichturn][2])
			agent.addAction(walk)
			
			
	if num == MALEMEETING:
		if len(malemoves)>1:
			animation = malemoves.pop(0)
			duration = males[1].getduration(animation)
			males[1].execute(animation)
			viz.starttimer(MALEMEETING, duration-.15)
		else:
			animation = malemoves.pop(0)
			males[1].state(animation)

	if num == FEMALEMEETING:
		if len(femalemoves)>1:
			animation = femalemoves.pop(0)
			duration = females[1].getduration(animation)
			females[1].execute(animation)
			viz.starttimer(FEMALEMEETING, duration-.15)
		else: 
			animation = femalemoves.pop(0)
			females[1].state(animation)
	
	
	if num == THROWINGMAN:
		males[2].execute(9)
		males[2].execute(1)
		viz.starttimer(THROWINGMAN, 10)
	
	if num == HOLDVIEW:
		view.translate(-8.5,1.5,-2)
		
	if num == TIMING:
		print timebomb
		timebomb += 1
		
		if timebomb == 1:
			onkeydown('0')
			
		elif timebomb == 3:
			onkeydown('4')
		
		elif timebomb == 10:
			onkeydown('2')
		
		elif timebomb == 20:
			onkeydown('3')
		
		elif timebomb == 30:
			onkeydown('1')
		
		elif timebomb == 80:
			viz.quit()
	
viz.callback(viz.TIMER_EVENT,ontimer)

viz.callback(viz.KEYDOWN_EVENT,onkeydown)
viz.starttimer(HOLDVIEW,.001, viz.PERPETUAL)
As an aside, there's an extra female model spawning across the "street" from the spawn point and I can't figure out where the heck she's coming from. If anyone notices before I can find it, I'd appreciate it
Reply With Quote
  #2  
Old 01-28-2009, 03:26 PM
farshizzo farshizzo is offline
WorldViz Team Member
 
Join Date: Mar 2003
Posts: 2,849
Try adding the following line to your script:
Code:
viz.eyeheight(0)
The default eye height is 1.8 meters, and it will be added to the Y position of your tracker. Setting it to 0 will simply apply the raw tracking data to the viewpoint height.
Reply With Quote
  #3  
Old 01-30-2009, 09:50 AM
just alex just alex is offline
Member
 
Join Date: Nov 2008
Posts: 18
Thanks, that fixed everything up for me.
And I found where the random extra avatar was coming from.
Reply With Quote
Reply

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
export problem bazelaisr Vizard 2 05-28-2008 10:19 AM
5DT Data Glove 5 Ultra Problem bjgold Vizard 1 08-08-2006 04:08 PM
problem with female animations vmonkey Vizard 1 10-07-2005 10:36 AM
sound problem alaa Vizard 7 09-02-2005 01:13 PM
PROBLEM: Picture-in-Picture breaks textures?!? vcarlson Vizard 4 10-05-2004 04:22 PM


All times are GMT -7. The time now is 04:17 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC