Director's Mod - Available now

Are you stressed of time-consuming stop-motions for your films? Do you love creating keyframes for complex animations? Do you want to have smooth movements of a ragdoll or smooth transitions of a face expression to another one?

Then Director’s Mod, shortly DMod, is for you.

It animates objects using user-created keyframes and smooths the animation with a linear interpolation. The current version supports physic objects (Ragdolls, props), flexes (Face expressions), color and transparency.

Keyframes:
Each animation is saved in keyframes that are text files (.txt). Those can be put in any folder inside the main folder, allowing you to create your own directory structure. The main directory is “…/garrysmod/garrysmod/data/dmod/”.
Keyframes can be uploaded and shared with other people like ADV Dupes.
To keep the “data/dmod/”-folder clean, you can put every keyframe of the same animation in a separate folder inside “data/dmod/” and put these folders (also known as scene folders) into folders which can be seen as categories.
You can access the keyframes via relative paths from the data/dmod/-folder. For example “walking/breen/” will read/write the keyframes from/into “…/garrysmod/garrysmod/data/dmod/walking/breen/”.

Types:
Director’s Mod comes with different animation types, shortly Types. Those determine what values have to be animated. The current version offers the Types called “phys” (animates position and angles of any physics object), “flex” (animates scales and weights of flexes) and “color” (animates color and transparency).
The Types system is designed to read Types from separate .lua files so that you can simply add new Types in addon format and advanced LUA coders can easily write their own Types.

Scripts:
DMod also comes with a Script system which allows you to execute as many Scripts as you want. Scripts are run at the same time with animations and manipulate them.
This includes for example setting the angles of an animated prop toward a given object while the position values are still being changed by the animation itself.
It’s not as complicated as it sounds. You only have to write the name(s) of the Script(s) and their parameter values (if necessary) in the animation start command. Scripts are optional, meaning that you can ignore them if you don’t need them.
Scripts are like Types written in separate .lua files. You can add new Scripts in addon format and LUA coders can write them.

Official Scripts and Types will be added directly to DMod so that you only have to refresh your SVN directory or download the current version if you want to have freshly released official Scripts and Types.

Controls:
DMod is completely controlled by console commands (Rev10 has a GUI, so commands are optional there!). This has two advantages:[ul]
[li]You can use the syntax of the console. This includes the bind command, alias command and the optional amount of command arguments.
[/li]For example, dmod_director “dmod_anim […]; say started an animation” 4 “dmod_anim […]; say started an animation” 2 “dmod_stop […]; say stopped an animation” starts an animation 4 seconds after the first animation has been started. 2 seconds later, an animation will be stopped. To visualize the process, the player says something as soon as the second animation has started and an animation has been stopped.
[li]LUA coders can create GUIs and Tools for DMod without great effort.[/ul]
[/li]It may sound complicated, but once you’ve got the hang out of it and learned all the DMod commands, it is easy to use. The most important commands are explained in the tutorial which can be found in the addon folder of DMod.
Example commands are “dmod_new” to create new keyframes and “dmod_anim” to start animations.
The Marker STool marks objects with names, so those can be used with DMod.

Summary:
Director’s Mod is able to do anything that has to do with temporal and interpolated changes of values. Only the certain Types are needed. Scripts allow a more advanced use of DMod.

Example videos:[ul]
[li]http://www.facepunch.com/showpost.php?p=24978828&postcount=100
[/li][li]http://www.facepunch.com/threads/991849-Director-s-Mod-Available-now?p=25775396&viewfull=1#post25775396
[/li][li]http://www.facepunch.com/showpost.php?p=24775459&postcount=80
[/li][li]http://www.youtube.com/watch?v=Dh7GVBc3MM4
[/li][li]http://www.youtube.com/watch?v=MzWtcyGyqco
[/li][li]http://www.youtube.com/watch?v=0xjFYUKQjCk
[/li][li]http://www.youtube.com/watch?v=KMZH6uTMPIE
[/li][/ul]

Updates:[ul]
[li]Rev10Beta (not included in SVN): http://www.facepunch.com/threads/991849-Director-s-Mod-Available-now?p=27815817&viewfull=1#post27815817
[/li][li]Rev9: http://www.facepunch.com/threads/991849-Director-s-Mod-Available-now?p=25911559#post25911559
[/li][li]Rev8: http://www.facepunch.com/threads/991849-Director-s-Mod-Available-now?p=25825611#post25825611
[/li][li]Rev6: http://www.facepunch.com/threads/991849-Director-s-Mod-Available-now?p=24892886#post24892886
[/li][li]Rev5: http://www.facepunch.com/threads/991849-Director-s-Mod-Available-now?p=24733349#post24733349
[/li][/ul]

Current state:
Currently, I hardly have the time to continue my work on DMod. I’m too busy and I don’t know if I’ll get enough time for this addon in the future.

There are some planned features:
[ul]
[li]Add Cubic and Hermite interpolation (Comparision of the interpolation techniques: [no interpolation], [linear], [cubic], [hermite]).
[/li][li]Make the animation speed independent from the GMod’s fps. Shortly: Make DMod real-time via OS-time.
[/li][li]Add a GUI that replaces the writing of commands completely (The commands and the command previews won’t be removed).
[/li][li]Add an inflator and a finger Type.
[/li][li]Add a phys-like Type for entities without physics objects.
[/li][li]Add a Type for player angles, positions and bones.
[/li][/ul]
Don’t ask when and if these features will be released. I myself would like to have these questions answered, too.

There’s a tutorial inside. Read it. It explains pretty much everything.

I am intrigued.

This is extremely cool and should result in some improved quality in gmod machinimas (or an increase in crappy quality ones (hard to tell what noobs would do with a tool like this)).

My god, this sounds amazing, can’t wait for release!

The idea’s been floating around a while now, but good to see someone is finally executing it.

I knew I should have released my Ragdoll Animator!

Oh well. :v:

Good luck to you, mate.

They wouldn’t even know how to use it, but if they knew, i think they would do something like that

:v:

Oh you :v:

Of course.

Hmmmm…

Proceed…

Any server that we can test on? Or is testing private only.

JokeSpeaker doesnt want me to host a server with it until the version is more Online compatible but till then i will make some videos to entertain you <3

Horray.

Looks cool!
Good luck with it!

Noooo

I have a project just like this but I couldn’t figure out ragdolls and didn’t try color yet

noooo.

I’m confused, is there a way to directly select bones and manipulate them with a visible arrow/circle to move/rotate? Does it use an actual keyframe system so if I set a keyframe on frame 1 and then frame 60 of the same position, then have a different one at frame 30, it’ll play through like that?

This idea has been floating around for a very long time. This has been a project of mine for a few months, so people should expect like 3 of these mods to come out.

I’m hoping it will be sorta like pivot, or maybe you pose the ragdoll, select plus make a frame, then repeat until you have an animation. Will there be a saving system?

Looks fucking amazing!

Will a rollercoaster with seats work? Or does it not support entities?

I don’t know yet. If one of my friends can host a server, I may give him an online compatible version. It’s not guaranteed.

This. But instead of selecting something, you have to execute the console command with it’s parameters. It’s not hard and with practice faster than GUIs.

No. This could be done with some STools.

Yes.

You can save frames in optional directories within the dmod/ data folder. See:

Scenes are nothing else than folders having frame files.
That’s all what you need to save for DMod. If you meant something else then tell me.

It supports everything that has physics, flexes or is colorable.
In theory, the only entity that DMod doesn’t support is the world itself. The question is only if the Type supports it.
“phys”: Supports anything with physics. Animates position and angles.
“flex”: Supports anything with flexes. Animates flex “weight” and scale.
“color”: Supports anything that is colorable. Animates color and transparency.
I’ll write an “ent” Type that supports animating the position and angle values of non physics objects.

Keep going with the feedback. Those cheer me on doing the work.