WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   .translate 'n' .goto (https://forum.worldviz.com/showthread.php?t=427)

vsully 09-28-2005 05:35 PM

.translate 'n' .goto
 
Hi,

Trying to animate an object reseting to a position then moving to locatoin. Right now using a 'myfunc' director function to call a .translate and a .goto.

Problem is, repeated calls to viz.director(myfunc) results in the object moving farther and farther away.

.translates are absolute_world.

thoughts?

second thoughts, it works with simple scripts, but not with the 3dsound and texturing i'm trying. i've attached the portion of the code this deals with.

Code:

import viz

viz.go()

CAR_TRANSFORM = [1,1,1]
CAR_GOTO = 15

#Add mini
mini = viz.add('mini.osgx')
mini.translate(CAR_TRANSFORM, viz.ABSOLUTE_WORLD)

#Mini cooper textures
miniTextures = [viz.add('images/coopers01_chilired.jpg')]

def movecar():       
        #texture car
        mini.texture(miniTextures[0],'default')
        #play sound
        mini.playsound('audio/vwbuggy.wav',viz.PLAY)

        mini.translate(CAR_TRANSFORM, viz.ABSOLUTE_WORLD)
        dest = CAR_TRANSFORM
        dest[2] = dest[2] + CAR_GOTO
        mini.goto(dest, 2, viz.SPEED)

        vizact.waittime(3)
       
def stuff(key):
        viz.director(movecar)
       
viz.callback(viz.KEYUP_EVENT, stuff)


farshizzo 09-28-2005 08:55 PM

Hi,

The problem is with the following line:
Code:

dest = CAR_TRANSFORM
In python when you assign a list to a variable, it doesn't make a copy. So when you modify the z coordinate of the dest variable you are also modifying the CAR_TRANSFORM variable. Use the following code to make a copy of the list:
Code:

dest = CAR_TRANSFORM[:]

vsully 09-28-2005 08:59 PM

k thanks - i was thinking it might be something simple like that... :p


All times are GMT -7. The time now is 04:27 PM.

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