Jump to content

Dynamic Character behaviors setup using Xpresso...possible ?


Recommended Posts


like I said in the title, I would like to know if there is any possibility to make a dynamic character behavior setup using Xpresso, that can "react" to the "surrounding" in a fully procedural way.

Say you have a human character rigged and animated using Cmotion, or a robot using connectors, hinges, motors and stuff to animate it's movements without key-frames and THEN have them react to say; balls hitting them while walking, they get hit, fall back a little then recover and continue their walk and maintaining their balance as much as possible.


A few examples of what i'm trying to explain:


- Euphoria Physics Engine


And the closest thing i could find similar to what i was thinking, is "Fun With Ragdolls" made by "Jadon Barnes" where he explained in one of his videos about the process behind making them.


At a certain time in the video he shows up this MASSIVE Xpresso setup he made.




I'm not sure if that setup includes "behaviors" like the ones shown in the Euphoria physics engine, but i think it's a start ?


Anyway, is there any Xpresso experts (or even python/C++ pluging devs) who can think of anything remotely similar or even the most basic primitive kind of behavior ? (that is if it is even possible as a functionality inside C4D).


Thanks in advance for your time.

Link to post

Easiest solution here is to have to versions of the same rig. One that is completely dynamic and the other which is fully controllable. Then you can utilize 3rd rig where you mix between the two. Cheap and easy way to do ragdoll dynamics on characters is to create use mesh deformer. Simply create a basic mesh around your character and use dynamics on it then apply that deformer to your character mesh

Link to post

Not sure if I explained correctly what i was looking for, the ragdoll physics themselves can be done in many different way, i will put a few lines here and point toward which part I'm still confused about:

a character is fully rigged and animated using Cmotion, or other procedural technique.

1) The character is doing a simple walk cycle following a given path.

2) The character is hit by a ball (dynamics kick in) disturbing his balance.

3) The character recovers from the ball hit and continue his walk (or he try avoiding the ball in the first place or any other reaction before or after getting hit).


It's this 3) point that still confuse me, how is it possible to translate such behavior with Xpresso nodes.


Like you add a few nodes to the character object telling him:

- if object "X" touch you, stand back and continue what you were doing.

- if object "X" touch you, try to keep your balance so you don't fall down then continue what you were doing.

- if object "X" is in a certain distance from you, avoid it and continue what you were doing.


Generally once a character gets hit, Dynamics kicks in and he lay flat on the floor and stay like that until something else hit him and activates dynamics again, feels like once he gets hit first time, he becomes an empty shell that is waiting for the next object to interact with, while what i'm looking for is more of a procedural "behavior" system, that makes the character "alive" so to speak, he gets hit, he respond to that with an animation and try to go back to what he was doing before getting hit.


I think i'm asking for too much from C4D/Xpresso, when most ppl would say, use a game engine or something.

Link to post

That is why I mention "receiver" rig. The idea is to mix from two separate sources. One is dynamics, second is some other source (cmotion, keyframes). With Xpresso you can use mix nodes to define how much of which behavior you will actually send to receiver rig. Once combined you can do a lot. With that being said I think you are actually looking for motion clips....

Link to post
  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


We are dedicated Cinema 4D Community of friendly and passionate artists, hobbyists and developers. Feel free to join us to share your knowledge, your art and anything that might help Community to grow. We are providing guidance, free plugins and files, feedback, sponsorships and various discounts for our Contributors and much more. :cowboypistol:

  • Create New...

Copyright C4D Cafe © 2021 Powered by Invision Community