How can i Animate a digital Clock in Blender

Hi there

I am searching now for quide a long time ti figure out how I coul animate a digital Clock with blender.

Do you have any idea ?
Is ther maybe a skript for this out there?

thanks for your help !

As in, you’d like it to actually animate as a clock would, or you’re not sure how to make the clock itself?

I’d think the most simple way to animate it would be to have a script involving several loops that changed the layer of each bit over time.

You could also use textures. Have a single texture that works on an animation of the digits.

Or, you could use 10 layers of planes, with the digits 0-9 on them and animate their alpha values. This would make all but the required digits invisible.

Ian

or you could use a texture plugin that was specifically designed for this:

http://www-users.cs.umn.edu/~mein/blender/plugins/

http://www-users.cs.umn.edu/~mein/blender/plugins/texture.html

http://www-users.cs.umn.edu/~mein/blender/plugins/texture/led/index.html

http://www.five-o-clock.de/blender_plugins/led.html

Thank you very much for your ideas

or you could use sequential stills and use them as a texture.

Hi,

I’ve done a script for changing numbers, and recalculate to seconds and minutes. Because I’m not a python wizard, it’s short and not elegant, but works.

All you have to do, is to write a script in the editor, insert the text-object ‘Text’ ,make a script link to frame changed and press alt+a.

if you’re lazy, you can download the example .blend

http://www.breezah.de/blender/stoppuhr.blend

hope that helps.
PS. You’ll need full Python Install, because of the time module.

import Blender
import time
from Blender import Curve , Object, Scene, Text3d, Window

t=Blender.Get(‘curtime’)
s=int(t/25)
m=int(s/60)

sec=s%60 #modulo gives the seconds
if sec < 10:
sec=“0”+str(sec)
if m < 10:
m=“0”+str(m)

time=str(m)+“:”+str(sec)
#To Change the text in a Text3d object
obj = Blender.Object.Get(“Text”)
txt = obj.getData()
txt.setText(time)
obj.makeDisplayList()
Window.RedrawAll()

Blender.Redraw()