PDA

View Full Version : Mentalray maya8 motionblur issue


R303
12-07-2006, 10:53 AM
Hi there.

I'm running MAYA 8 x64, and this issue is about motionblur.

WHAT I DO:
I created polyplane and modeled it into what should resemble the cover of a book.
I created a skeleton, and bound the "bookcover" to the skeleton as a rigid skin.
Now I rotate the skeleton rootJoint around, and ofcourse the bookcover follows (the skinning just works).
I then render with MentalRay motionblur AND with exact deformation as motionblur type.

No motionblur is rendered, even though it should.

DECONSTRUCTING THE PROBLEM:
I then parented a poly cube to the skeleton, meaning that I didn't skin it, just parenting it, and render. Now I see motionblur on the cube, and still no motionblur on the bookcover. I then detached the bookcover from the skeleton, and created a new polyplane, wich I didn't model. I bound that new polyPlane to the skeleton, and rendered. Now the morionblur was rendered.

So after a while I thought: "Could it be maya8?" And tried the same setup in maya7.
I was right. No problem in maya7.

Could you just for the sake of rulling out, that this only happens to me, try the scene with your version of maya8 and see if you get the same issues?

What do you think? Is MentalRay with MAYA8 buggy? Is there any solution to this?

Here is the link to the test scenes:

http://backstagefilm.dk/problem/problem.html (http://backstagefilm.dk/problem/problem.html)

djx
12-07-2006, 01:30 PM
Im on maya x86 (not x64) but I am also having problems with mray motion blur. I downloaded your maya8 scene (note: both links on your page point to the maya7 file, but I typed the url manually to get the maya8 version).

I can confirm that I get the same results that you describe.
In fact you can get the blur to work on both surfaces if you change the scanline method to rapid. (in render settings, under raytracing tab)

It may be relevant to describe the problem I was having, in case there is a common underlying cause.

I have a smooth-proxy setup where I bind the proxy to the bones, and then hide the proxy and render the smooth surfaces. Pretty common setup I guess. However in maya 8 when you do this, then you get an error at render time (even without motion blur) saying:
// Error: (Mayatomr.Geometry) : pCylinder2Shape: mesh has no faces, ignored //

This is a bug that can be fixed by adding the following code to your "pre Render Layer MEL" in render settings:
dgdirty -a;

However when you turn on motion-blur, you get the error again - because calculating the motion-blur involves changing time during the render and computing the new deformation, but the preRenderLayerMEL has already been run.

Ok, a more complicated fix is to create an extra attribute called dirtyMe on the surface, and write an expression:
pCylinder2Shape.dirtyMe = `dgdirty -a`;

This gets the surface rendering, BUT only rapid blur actually looks blurred. scanline blur takes a while, but renders a non-blurred image.

I know my problem's a bit different to yours and may turn out to be a different reason. But I do think that maya 8 may be problematic here.
Maybe rapid will work for you. Unfortunately, it can look pretty bad sometimes.

R303
12-08-2006, 09:30 AM
Thank you, Djx.

I heard this in another forum:

I have some friends at alias who admit that 8.0 is really just a hack to get something released during siggraph '06. but 8.5 is going to be a LOT better.

So I think I revert to maya 7 and wait for 8.5.

hominid
12-08-2006, 09:50 AM
Did this birdy have any rumors about when 8.5 might come out?

Pete

R303
12-10-2006, 07:58 AM
In march at the Game Developers Conference 8.5 will be shown. It won't be RELEASED trhere, just shown. The release date I don't know, but shouldn't one think it would be in august at Siggraph?

Autodesk, booth 610. Product Announcement

* Autodesk Maya 8.5 Unveiled At GDC 2007

Autodesk® Maya® 8.5 software gives artists enhanced creative control, enabling faster completion of complex animation and simulation tasks. Creative control is achieved through innovative new technologies such as Nucleus, Autodesk’s next-generation unified dynamics simulation framework. Python integration further extends this creative control. Maya 8.5 is also optimized for Intel-based Macs.

DavidLessel
12-10-2006, 11:51 AM
I've had that issue as well and found a solution.

Select your skinned mesh...
unlock any of the rotate or translate attributes in the channel editor
set the value to 0.001.

Now you should have MR motion blur :)

AFAIK Autodesk is aware of the bug, but until a fix is issued use this workaround.

djx
12-11-2006, 11:55 AM
David Lessél, thank you for your suggestion. I had to experiment a bit to get my mesh to blur with MR, but I would never have thought of trying that :thumbsup:

For anyone else trying to get "exact" MR blur with a smooth-proxy setup, I will explain in a bit more detail.

Typical smooth-proxy setup for animate and render. Skin the proxy, then animate (smooth hidden), then render the smooth mesh (proxy hidden). Maya 8 introduced a bug that results in this render time error:
// Error: (Mayatomr.Geometry) : pCylinderShape2: mesh has no faces, ignored // so the smooth mesh is ignored by the renderer.

In this case the workaround is simple. Just add the following line as a pre render layer MEL in render-settings:
dgdirty -a;

But if you want MR motion blur the workaround fails (unless you use the rapid scanline method). To get "Exact (Deformation)" blur working you need to do the following:

Select your proxy mesh and smooth mesh.
If the translateX channel is locked, then unlock it.
For the proxy mesh, set a keyframe on translateX at the start of your animation.
Then set a 2nd key at the end, with a very small change in translateX (0.001 for example). It obviously needs to be small enough that it wont be noticeable.
For the smooth mesh change the translateX value by a very small amount as well. You dont need to key this one.
Now when you render MR blur should work correctly. :applause:

eject
01-22-2007, 11:49 PM
I have been a lots of trobles with that issue, and even without using motion blur. The problem was this: the smooth mesh doesn't move in a batch render. And the problem seen to solve with that last post, doing wath djx says:

Select your proxy mesh and smooth mesh.
If the translateX channel is locked, then unlock it.
For the proxy mesh, set a keyframe on translateX at the start of your animation.
Then set a 2nd key at the end, with a very small change in translateX (0.001 for example). It obviously needs to be small enough that it wont be noticeable.
For the smooth mesh change the translateX value by a very small amount as well. You dont need to key this one.

But, it was necesary to key frame both polys, the proxy and the smoothed.

tks djx!!

CGTalk Moderation
01-22-2007, 11:49 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.