m:studio 2.4d in use on SA Sports Hall of Fame


#261

If an object is Hard Locked (the red lock) then messiah should notify you that the editing you are trying to do will not work because it is Hard Locked. Like instead of baking the whole Hard Locked channel and then after baking you sit wondering why no keys were created, a popup message could just say “Can’t Bake, object is Hard Locked”.

You may ask why anyone would try baking a Hard Locked object. I want to bake the object but did not switch the lock off. I would just like to be notified instead of wasting time.


#262

I have bumped into that more than once. “WHY CAN’T I CLICK ON THIS!!?!”

A little warning buzz or message flash showing you that it is locked would be a nice feature.


#263

Yes and combined with an option to unlock it!

/ Svante


#264

… and an option do deactivate all this buzzing, blinking, warning etc. :wink:
Otherwise it can drive you mad after a while :stuck_out_tongue:

Cheers!


#265

You guys are funny :scream:

Project update: I presented a full rendered preview to the client this morning. Victory!!! All positive and now just last touches, nothing major, mainly texture mapping and tweaking some motions.

Messiah has truly tested my patience the past few days…Thomas is probably tired of me by now and is sighing just as big a sigh of relief as I am. :slight_smile:

I simply tried to get more out of spring dynamics than messiah has to offer at this time. I was literally close to tears at 02h00 this morning. Of course the project pressure combined with my Mom makes me more emotional, but I tell you it was bad. And not knowing the insides of messiah as well as Thomas does, I don’t know where I should draw the line in terms of what to expect. My ignorance also worsens the problem. So I’m not going off against messiah, just the situation.

Anyway - project looking good. Hope to post soon!!! :thumbsup:


#266

I don´t wait to see your finished work Paul!

congratullations :thumbsup:


#267

CONGRATULATIONS!!! :thumbsup:

Paul, no worries - I can assure you that I am NOT tired of you! :slight_smile:
I’ve been at this point rather often myself.

I am way more tired of many aspects of messiah and hope they will be fixed bit by bit, since until then, the software can not shine as it should with too many basics in a bad state.
But that latest problem had a lot to do with euler angles being a mess. Other software does better in this area, but you can’t really beat the math in the end.

If you have any unsolvable problems remaining, you are welcome to send me the scene. I’m rather good at inventing weird workarounds :wink: :arteest:
It pays to have a twisted mind :twisted: >LOL<

Congratulations again!

Cheers :bowdown:


#268

I think I’ll strip down my scene with just the dynamics and send it through, then you can see what’s up…or down.

I set up a 3-spring system to make the stopwatch lift from the table and then dangle. The rotation I got was so nice and natural and at first I thought these springs are so cool. But then I realized the rotation was due to gimbal lock, and although it produced natural rotation in some places, the flipping was really unacceptable in other places. On the springs block I was frantically switching off the rotation channels trying to get rid of unwanted motion. It had no effect at all. Seems like spring dynamics on a flex curve only affects curve point position and not rotation at all.

Thomas later explained Eulers and gimbal and all those nice 3D math things. Had I known, I would have rigged to get the spring system dangling vertically this and that side of 0 degrees instead of this and that side of 90 degrees :).

So as you see, a good mix of my own ignorance is at play here :slight_smile:

To get it looking like the watch was dangling from the ribbon, I had a Softbody Simulation deforming the ribbon, with one end parented to the watch ring (also on a spring) and the other attached to a bone holding it up in the air as if a person was holding it. The result is quite cool - I think.

I wish Springs also controlled rotation with advanced rotation editing and limiting options. I’m sure I still don’t know how best to use springs and there’s much to learn.

As I’m typing this and rereading what I’m typing, I think I may actually have a simple solution . . . I’ll post again.


#269

please accept my sincere condolences.


#270

im honored that i can be an inspiration for you :slight_smile:

yeah i have been tested by messiah quite a bit, i know i even came off rather angry in some posts but i think you have a deep understanding of WHY that is hehe.

I am revamping my demoreel currently to move onto bigger and better things, i have several rigged characters that i intend on animating, so stay tuned, i will be sharing the project files with all of you and hopefull i can inspire more people to use this program ( and maybe even help me improve my scenes )


#271

Hey that’s good news stooch! :thumbsup: Sharing really helps others and in turn we may also get some help. I’d certainly love to see your work. I’m sure you are going to inspire us even more.

And while I have your attention, I apologize for any times I’ve been nasty to you on the forum. Please will you forgive me and not hold anything against me? Really, I mean it. I’m sorry, stooch.


#272

:slight_smile: that wasnt even in my mind. no need to apologize.


#273

Sorry I missed this post, stooch. Thank you also for expressing your compassion. It means a lot to me.

OK, Thomas’ Euler and setup theory has now finally switched a light on in my mind and here’s what I did…

I took 4 nulls parented to eachother in a hierarchy and positioned exactly where the 4 points of my flex motion curve was. Since I don’t need a flexing curve (just straight lines from point to point) I decided to build a spring directly using the nulls. However, I first rotated each null before the creating the spring so that once the simulation started and gravity kicked in and the spring was dangling down vertically, this rotation was all happening around a zero degree axis and not a 90 degree axis.

I also used Thomas’ suggestion of hiding everything else except the nulls before creating the spring system. This made for a perfect spring system with no editing required afterwards, only adjusting the simulation settings.

The new simulation immediately solved all the gimbal problems except now for the start, where the watch, lying flat, rests at 90 degrees. This caused gimbal problems until I simply let the watch rest at 89.something, avoiding gimbal initially until the spring system lifts up and drops into safe angles ranges. The watch now dangles without freaking out. I then added a slider to manually control the dangling rotation around the vertical axis and this works very well.

My only issue with messiah is that when you stop on a frame in a simulation and move a slider (changing other settings also does this), then the simulation advances as the viewport refreshes but the frame marker stands still. This is VERY irritating and basically messes up the simulation at that point, requiring the simulation to be restarted to see the change accurately in context. This is the same for softbody dynamics.


#274

Realtime simulation feedback was not happening in a scene with nearly 1/2 million polys, so I hid whatever objects are not in the sim and loaded extremely low poly stand-ins parented to the high poly versions which were hidden. This made the sim real-time again in the viewports and making adjustments a pleasure. Messiah is very flexible with this sort of thing.

A simple stand-in plugin would just make life very easy without the need to manage stand-in surfaces from accidental rendering. The stand-in plugin could manage lowpoly meshes for viewport display and automatically not include their surfaces for rendering (if they are not identical to existing surfaces) but let the hidden highpoly version render. A simple toggle switch on both object and scene level could switch between the real and stand-in objects for viewport viewing. Basic stuff.


#275

Ah, yes, exactly that “light” is needed to have fun in messiah :wink:

Cool you got it to work!

I am 100% with you on the realtime things. Some patches ago, the particles even advanced one simulation step when you were rendering a frame… crazy.

I have never programmed such a system, but the ones I have used basically buffer-while-playing or recalculate the whole thing by default. In XSI this can become rather annoying, so I found LWs recalculation to be the least annoying in most cases.
The current system in messiah is cool for demonstrational purposes, since it acts so natural - softbodies interact by just dragging around an object - but in production, this is never needed in the end, instead, you need predictable, stable and for- and backwards scrollable results.
Sure you can bake the stuff to keyframes (motion dynamics) or point caches (.mdd for softbodies) but since you need to be able to change this fast, the current procedures are too tedious. The latest particles are the first to have baking included directly, so this could be the role model for the others, maybe with an interactive mode where changes in values make the simulation recalculate and cache to disk automatically…?

Good idea with the standin-objects too, but I am not sure if it would work predictable with softbodies - they were rather depending on the mesh when I last used them…

Cheers!


#276

Well, I suppose some objects may not benefit from a stand-in feature, but it may really help for all those that can. All the rigid objects in a scene are natural candidates. You need to see them relative to your animation and deformation but not have them kill the interactivity - so a stand-in manager can help. I know that in this project I would have used it extensively. In fact it would have been a major productivity tool.


#277

For this project I used Bezier curves extensively and I must say that pmG have done a good job implementing them.

I have some feature requests:
[ul]
[li]Holding CTRL while dragging a handle should snap it to vertical or horizontal from the curve point, depending where your mouse pointer is relative to the curve point.[/li]
[li]Button to automatically smooth selected Bezier curve points in relation to their neighbors.[/li][/ul]


#278

Why is Gimbal Locking still such an obscure 3D problem with such few fixes and assist tools?

Can’t messiah have a Gimbal Lock monitor which alerts when Gimbal is a problem?

Also, aren’t there built-in solutions which would allow a user to simply change a rig’s orientation to better avoid or work around Gimbal problems?


#279

Let’s put it that way:

  • When using “Euler Angles”, which are the easiest to grasp and use, there is nothing that can be done about gimbal lock. Other software has built in workarounds like “Up Vectors” and such, but there is no REAL way around this problem - it is in the math.

The core problem is, that you need a way to express angles that is stable and leads to the same orientation, no mater how you apply it - foreward, backward etc.
Test it yourself: rotate your hand 90° on x, then on y then on z. Memorize where you landed. Now go back to the start and rotate your hand 90° around y, then x, then z. You reach a different orientation.
This is the core of the problem: how do you express angles in a way that is defined in an absolute way so it works for animation equal how you play it back. Mr. Euler found a solution which works nicely - but when some axes reach ±90°, there is an completely undefined singularity = Gimbal Lock.
(BTW: The same happens in a real-world cardan joint.)

So this isn’t about a fault in messiah, but about one of the most discussed problems in 3D math and there are only workarounds, no solutions.
I am all for implementing the workarounds into the core, but they will lead to other problems and aren’t something that just works out of the box.
(As you found out when you added the knee constraint expression)

  • The only alternative I know of is using “Quaternions”, which basically are euler angles with a fourth dimension of rotation added. Think about it like you are moving the one critical axis into that fourth dimension that isn’t used anyway and may gimbal lock until hell freezes over - who cares :wink:
    Messiah already allows to use Quaternions in the graph editor for objects…
    The math is more complicated and slower, but with todays machines, this isn’t critical anymore.
    BUT and this is a big BUT: since there is one dimension “unused/undefined”, the other three show extreme values and jumps in their graphs at certain values. While the actual rotation is much smoother, more continuous and more along the lines you would expect when interpolated, working with the graphs is a mess. So often you will first do the animation with Euler Angles and then switch to Quaternions when finished…

There were a lot of discussions about this topic in the past, which did lead to the Quaternion option in the graph. Someone from pmG stated that the expressions all use Quaternions internally. I have no way to validate that, but from my experiences, I honestly doubt it. :shrug:
I am also unsure if effects like the motion dynamics use Quaternions?

So I am 150% with you that all possible measures should be taken to prevent such problems as with your simulation, which was in no way extreme.
All dynamics should use Quaternions since their graphs don’t matter much anyway. If they already do and this isn’t a solution to the flipping, I think it would be extremely important to explore built in options for workarounds. I personally found all the effects that show this problems a major pain or even pretty unusable - more pain than it’s worth.
From my experience, Flex, FlexMotion and MotionDynamics are haunted the most, but everything using curves is basically prone to that problem.

A statement from pmG about this topic would be highly appreciated! :applause:

Best regards,


#280

Had messiah shown a Gimbal Lock warning, even my ignorance would have hardly been a factor, and I would have shaved 2 days off my project easy. If there were also Gimbal Lock workaround tools and more extensive documentation regarding this, I would have shaved off another 2 days. Close to a week lost on futile frustration-filled fiddling.

Selective Surface-based Anti Aliasing - I’m sitting watching my final scene rendering and I can’t help but wonder if surface-based AA settings can be easily implemented in messiah. Many things in my scene can run at 1 or 2 while my stopwatch watch chrome would run on 3, stopwatch knob ideally needs 5 because of tightly packed high contrast diagonal lines, soft shadows cast on wood need 3 while shadows cast on the photos need 4.

It’s a waste to push the whole scene to AA Level 4 just because one or two surfaces need it.