Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Discussion / WIP Lightning Limbs - free 3d animation software

Author
Message
Dark Dragon
18
Years of Service
User Offline
Joined: 22nd Jun 2007
Location: In the ring, Kickin\' *donkeybutt*.
Posted: 24th Jul 2008 18:25
and....

AM I UGLY OR WHAT??!!
oh and join my PivoT Forum at....http://pivo.proboards104.com
Robert The Robot
18
Years of Service
User Offline
Joined: 8th Jan 2007
Location: Fireball XL5
Posted: 25th Jul 2008 19:16
Wow, these are great!

I especially like the Kick animation, it's really fantastic! On a minor note with the Walking cycle, there are two identical keyframes at frames 1 and 0, and this makes the animation pause a little when you loop it. I'm not sure if you specified two keyframes, but I suspect that only frame 1 was set and then DBC added keyframe 0 when the animation was exported.

Loop-animations probably work best if things start from frame 0, so if you do want to edit your run cycle, just select frame 1 on LL's timeline, click "Set Keyframe" and type 0, then Delete Frame 1.

If you don't mind crediting me, then just name me as Robert the Robot. Can't wait to play your game!

"I wish I was a spaceman, the fastest guy alive. I'd fly you round the universe, in Fireball XL5..."
Dark Dragon
18
Years of Service
User Offline
Joined: 22nd Jun 2007
Location: In the ring, Kickin\' *donkeybutt*.
Posted: 25th Jul 2008 22:28
Thanks. Now i can credit you. This is a great tool, Robert.
Thanks for devoting your time to this...

And the game wont be up for a wip in about a month. Sorry!
It's gonna be a HUGE(Story-wise) game with abilites and attacks learned along the way. At first i thought this was impossible but LL came along at the right time.


oh and join my PivoT Forum at....http://pivo.proboards104.com
Robert The Robot
18
Years of Service
User Offline
Joined: 8th Jan 2007
Location: Fireball XL5
Posted: 25th Jul 2008 22:46
Quote: "And the game wont be up for a wip in about a month. Sorry!"

Oh well, I can wait...

Seriously, though, I'm glad you like it. There's a couple of minor things I need to add (the version up at the moment can crash when switching drives in the file browser, and there's a minor problem with editing prop data) but I'm starting to think I may not be able to load animation from within a .x file. (It's irritating, I don't like a problem to beat me)

And LL is'nt quite finalised yet. There are a few extra features I'd like to add in the next version - add in limited texture control, extend the prop properties a little with some more visual commands, and create a series of anim ation templates - generic animations that you can map on to your own 3d object. And of course, I'm always open to suggestions...

"I wish I was a spaceman, the fastest guy alive. I'd fly you round the universe, in Fireball XL5..."
Dark Dragon
18
Years of Service
User Offline
Joined: 22nd Jun 2007
Location: In the ring, Kickin\' *donkeybutt*.
Posted: 25th Jul 2008 22:56
Quote: "but I'm starting to think I may not be able to load animation from within a .x file."

I'm Sure it can be done.....Maybe Try a dll?

oh is it posible to animate props? That be my only suggestion...


oh and join my PivoT Forum at....http://pivo.proboards104.com
Robert The Robot
18
Years of Service
User Offline
Joined: 8th Jan 2007
Location: Fireball XL5
Posted: 26th Jul 2008 11:57 Edited at: 26th Jul 2008 11:59
Quote: "I'm Sure it can be done.....Maybe Try a dll?"

I've been googling, and I found a link that led me right back to TGC, and the Enhanced Animations plugin for DBpro and DGDK. The only thing is, I think I only need the one command from it - "Get Parent Limb" and I'm not sure its worth getting for just the one command.

Quote: "oh is it posible to animate props? That be my only suggestion..."

In a sense, you can already do that. If the prop contains animation when you load it, under Prop Properties you can set the animation to start looping at one keyframe (Tick the Loop checkbox when setting the keyframe) and stop at another (uncheck the Loop checkbox when setting the keyframe).

I know it's not too great a level of control, so maybe I should extend the prop toolbar a little - what controls do you think should be in? Just Limb rotation/offset and selection routines?

"I wish I was a spaceman, the fastest guy alive. I'd fly you round the universe, in Fireball XL5..."
Latch
19
Years of Service
User Offline
Joined: 23rd Jul 2006
Location:
Posted: 26th Jul 2008 13:06
@Robert
DBC 1.20 is irritating when it comes to animations! You've done a great job with your program! Keep up the good work - and it's interface ties in quite nicely with lightning lights. In writing an animator for DBC, I decided to write my own key generator and am working on a limb angle return function that I can trust. I would recommend you do the same. It will allow you much more flexibility (though the initial work is a pain).

As far as wanting to get the parent limb? There's a secret command called CHECK LIMB LINK(obj,limb) that supposed to tell if the limb is linked in the hierarchy - don't know if it works or what it's supposed to return - but maybe you can get something from it.

You can figure out the parent-child relationships from an x file. There is a template name inside the X file called Frame

Each frame represents an individual limb and mesh definition. You can have multiple mesh defintions without a Frame, but in that case those all add up to a single solid mesh. The trick is to go through the X file and parse out each Frame and find it's name which is defined immediately after it's declared:

Frame right_leg {

Once you find the Frame, you'll have to keep track of it's opening and closing braces. If there is another Frame contained within the frame you are currently checking, that is a child of the current frame. You'll have to do the same search on the child frame for it's beginning and ending braces.

If you store the name and/or number of each frame and whether it's a parent or a child of what frame, you'll end up with your limb heirarchy. This is where knowledge and use of strings can come in real handy.

Be careful. Sometimes in the header area of the file, the actual definitions of the template types will be present. If your search flags on a definition of the Frame type as opposed to the actual occurrence of a Frame as a container, it could throw off your results.

If you use PERFORM CHECKLIST FOR OBJECT LIMBS you can already be armed with the name of the frames. If you search through the X file for Frame <that name> you can search upwards to see if it is contained within another frame. For that, you might want to initally load the Direct X file into an array, one string at a time so you can search forward and backward - you might also want to load it into a memblock so you can search as fine as 1 byte at a time, forward and backward. Starting with the name may allow you a dynamic method of retrieving the parent. Though I think parsing out the whole file and storing all of the parent child relationships will be better to have at hand while the program is running.

Enjoy your day.
TheComet
17
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 26th Jul 2008 14:56 Edited at: 26th Jul 2008 14:58
This program is really cool. Thanks, Robert the Robot! I have animated a lot of my models with this.

@DarkDragon

Off-topic, I just wan`t to warn you that your signature is too big... It will be erased by a mod, just like mine:

Your signature has been erased by a mod - Please reduce it to 600x120 maximum size
Dark Dragon
18
Years of Service
User Offline
Joined: 22nd Jun 2007
Location: In the ring, Kickin\' *donkeybutt*.
Posted: 26th Jul 2008 17:15
Quote: "Off-topic, I just wan`t to warn you that your signature is too big... It will be erased by a mod, just like mine:"


Yeah i know.

Your signature has been erased by a mod - Please reduce it to 600x120 maximum size
Robert The Robot
18
Years of Service
User Offline
Joined: 8th Jan 2007
Location: Fireball XL5
Posted: 27th Jul 2008 12:14 Edited at: 27th Jul 2008 12:15
@Latch
Ah, so that's the secret of the limb hierarchy! I spent ages trying to figure it out, none of the documentation I got ever explained it - that's why I had to add in the "Set Parent Limbs" function on the limb menu.

I've been having a look at "Check Limb Link" and it seems to return zero if a newly created limb can be attached to the specified limb. I can't help wondering what it's there for - surely you can always add a limb as a child of an existing limb?

@The Comet
I'm glad you like LL

"I wish I was a spaceman, the fastest guy alive. I'd fly you round the universe, in Fireball XL5..."
Latch
19
Years of Service
User Offline
Joined: 23rd Jul 2006
Location:
Posted: 27th Jul 2008 17:10
Quote: "that's why I had to add in the "Set Parent Limbs" function on the limb menu."

How are you managing to create these cross links? How are you able to set the parent of a limb of a loaded x file?

Enjoy your day.
Robert The Robot
18
Years of Service
User Offline
Joined: 8th Jan 2007
Location: Fireball XL5
Posted: 28th Jul 2008 00:04
Maybe I should have worded this differently. I don't set the parent limbs or create a limb hierarchy structure. The user merely specifies which limb they want to be listed as a "parent" as far as LL is concerned. Each limb has a slot in an array, and I store the number of the limb the user has defined as parent.

When you call Rotate Limb and Affect Parent Limb, LL looks at a chain of limbs. Select a model's foot. Click and drag and the parent limb (lower leg) will be rotated a set amount and its parent limb (upper leg) will be rotated the same amount as well - you can choose which direction with the Bend Limbs In button.

"I wish I was a spaceman, the fastest guy alive. I'd fly you round the universe, in Fireball XL5..."
Latch
19
Years of Service
User Offline
Joined: 23rd Jul 2006
Location:
Posted: 29th Jul 2008 00:46
Thanks robert, that makes sense.

Quote: "I can't help wondering what it's there for - surely you can always add a limb as a child of an existing limb?"


Maybe if you are building your own hierarchy using primatives or meshs you are making using memblock commands it's there to find straggler limbs that haven't been included... but I don't know if you can link existing limbs in a loaded x file (only if you add new limbs to the object).

Enjoy your day.
Robert The Robot
18
Years of Service
User Offline
Joined: 8th Jan 2007
Location: Fireball XL5
Posted: 2nd Aug 2008 17:45
Just thought I'd let you know how things were going. I've managed to give LL the ability to load existing animations (thanks must go to Latch for his help on quaternions). The DarkMatter 3d models seem to load perfectly, although LL can't yet handle an object where a limb gets y-rotated by 180 degrees - Dark Dragon's punch animation, where the figure twists round at the end, actually sets the figure's torso twisting downand back before swinging it round.

I'll let you know how I get on.

"I wish I was a spaceman, the fastest guy alive. I'd fly you round the universe, in Fireball XL5..."
Dark Dragon
18
Years of Service
User Offline
Joined: 22nd Jun 2007
Location: In the ring, Kickin\' *donkeybutt*.
Posted: 2nd Aug 2008 19:13
Quote: "The DarkMatter 3d models seem to load perfectly, although LL can't yet handle an object where a limb gets y-rotated by 180 degrees - Dark Dragon's punch animation, where the figure twists round at the end, actually sets the figure's torso twisting downand back before swinging it round."


Oh, I never noticed! well he is(Going to be)a Stick figure...

Your signature has been erased by a mod - Please reduce it to 600x120 maximum size
Robert The Robot
18
Years of Service
User Offline
Joined: 8th Jan 2007
Location: Fireball XL5
Posted: 2nd Aug 2008 20:52
@Dark Dragon
It's not a problem with your animation! It's just something I'm having trouble with in the version of LL that's currently sitting on my computer - getting the .x animation to load back into LL. Still, I'm getting some ideas...

"I wish I was a spaceman, the fastest guy alive. I'd fly you round the universe, in Fireball XL5..."
Robert The Robot
18
Years of Service
User Offline
Joined: 8th Jan 2007
Location: Fireball XL5
Posted: 8th Aug 2008 13:00
Well here you are - Lightning Limbs 1.0 COMPLETE! The WinZip file is attached to this post (1.9MB download), and it'll be being uploaded to my website as soon as I've finished rebuilding it. Sorry I've been such a long time getting it too you, but the ability to load existing animations proved quite a challenge.

I hope Ed222 won't mind, but I've replaced his dbo converter with one I created in DGDK (turned out there actually was a Save Object command). This new dbo converter EXE is actually a lot smaller than the original, and I was starting to get worried about the download file size.

"I wish I was a spaceman, the fastest guy alive. I'd fly you round the universe, in Fireball XL5..."
Irojo
17
Years of Service
User Offline
Joined: 21st May 2008
Location: Eating toast.
Posted: 8th Aug 2008 18:46
Incredible Robert. You did a great job. This looks (and really is) proffesional. Fabulous.

Sixty Squares
19
Years of Service
User Offline
Joined: 7th Jun 2006
Location: Somewhere in the world
Posted: 8th Aug 2008 23:14 Edited at: 8th Aug 2008 23:17
Congratulations on finishing this! It should prove to be an excellent contribution to the community . As soon as my laziness wears off and I somehow gain modelling skills I may make a game using it. Until then, I'm sure many others will find it useful!

EDIT: Hmm... now I'll have something to point to when people whine and say "I cant find an animator... they're all too hard... they don't work in DB...". I'll just tell them to use this

Robert The Robot
18
Years of Service
User Offline
Joined: 8th Jan 2007
Location: Fireball XL5
Posted: 9th Aug 2008 13:42 Edited at: 9th Aug 2008 18:32
Thanks guys, glad you like it!

EDIT: My website is finally up and running. Check it out for a full list of LL's features and a download:
http://mythrada.distantstar.org.uk

"I wish I was a spaceman, the fastest guy alive. I'd fly you round the universe, in Fireball XL5..."
Robert The Robot
18
Years of Service
User Offline
Joined: 8th Jan 2007
Location: Fireball XL5
Posted: 22nd Aug 2008 14:42 Edited at: 22nd Aug 2008 14:44
@Dark Dragon
I was wondering if you still had the orignal .Lim project files you used to create the Kick and Punch animation sequences you posted here, and if so would you be able to e-mail them to me?

I've been working with Latch to try and get rid of the animation bugs in DB1.20, but it involves some pretty tricky maths converting ordinary XYZ angles to the quaternions the .x file stores. Your animations have been brilliant at highlighting errors in our code, and it would be a help if I knew what were the original XYZ angles you'd specified.

Don't worry if you've lost the files or don't want to give them out, but I would be greatful if you'd let me know.

Many thanks
Robert the Robot

Edit: Oh, and one more thing. Could a Mod please remove the WIP from the title? The project's finished now!

"I wish I was a spaceman, the fastest guy alive. I'd fly you round the universe, in Fireball XL5..."
Irojo
17
Years of Service
User Offline
Joined: 21st May 2008
Location: Eating toast.
Posted: 22nd Aug 2008 18:57
You should put this in program announcements mate.

Robert The Robot
18
Years of Service
User Offline
Joined: 8th Jan 2007
Location: Fireball XL5
Posted: 22nd Aug 2008 19:42
Perhaps I will - but not just yet. I started work earlier today redesigning the toolbars for the next version, making plans for a new texturing feature, although most of the work will lie in optimising code...

"I wish I was a spaceman, the fastest guy alive. I'd fly you round the universe, in Fireball XL5..."
Ed222
17
Years of Service
User Offline
Joined: 3rd Nov 2007
Location: Calgary
Posted: 22nd Aug 2008 20:10
Quote: " hope Ed222 won't mind, "

nope not at all, Although there is a problem I tried to convert 6 models at once and it crashed and only converted 2.

Robert The Robot
18
Years of Service
User Offline
Joined: 8th Jan 2007
Location: Fireball XL5
Posted: 23rd Aug 2008 11:25
Oh. Oh dear. I'll have a look at that later today - not sure what's going on, I thought I'd had it working...

"I wish I was a spaceman, the fastest guy alive. I'd fly you round the universe, in Fireball XL5..."
TheComet
17
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 23rd Aug 2008 18:22
Just an Idea I have: You should add sine and cosine commands to smooth movements.

Just as an example, you want to rotate the arm of the player by a 90° angle. Then you should have a button that says "Sine wave". When you click that, it will smooth the arm movement like this:



Suicide is away of telling God, You can’t fire me I quit !!!!!
Robert The Robot
18
Years of Service
User Offline
Joined: 8th Jan 2007
Location: Fireball XL5
Posted: 23rd Aug 2008 18:57
@The Comet
Interesting idea - could be useful to have the limb accelerate an decelerate as it moves between these keys. I'll see what I can do...

@All
Sorry about that bug with the DBO converter. Not entirely sure why it crashed like that, but I suspect it was because I was using "Find First" and "Find Next", and as each object got saved out as a .dbo, the next file kept changing. Anyway, I've switched to using Perform Checklist For Files, and it appears to be working fine now.

I've changed the Lightning Limbs download zip to include the new version, it's available through my website.

"I wish I was a spaceman, the fastest guy alive. I'd fly you round the universe, in Fireball XL5..."
Ed222
17
Years of Service
User Offline
Joined: 3rd Nov 2007
Location: Calgary
Posted: 23rd Aug 2008 21:35 Edited at: 23rd Aug 2008 21:37
Quote: "Sorry about that bug with the DBO converter. Not entirely sure why it crashed like that, but I suspect it was because I was using "Find First" and "Find Next", and as each object got saved out as a .dbo, the next file kept changing. Anyway, I've switched to using Perform Checklist For Files, and it appears to be working fine now."

I used the one downloaded through your site but it still does the same thing

Screen where it crashes


Screen after you exit the crash


If you look at the model name it has .dbo.dbo meaning it has been converted the dbo format twice.
BTW The models there were chosen randomly I swear I didn't choose the babe model on purpose.

Robert The Robot
18
Years of Service
User Offline
Joined: 8th Jan 2007
Location: Fireball XL5
Posted: 24th Aug 2008 13:34 Edited at: 24th Aug 2008 13:34
Hi Ed222, sorry about that error. It crashed on me as well when I ran it earlier today (which is odd, because it appeared to run fine in the GDK editor). Anyway, I've completely rewritten the dbo converter and attached it to this post - this time it should work perfectly.

I'm not getting any errors when I run the program, but it will only look at the first 1000 files/folders in the directory (which might not be too much of a problem ).

"I wish I was a spaceman, the fastest guy alive. I'd fly you round the universe, in Fireball XL5..."
Ed222
17
Years of Service
User Offline
Joined: 3rd Nov 2007
Location: Calgary
Posted: 24th Aug 2008 20:55 Edited at: 24th Aug 2008 20:59
Quote: "I'm not getting any errors when I run the program, but it will only look at the first 1000 files/folders in the directory (which might not be too much of a problem )."

Yep this time it works nicely, good job!

Robert The Robot
18
Years of Service
User Offline
Joined: 8th Jan 2007
Location: Fireball XL5
Posted: 25th Aug 2008 17:12
Oh good! I'll add it to the Lightning Limbs download Zip either later today or tomorrow. Thanks for giving the thumbs up!

"I wish I was a spaceman, the fastest guy alive. I'd fly you round the universe, in Fireball XL5..."

Login to post a reply

Server time is: 2025-08-08 11:47:37
Your offset time is: 2025-08-08 11:47:37