WorldViz User Forum  

Go Back   WorldViz User Forum > Vizard

 
 
Thread Tools Rating: Thread Rating: 3 votes, 5.00 average. Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 10-11-2010, 09:08 AM
just alex just alex is offline
Member
 
Join Date: Nov 2008
Posts: 18
animation pausing problem

Hi,
I've got a program where a bunch of avatars are supposed to be walking around a city doing mundane things (window shopping, talking with someone, etc.)
My problem is that the avatars that I have just walking around the city block pause any time they reach a checkpoint in their animation path and they go back to their default state for a moment until they start walking again. I've tried a few tricks to get them to smooth out, but I can't figure out how to get them to just walk around. Here's the relevant code
Code:
males = []
females = []
walking = []
whichturn = 0

#List the timers.
WALKING = 0
for i in range(2):
	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(2):
	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 = 3
walking.append(females[0])
def onkeydown(key):
	if key == '0':
		viz.starttimer(WALKING, .1, viz.PERPETUAL)
def ontimer(num):
	global gravity, timebomb
	
	if num == DRIVING:
		for agent in driving:
			path.play()
	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)
Reply With Quote
 


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
Animation Problem :( Greenwu Vizard 4 01-05-2017 02:14 PM
another bezier animation problem masaki Vizard 1 01-24-2008 02:29 PM
Animation Tracks.... k_iwan Vizard 2 03-26-2007 05:52 PM
problem with female animations vmonkey Vizard 1 10-07-2005 10:36 AM
freeze problem shai Vizard 10 12-01-2004 11:53 AM


All times are GMT -7. The time now is 07:37 AM.


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