Home Animation Showcase & Critiques

BroDynamics, spring-like simulation tool for character animation

polycounter lvl 10
Offline / Send Message
Pinned
Nixellion polycounter lvl 10
Hello, guys!
Check out the tool I made, and tell me what you think. It is  script for Autodesk Maya, that can help you easily create secondary motion\spring dynamics simulation without breaking rigs and without the need to actually add anything to the rig itself. It will bake it to controls, so you can fine-tune it by hand, if needed.

It was initially inspired by SpringMagic script for 3ds max, but this one is based on nHair simulation, so it's more physically correct. Recently I added collision object support. 

Here is the video demonstration: https://www.youtube.com/watch?v=_Qrpx3otvzU
Get it on Gumroad: https://gum.co/BroDynamics  

Feel free to ask anything about it, and thanks for your time! :)


Replies

  • AGoodFella
    Offline / Send Message
    AGoodFella polycounter lvl 5
    This looks cool! So the idea is you can animate a dog for example and then use this to get floppy ears/tail? 
  • Nixellion
    Offline / Send Message
    Nixellion polycounter lvl 10
    Yep, exactly. You can use this with any FK chain of controls. 
  • PeteHawk
    Offline / Send Message
    PeteHawk polycounter lvl 12
    Hey this looks neat, I don't mind giving it a go, but what version is it compatible with?
  • AGoodFella
    Offline / Send Message
    AGoodFella polycounter lvl 5
    Cool, are you planning on releasing it?
  • Nixellion
    Offline / Send Message
    Nixellion polycounter lvl 10
    Thanks!
    PeteHawk said:
    Hey this looks neat, I don't mind giving it a go, but what version is it compatible with?
    I tested it with Maya 2015 and 2016. Mostly I work with 2016 now.
    But it should work with Maya 2014 and probably earlier versions too. Which version are you interesting in?

    Cool, are you planning on releasing it?
    Yes, it is released on Gumroad, the link is in the first message. You probably missed it, so I edited that post to make the link stand out a bit more.


    This is my first publicly released tool, so if you try it and experience any problem with installation, feel free to contact me right here or via email, which you will get when you download the tool.

    I monitor this thread daily, and ready to help or make hotfixes asap.
  • PeteHawk
    Offline / Send Message
    PeteHawk polycounter lvl 12
    Nixellion said:
    Thanks!
    PeteHawk said:
    Hey this looks neat, I don't mind giving it a go, but what version is it compatible with?
    I tested it with Maya 2015 and 2016. Mostly I work with 2016 now.
    But it should work with Maya 2014 and probably earlier versions too. Which version are you interesting in?
    Running 2015 will someday upgrade. If you say it's compatible I'll grab it now. I'll keep you posted on my experience with it :)
  • PeteHawk
    Offline / Send Message
    PeteHawk polycounter lvl 12
    I've had a bit of a play before I head off. Got good potential here, simple and easy, I like it.
    Two things I'd adjust is:
    Overwriting peoples shortcuts. This could just be a coincidence of me breaking something on my Maya. But I just wanted to check with you if you are.
    Secondly maybe you could keep the last selected active? Saves time re-selecting everything every time you want to adjust.

    Good work so far!! :)
  • Nixellion
    Offline / Send Message
    Nixellion polycounter lvl 10
    Hm, well, I did not intentionally overwrite any shortcuts. Could be a bug though, if you could tell me which shortcuts were changed, it could help me narrow it down.

    And sure, will do that in next release :)

    And thanks for testing it, glad everything works! 
  • WeatherMan
    Offline / Send Message
    WeatherMan polycounter lvl 6
    This looks fantastic! I'm gonna put it through its paces very soon :)
  • Nixellion
    Offline / Send Message
    Nixellion polycounter lvl 10
    Just uploaded an update, 1.1.1, as requested - now selection will stay after simulation.

    Also, never used gumroad's update notifications before, every customer should recieve a link on email, tell me if that works.

  • Saf
    Offline / Send Message
    Saf polycounter lvl 11
    NIXELLION, awsm tool! 
    add presets in wishlist
  • Nixellion
    Offline / Send Message
    Nixellion polycounter lvl 10
    Saf said:
    NIXELLION, awsm tool! 
    add presets in wishlist
    Sure, right now you can save 1 preset, load 1 preset and load default values. Everything is in the Presets menu in the top bar. 
    These presets are saved into the defaults.ini (or file, which you can find in the folder with the scripts. It is possible to swap this file during runtime, and pressing Load Preset will load the specified default.

    But I was thinking about replacing Save Preset and Load Preset buttons functionality. In future versions it will open the File Dialog window, and you'll be able to save and load ini different ini files. I hope it should be enough?
  • Nixellion
  • Connecta
    Offline / Send Message
    Connecta polycounter lvl 12
    Looks really cool!
    I guess it only works for Maya? (and not for motionbuilder)
  • AGoodFella
    Offline / Send Message
    AGoodFella polycounter lvl 5
    Is there a trial that we can try out before we buy?
  • Nixellion
    Offline / Send Message
    Nixellion polycounter lvl 10
    Connecta said:
    Looks really cool!
    I guess it only works for Maya? (and not for motionbuilder)
    Yes, it is based on nHair, which is only available in Maya. But you can simulate animation in Maya and bring it into MotionBuilder, you can even achieve a robust workflow using dynamic link between two programs.

    Is there a trial that we can try out before we buy?
    I'm sorry, there is no trial, though I did not hear any complaints from customers yet, except for it's incompatibility with Linux, which I'm looking into right now. There is no simple way of protecting python scripts to make the trial version. And the only way to protect it that I know of, is turning it into a C++ plugin, which will make it version-dependent, which I don't want to do. Right now it works with maya 2015+.
    If you have any questions, or if you want to test if it works with something in particular, I can test it for you though.
  • Mira
    Offline / Send Message
    Mira null
    Hello. Is it works with MacOS?
  • Nixellion
    Offline / Send Message
    Nixellion polycounter lvl 10
    Mira said:
    Hello. Is it works with MacOS?


    Hello, Mira!

    Well, I actually don't know, but it does not work on Linux. I've added a fix to the error Linux users had in previous versions, but I don't know if it helped yet.

    I was just about to ask if anyone here runs Linux or MacOS with Maya 2015 or 2016?

    I'm still struggling to install Maya on Linux. Already have a virtual machine with Fedora running, installed Maya and dependencies, but struggling with flexnetserver right now...

    Until then - I isolated the error that Linux users had. It will just show an error if it can't find the .css file, but it will proceed loading the UI just without the style applied to it.

    If there is a volunteer, someone who could help me test it on Linux or MacOS, I can offer a 50% discount to anyone who is willing to help me with this. I'll just need you to test the script and tell me which errors it throws.


  • Mira
    Offline / Send Message
    Mira null
    I am interested in this tool, so I can help you with test on MacOS.
  • Nixellion
    Offline / Send Message
    Nixellion polycounter lvl 10
    Mira said:
    I am interested in this tool, so I can help you with test on MacOS.
    Hello again Mira.
    Thanks for your offer, but I solved the problem already, thanks to a friend of mine and Pete from CreativeCrash.

    BroDynamics 1.2.3 was tested on Linux and works there now. So it should also work on MacOS!

    So feel free to get it and it should work on Mac. 
    Reminder: it only works with Maya 2015 and 2016.
  • Nixellion
    Offline / Send Message
    Nixellion polycounter lvl 10
    Working on an update:


  • limeforce
    Offline / Send Message
    limeforce polycounter lvl 7
    Nixellion said:
    Is there a trial that we can try out before we buy?
    I'm sorry, there is no trial, though I did not hear any complaints from customers yet, except for it's incompatibility with Linux, which I'm looking into right now. There is no simple way of protecting python scripts to make the trial version. And the only way to protect it that I know of, is turning it into a C++ plugin, which will make it version-dependent, which I don't want to do. Right now it works with maya 2015+.
    If you have any questions, or if you want to test if it works with something in particular, I can test it for you though.
    Haven't bought & watched this myself, but this Disney/EA guy has a 15min tut out that claims to explain how to obfuscate a Maya Python API plugin. Feels a bit weird they're asking $15 for such a short thing, but might be worth checking out:
    http://www.cgcircuit.com/course/lock-your-python-code
  • Nixellion
    Offline / Send Message
    Nixellion polycounter lvl 10
    Phew, finally. 1.4.0 released.
    More info in my blog post: http://nixes.ru/?p=568


    limeforce said:
    Nixellion said:
    Is there a trial that we can try out before we buy?
    I'm sorry, there is no trial, though I did not hear any complaints from customers yet, except for it's incompatibility with Linux, which I'm looking into right now. There is no simple way of protecting python scripts to make the trial version. And the only way to protect it that I know of, is turning it into a C++ plugin, which will make it version-dependent, which I don't want to do. Right now it works with maya 2015+.
    If you have any questions, or if you want to test if it works with something in particular, I can test it for you though.
    Haven't bought & watched this myself, but this Disney/EA guy has a 15min tut out that claims to explain how to obfuscate a Maya Python API plugin. Feels a bit weird they're asking $15 for such a short thing, but might be worth checking out:
    http://www.cgcircuit.com/course/lock-your-python-code

    Thanks, but that also requires to compile it for each maya version... I decided to release it with source code, and only protect with a license agreement, to make it easier compatible with different Maya versions without the need to compile it for each version individually. And it also gives people the opportunity to fix something themselves if they need it.

    Edit:
    Okay, I actually watched that video now. And I am a bit disappointed. I would not recommend anyone spending 15$ on that video. What he describes is how to distribute .pyc files, which Maya generates automatically when you run the script... And pyc files are not human-readable, yes, but they are very easy to decompile. I tested it, found the first 'pyc decompiler' i could find on the web, and ran a few pyc files through it, mine and Advanced Skeleton's, and it gave me almost identical code to the source code. So, in a way, it's just like placing a door in the middle of nowhere, all you have to do is walk past it.

    There is another technique, it is possible to write a C++ plugin, which stores the whole Python code inside as a string, and all the C++ plugin does, it runs this python code. So once you compile it, the string and everything in C++ plugin will be turned to mll bite-code file, which is not human readable and way harder to decompile than pyc. But still possible...
  • limeforce
    Offline / Send Message
    limeforce polycounter lvl 7
    Wow, asking $15 for that............ not cool. Yeah, maybe the variable names are minified in a .pyc but I assume it wouldn't be that hard to decompile, never tried myself. I had not heard of making C++ plugins that just run a Python string though, neat!
  • Nixellion
    Offline / Send Message
    Nixellion polycounter lvl 10
    limeforce said:
    Wow, asking $15 for that............ not cool. Yeah, maybe the variable names are minified in a .pyc but I assume it wouldn't be that hard to decompile, never tried myself. I had not heard of making C++ plugins that just run a Python string though, neat!
    Nope, even variable names are the same. The file you get on return is EXACTLY the same, even spaces, tabs and comments are there after decompiling pyc files, thats crazy :D And you can just google for pyc decomplier, it's easy to find.

    Anyway, I'll just remind again, that if anyone has any questions or suggestions about this script, i'm here, feel free to ask, I'm ready to consider any ideas, and i'm interested in making it more intuitive or functional or whatever :)
  • Anitlunia
    Offline / Send Message
    Anitlunia polycounter lvl 6
    It would be interesting that this can be compatible with 3DS MAX or Blender?
    Blender for example, has Python addon scripting
  • Nixellion
    Offline / Send Message
    Nixellion polycounter lvl 10
    Anitlunia said:
    It would be interesting that this can be compatible with 3DS MAX or Blender?
    Blender for example, has Python addon scripting
    Unfortunately no, it is using Maya's built-in simulation tools just in a much more convenient and intuitive for an animator way, allowing to skip a lot of steps of the setup process. And 3ds max just does not have anything similar to nHair for rope\hair\spline physics simulation. It might be possible to achieve something similar through Particle flow, i guess...

    In any case it's not like it's about just porting this to other program, it has to be rebuilt from scratch with different approach and workflow for each one.

    I actually never thought about something like this in 3ds max, because springs and SpringMagic were enough for most cases. 
  • Nixellion
    Offline / Send Message
    Nixellion polycounter lvl 10
    Meanwhile BroDynamics is at version 1.6.0, with a lot of improvements and bug fixes! :)

    Latest version supports Maya versions: 2014-2017, Windows, Mac and Linux
    Improved compatibility with different types of rigs, added Debug mode for chain simulation, presets, and a lot of bug fixes and improvements since the last version mentioned here :D Which was 1.4.0, from what I can see.
  • Nixellion
  • Blond
    Offline / Send Message
    Blond polycounter lvl 9
    Definitely plan on buying this
  • Nixellion
    Offline / Send Message
    Nixellion polycounter lvl 10
    A little sneak peek into the upcoming 2.1 release. Think you can spot a few major changes and improvements?


    https://youtu.be/bDAJsUBEtm8
  • Nixellion
    Offline / Send Message
    Nixellion polycounter lvl 10
    BroDynamics got new simulation mode!


    And better animation looping support


Sign In or Register to comment.