Changing Text During Animation


#1

I’m new to Bongo and would like to model a surface changing temperature. I have animated the surface by changing its color but I am more interested in getting an exact temperature reading shown as text on the surface. Is there a way to have the text automatically change during an animation? Thanks in advance.


(Willem Derks) #2

Hi Ingrid,

I have never tried this myself, but maybe you can use a textfield in the text to display the length of a curve. Animating that curve to change it’s length to the temperature you want to display might work.

textfields.3dm (41.3 KB)

textfields: http://docs.mcneel.com/rhino/5/help/en-us/information/text_fields.htm

HTH
-Willem


(Luc Adriaenssen) #3

As far as I know there is no way to animate the content of a Text Block (nor Leader or Annotation Dot) – maybe something to append to the wish-list, Marika?
But, like any other object, Dimensions and Text can be moved, rotated, scaled, made visible/invisible and change color. Visibility may be the solution to your desire. You can install a series of Text Blocks with the various temperatures and make them appear at the appropriate moment. In attachment is a sample model which led to the video.

Tip: When you use Rhino Render to render your animation notice that Dimensions and Text Blocks aren’t displayed by default. You have to mark the regarding checkbox in the Rhino Render Options > Miscellaneous

counting.MP4 (188.0 KB) counting.3dm (79.6 KB)

A setback in using this invisible/visible technique is that an object that is invisible at the start of an animation remains undisplayed while the animation is previewed (“played”), whatever some keyframe decrees. Only when you step-through or ‘scrub’ (drag the timeline slider) Rhino’s viewports are updated properly.
This is the reason why I installed a keyframe at tick 0 turning every Text Block visible. The real thing starts at tick 1. During editing I leave the start of the animation at tick 0, hence making it easy to preview my labor.

Once finished and ready to render, the start should simply be put to 1.

Luc