Convert noise animation to keyframes

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

THREAD CLOSED
 
Thread Tools Search this Thread Display Modes
Old 09 September 2010   #1
Convert noise animation to keyframes

Is there any way to flatten a collection of objects animated with
noise position, so that it removes the noise controller and just
leaves x.y.z. keyframes
Attached Files
File Type: zip TEST SCENE.zip (16.3 KB, 6 views)
__________________
Mark R. Pigott
Sarnia, Ontario

Last edited by avolution : 09 September 2010 at 07:53 PM.
 
Old 09 September 2010   #2
There's a transform collapse function in the motion tab, try that.
 
Old 09 September 2010   #3
First thing I tried, it still leaves the noise on top.

If I create a point helper
add a noise animation to the y pos
and then collapse it in motion tab
If I turn off noise I get no y motion


Originally Posted by scrimski: There's a transform collapse function in the motion tab, try that.
__________________
Mark R. Pigott
Sarnia, Ontario
 
Old 09 September 2010   #4
Maybe that one
http://scripts.breidt.net/#mbCollapse
 
Old 09 September 2010   #5
Here you go. Just select the object and run the script.


  obj = $
  max create mode
  transArr = #()
  count = 1
  for q in 0 to 100 do
  (
  	at time q
  	(
  		transArr[count] = obj.transform
  	)
  	count += 1
  )
  obj.position.controller = position_xyz()
  obj.rotation.controller = euler_xyz()
  obj.scale.controller = scalexyz()
count = 1
  for q in 0 to 100 do
  (
  	at time q
  	(
  		with animate on
  		(
  			obj.transform = transArr[count]
  		)		
  	) 
   count += 1
  )
  
__________________
http://www.tysonibele.com

Last edited by ivanisavich : 09 September 2010 at 07:56 PM.
 
Old 09 September 2010   #6
I.m afraid not, using the exact test scene as above,
if you turn off the noise, you lose the animation


Originally Posted by scrimski: Maybe that one
http://scripts.breidt.net/#mbCollapse
__________________
Mark R. Pigott
Sarnia, Ontario
 
Old 09 September 2010   #7
If you run this script on the test scene above, it still needs the
noise mod or the point helper will not move
it creates keyframes however. but if you disable the noise,
it will not move


Originally Posted by ivanisavich: Here you go. Just select the object and run the script.


   obj = $
   max create mode
   transArr = #()
   count = 1
   for q in 0 to 100 do
   (
   	at time q
   	(
   		transArr[count] = obj.transform
   	)
   	count += 1
   )
   obj.position.controller = position_xyz()
   obj.rotation.controller = euler_xyz()
   obj.scale.controller = scalexyz()
 count = 1
   for q in 0 to 100 do
   (
   	at time q
   	(
   		with animate on
   		(
   			obj.transform = transArr[count]
   		)		
   	) 
    count += 1
   )
   
__________________
Mark R. Pigott
Sarnia, Ontario
 
Old 09 September 2010   #8
Originally Posted by avolution: If you run this script on the test scene above, it still needs the
noise mod or the point helper will not move
it creates keyframes however. but if you disable the noise,
it will not move


Oh well I opened your scene and you're not even using a noise controller. You're using a noise modifier which is not what you want to do because it won't affect the point's transform at all.

Take off the noise modifier, and instead add a position noise controller (in the motion panel), then use any one of the solutions already posted in this thread and you'll see they all work.
__________________
http://www.tysonibele.com
 
Old 09 September 2010   #9
I can try that; but it seems strange that there is no way to bake such things as
noise modifier, or flex down to a base object with keyframes.
Oh and I have a real hate-on for the noise controller, because if you apply
a noise controller to say 25 point objects, randomize the seed via script
you will find that on frame zero the offset are identical on all objects at
frame zero.

If a niose controller was truly random then each and every y would be different
for each and every randomized clone.


Originally Posted by ivanisavich: Oh well I opened your scene and you're not even using a noise controller. You're using a noise modifier which is not what you want to do because it won't affect the point's transform at all.

Take off the noise modifier, and instead add a position noise controller (in the motion panel), then use any one of the solutions already posted in this thread and you'll see they all work.
Attached Files
File Type: zip TEST SCENE with noise controllers.zip (18.8 KB, 4 views)
__________________
Mark R. Pigott
Sarnia, Ontario

Last edited by avolution : 09 September 2010 at 08:25 PM.
 
Old 09 September 2010   #10
Quote: I can try that; but it seems strange that there is no way to bake such things as
noise modifier, or flex down to a base object with keyframes.
Actually there is. Try scripspot.com, there should be a few scripts available for baking vertex animation or whatever it is you try to achieve.
 
Old 09 September 2010   #11
How about point cache? Or do you specifically need the animation to be in the base object?

-Johan
__________________
Online: LinkedIn
 
Old 09 September 2010   #12
Originally Posted by avolution: I can try that; but it seems strange that there is no way to bake such things as
noise modifier, or flex down to a base object with keyframes.


You can use point cache to bake deformations but it does not create keyframes or bake transforms, which is what you requested in your first post.

Also, point helpers do not have vertices so point cache will not work on them.
__________________
http://www.tysonibele.com
 
Old 09 September 2010   #13
Thumbs up

Certain effects, such as ky_trail require that the objects pivot point be moving.
So if I animate a bunch of point helpers whether with a noise modifier or a noise
controller, unless you bake the keyframes, it will not be interpreted as motion.

I have found another way to animate the point helpers in pflow.
I create a random vector and store it in matrixrow1 and another random
vector and store it in matrix row2. By alternating between target vector and source
vector I use find target to move to and from to seemingly random points.

All point helpers are then moved to the locations over time.
I hoped to do it with noise controllers OR noise modifiers but they suffer from
a tragic flaw that all the numbers are the same on frame zero and other various
frames, and real random numbers do not suffer this problem.

But with pCont.randSpherePoint() you can be sure of a new RANDOM x,y,z
number of each proceed call in pflow.

Hopefully this explains my situation!


Originally Posted by JHN: How about point cache? Or do you specifically need the animation to be in the base object?

-Johan
__________________
Mark R. Pigott
Sarnia, Ontario
 
Old 09 September 2010   #14
Originally Posted by avolution: All point helpers are then moved to the locations over time.
I hoped to do it with noise controllers OR noise modifiers but they suffer from
a tragic flaw that all the numbers are the same on frame zero and other various
frames, and real random numbers do not suffer this problem.


That's where the seed setting come in play. Have all objects a different seed and all motion is different:

pseudo code = for n in getClassInstances NoiseController do n.seed = random -1000 1000
Not behind max, but that should make all controllers have unique animation.

-Johan
__________________
Online: LinkedIn
 
Old 09 September 2010   #15
Regardless of seed settings, they all have the same y displacement on frame zero.
I do not consider this to be mathematically "random"


Originally Posted by JHN: That's where the seed setting come in play. Have all objects a different seed and all motion is different:

pseudo code = for n in getClassInstances NoiseController do n.seed = random -1000 1000
Not behind max, but that should make all controllers have unique animation.

-Johan
Attached Files
File Type: zip TEST SCENE with noise controllers.zip (18.8 KB, 5 views)
__________________
Mark R. Pigott
Sarnia, Ontario
 
Thread Closed share 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

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 02:51 PM.


Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.