WorldViz User Forum  

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

 
 
Thread Tools Rate Thread Display Modes
Prev Previous Post   Next Post Next
  #3  
Old 04-23-2015, 09:58 PM
adhocdown adhocdown is offline
Member
 
Join Date: Mar 2015
Posts: 10
I simplified the code as much as I could. It replicates the same problem of glitchy collisions and the problem of 'Collided' calls en masse.

Code:
import viz
import time
import string
import vizact
import vizcam
import random
import oculus
import vizinfo
import vizshape
import vizinput

import viztracker
import vizproximity

viz.go()																				# Run Vizard.


#Flags
isIn = False
inWhat = -1
inWhere = None

# Counters.
revisitCtr = 0


# Arrays.
o_house = []
t_ball  = []
houses  = []

NUM_HOUSES = 24; 

# Detect and add the oculus rift ---------------------------------------------------------- #
hmd = oculus.Rift();
vrpn = viz.add('vrpn7.dle')								#Other code should use tracker number 5
posTracker = vrpn.addTracker('PPT0@WORLDVIZ-PC', 5)

isense = viz.add('intersense.dle')
oriTracker = hmd.getSensor()
oriTracker.reset(viz.RESET_OPERATORS)

if not hmd.getSensor():
	sys.exit('Oculus Rift not detected')
# Check if HMD supports position tracking ----------------------------------------------- #
headTracker = viz.mergeLinkable(posTracker, oriTracker)
supportPositionTracking = hmd.getSensor().getSrcMask() & viz.LINK_POS
if supportPositionTracking:
	# Add camera bounds model
	camera_bounds = hmd.addCameraBounds()
	camera_bounds.visible(False)

	def CheckPositionTracked():
		if hmd.getSensor().getStatus() & oculus.STATUS_POSITION_TRACKED:
			camera_bounds.color(viz.GREEN)
		else:
			camera_bounds.color(viz.RED)
	vizact.onupdate(0, CheckPositionTracked)

# Setup navigation node and link to main view
navigationNode = viz.addGroup()
viewLink = viz.link(navigationNode, viz.MainView)
viewLink.preMultLinkable(hmd.getSensor())

# Apply user profile eye height to view --------------------------------------------------- #
profile = hmd.getProfile()
if profile:
	viewLink.setOffset([0,profile.eyeHeight,0])
else:
	viewLink.setOffset([0,1.8,0])

headlink = viz.link(headTracker, viz.MainView)
headlink.reset(viz.RESET_ORI_RAW)
headlink.postScale([2,1,2])
hmd.window = headlink

vizact.onkeydown('r', oriTracker.reset)

MOVE_SPEED = 2.0
yaw,pitch,roll = headlink.getEuler()
m = viz.Matrix.euler(yaw,0,0)

# Add sensor to self.
manager = vizproximity.Manager()
target = vizproximity.Target(headlink)
manager.addTarget(target)
height = 1.3


# Enable Collision Detection --------------------------------------------------------------#
#viz.MainView.collision( viz.ON )
viz.collision(viz.ON)
viz.MainView.stepsize(3) #this seems to make the rejection twitching less violent


def mycollision(info):
	print 'Collided'
viz.callback(viz.COLLISION_EVENT, mycollision)



# Environment Setup ----------------------------------------------------------------------- #
day = viz.add('sky_day.osgb')
ground = viz.add('tut_ground.wrl')





LOCATIONS = [
	 [1, 0, -5]
	,[-5, 0, 1]
	,[5, 0, 1]
	,[3, 0, 2]
	,[2, 0, 2]
]
	
columns = []

	
# Birdhouse Setup ------------------------------------------------------------------------- #	
def make_a_home():
	col_num = 0
	for pos in LOCATIONS:
		print 'Add a house'
		newCol = viz.addChild('plant.osgb')
		
		#Create collision boxes and link to birdhouses
		colBox = viz.add('box.wrl', scale=[0.5, 8, 0.5])
		colBox.collideBox()

		colBox.disable(viz.DYNAMICS)
		colLink = viz.link( newCol, colBox )
		colBox.disable(viz.RENDERING)
	
		columns.append(newCol)
		
		x_val = pos[0]
		z_val = pos[2]
		print col_num
		print pos[0]
		print pos[2]
		columns[col_num].setPosition([x_val, 0, z_val]) 
		col_num +=1


make_a_home();

Additionally, we tried to turn on collisions with vizconnect, as well. However, the moment we useviz.collision(viz.ON), it disconnects our avatar from MainView. Do you know why this occurs?
Reply With Quote
 

Tags
collision, glitch, teleport, tracking, twitch


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
Using vizcave without tracking pcatalano Vizard 3 01-08-2013 10:17 AM
Can I get real time Intersense tracking data from another computer on the network? GoldenSun Vizard 4 04-30-2008 07:42 PM
tracking with multiple LEDS dan12345 Precision Position Tracker (PPT) 7 04-02-2008 10:44 PM
ImmersaDesk system tracking kgarr Vizard 10 09-14-2006 11:17 AM
tracking using quaternarion data jfreeman Vizard 2 06-01-2005 08:48 AM


All times are GMT -7. The time now is 11:46 PM.


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