WorldViz User Forum  

Go Back   WorldViz User Forum > Vizard

Reply
 
Thread Tools Rating: Thread Rating: 4 votes, 4.00 average. Display Modes
  #1  
Old 03-24-2009, 02:40 PM
just alex just alex is offline
Member
 
Join Date: Nov 2008
Posts: 18
smoothing a cubic bezier path

I've got an animation path that I've been having issues with. When I use a cubic bezier path, the curve will either swing too wide and leave the area I want the object to move in, or, when I add extra cp's to keep it on path, will jerk to reset it's facing rather than smoothly turn. The path is going to be way too long for just using a bezier and keeping it in the movement area.
Is there a decent way to smooth this out, or will I just have to live with the jerkiness?
Reply With Quote
  #2  
Old 03-26-2009, 06:05 PM
Jeff Jeff is offline
WorldViz Team Member
 
Join Date: Aug 2008
Posts: 2,457
Have you tried turning on autorotate for the animation path?
Reply With Quote
  #3  
Old 04-01-2009, 04:00 PM
just alex just alex is offline
Member
 
Join Date: Nov 2008
Posts: 18
Yeah, I've got autorotate on, I'll post the code as soon as I get to my computer again
Reply With Quote
  #4  
Old 04-01-2009, 09:09 PM
Gladsomebeast Gladsomebeast is offline
Member
 
Join Date: Mar 2005
Location: Isla Vizta, CA
Posts: 397
If you got the skills and the path is static, I'd stop right now and create the animation in 3ds Max.

I've spent way to much time tuning animation paths and they are never quite right.

Controlling the node's orientation with animation paths is the hardest. You might want to control the orientation with some other method. Perhaps you could have node 'lookat' another node that moves around too?
__________________
Paul Elliott
WorldViz LLC

Last edited by Gladsomebeast; 04-01-2009 at 09:12 PM.
Reply With Quote
  #5  
Old 04-02-2009, 10:40 AM
just alex just alex is offline
Member
 
Join Date: Nov 2008
Posts: 18
Here's the code.

The path is static, but I've never even looked at 3ds Max, so I wouldn't know what to do, though I might be able to pick it up with google fu.
I'll give it a go, but don't know how it'll work.

Code:
import viz
import math
import vizmat
import vizinfo
import vizact
viz.go()


#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)

#Add car.
car = viz.add('mini.osgx')

car.setScale(.8,.8,.8)


car.translate(-23,0,-8.8)


path = viz.add(viz.ANIMATION_PATH)
positions = [[-23,0,-8.8],[-23,0,-8],[-34,0,-8],[-34,0,0],[-43,0,0],[-43,0,8],[-43,0,17]]

for x in range(0,len(positions)):
        cp = viz.add(viz.CONTROL_POINT)
        cp.setPosition(positions[x])
        path.add(cp,x+1)


path.constantspeed(viz.ON,1)

path.loop(viz.LOOP)

#computes cubic bezier
path.computetangents()

path.translatemode(viz.CUBIC_BEZIER)

path.setAutoRotate(viz.ON)
car.link(path)

def onkeydown(key):
  if key == ' ':
    path.play()

viz.callback(viz.KEYDOWN_EVENT,onkeydown)

Last edited by just alex; 04-02-2009 at 10:44 AM.
Reply With Quote
  #6  
Old 04-07-2009, 12:43 AM
just alex just alex is offline
Member
 
Join Date: Nov 2008
Posts: 18
Would Google Sketchup be a possible substitute for 3ds Max?
Reply With Quote
  #7  
Old 04-07-2009, 11:16 AM
Gladsomebeast Gladsomebeast is offline
Member
 
Join Date: Mar 2005
Location: Isla Vizta, CA
Posts: 397
Don't know if Google Sketchup will work. I'll try exporting an animation to VRML and Collada from Sketchup and testing in Vizard.

It would be nice to establish an art workflow that does not center around the expensive and complex 3ds Max.
__________________
Paul Elliott
WorldViz LLC
Reply With Quote
  #8  
Old 04-07-2009, 12:57 PM
Gladsomebeast Gladsomebeast is offline
Member
 
Join Date: Mar 2005
Location: Isla Vizta, CA
Posts: 397
After checking out SketchUp, I don't think it can export animations to 3D formats like VRML. Plus, it's $500 for the Pro version which you need to export to common 3D file formats.

Anyone know if Blender can export OSG animations? It seems Blender can export to Cal3D well enough for Vizard to use it. That could be an animation workflow for Blender to Vizard. Vizard supports VRML animations, so if Blender can export animated VRMLs that could work as well.
__________________
Paul Elliott
WorldViz LLC
Reply With Quote
  #9  
Old 04-08-2009, 01:23 PM
just alex just alex is offline
Member
 
Join Date: Nov 2008
Posts: 18
Would it be possible to swap between a bezier path and a linear path? I could at least get some of the straight areas to go well then.
Reply With Quote
  #10  
Old 04-09-2009, 02:06 PM
Jeff Jeff is offline
WorldViz Team Member
 
Join Date: Aug 2008
Posts: 2,457
As long as you know how long one path takes to complete you could link your object to the second path when the timer, set to the time of the first path, expires.
Reply With Quote
  #11  
Old 04-22-2009, 01:07 PM
Gladsomebeast Gladsomebeast is offline
Member
 
Join Date: Mar 2005
Location: Isla Vizta, CA
Posts: 397
blender OSG animation workflow

I figured out how to use Blender to create animation paths. This seems much easier than tweaking control points forever in Vizard.

Steps:
1. Install Blender.
2. Install osg export plugin. Download plugin. Copy the osgexport-2.42.py file into <Program Files>\Blender Foundation\Blender\.blender\scripts directory.
3. Learn how to animate a box in blender. This video provides a simple introduction: http://www.youtube.com/watch?v=FAZFfLmbD2k
4. Checkout the attached Vizard script that moves a car around with an animated box made in blender. The zip includes the .blend file.

Code:
import viz
viz.go()

path = viz.add('output.osg')
vizact.onkeydown(' ', path.hint, viz.RESET_ANIMATION_HINT)
path.disable(viz.RENDERING)

car = viz.add('mini.osgx')

linky = viz.link(path.getChild('Cube_geode'), car, srcFlag=viz.LINK_ABSOLUTE)
linky.preEuler([0, -90, 0]) #rotate car upright

viz.MainView.setPosition([0,1,-5])

viz.MainView.getHeadLight().disable()
light = viz.add(viz.LIGHT)
light.position(.5,1,-.5,0)
light.intensity(3)

viz.clearcolor(viz.SKYBLUE)
viz.add('tut_ground.wrl')
Attached Files
File Type: zip blender_animation.zip (38.5 KB, 382 views)
__________________
Paul Elliott
WorldViz LLC
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
Problems with interaction of vizact.turn and animation path Enlil Vizard 3 11-24-2008 04:23 PM
speed on animation path whj Vizard 8 11-17-2008 07:41 PM
Cubic Bezier Curve whj Vizard 0 11-10-2008 01:52 PM
another bezier animation problem masaki Vizard 1 01-24-2008 02:29 PM
Smooth transition from Linear to Bezier in animation masaki Vizard 2 01-13-2008 11:22 AM


All times are GMT -7. The time now is 01:31 AM.


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