By ishook
#349210
We upgraded to the new maxwell (maxwell_max_2.6.12.exe) and the new plugin for Max 2012 and found that the "use max instancing" checkbox is gone. Likely because Maxwell now has MXS instancing or something. Now my MXS files are in the gigabytes and take a while to load. Do I have to convert all instances to an MXS file in order to 'use instancing'

How do I tell maxwell to understand that I have instanced geometry in my scene?
By ishook
#349220
Wow. That is terrible. Huge wrench in our gears over here. So, if I were to proxy a 100 part chair, it doesn't even make a proxy of the whole thing, just one part. I'd have to collapse and combine each object I want to be a proxy. No way man, no way.
User avatar
By Bubbaloo
#349222
In that case (of multiple objects) I'd first make an MXS reference of the objects. Then you can bring it in as a referenced MXS, make a Maxwell Proxy object out of it, then scatter that Maxwell Proxy object around where you want it.

The reasoning I heard for no longer using Max's instances is because Max instances are retarded and cause problems. Loosely quoting Mihea or Bogdan...

It definitely requires a shift in work flow, but honestly now that I'm using the new system for a while, it's very easy and keeps the Max file sizes very low.
User avatar
By Mihnea Balta
#349246
Exporting Max instances as Maxwell instances has always caused problems. These problems increased with some of the new 2.6 features, especially the new transformation motion blur. None of the other render engines support them (probably for the same reasons) so we decided to drop them too. We're sorry for the inconveniences this might have caused.

The MXS references aren't meant to replace instances, that's a separate feature. The only way of making instances now is with the Maxwell proxy object (which existed before too and was the preferred method). Once you make a proxy, you can create Max copies or instances of it, and they too will export as Maxwell instances. Indeed it requires an extra step (making the proxy first) but we had to take this route because supporting Max instances directly was turning into a nightmare.

We are aware that the proxy object cannot instance groups, we're working on that.

PS: as Brian mentioned, an alternate workflow is to export heavy objects as independent MXS files and reference/instance those. The advantage is that you can share objects between scenes, the disadvantage is that the scenes are no longer self-contained (and that it needs a workflow adjustment).
User avatar
By egmehl
#349294
This is a really big deal. Instances in Max are just fundamental to how I, and I think a lot of other people, work. To just get rid of support for them is extreme. It's not just a field of trees or repeated objects that get instanced - those are handled fine with proxies. But parts of a building facade, roads, furniture and other things all need to be usable as instances.

The new proxies aren't even close in terms of usability - no snapping, no shading, no ability to make them unique (without some trouble), having to track down the source object to make changes, the list goes on. Day to day work isn't just about being able to do something, but being able to do it quickly and efficiently, which this hurts.

But as a middle ground, would it be possible to add the ability to see the proxy as real geometry - shaded and materials applied, etc.? Maybe a check box in the proxy settings along with the vertex count that allows them to be shown and snapped to?
By ishook
#349296
I'd gladly take broken or inaccurate motion blur over being able to use instances. I use motion blur maybe once a year. Maybe there's a script out there or even the Maxwell plugin that can convert all my stuff to Maxwell proxys when saving MXS files, but keeps it all as instances in my scene?
User avatar
By Mihnea Balta
#349297
I understand that you've gotten used to Max instances being treated as Maxwell instances. In hindsight, it was probably an error on our part to introduce this feature despite the problems. As I said above, no other engine (that I know of) does this, everybody renders instances as copies of the original, precisely because of how badly they are implemented in Max. How big is the impact of having the instanced objects render as clones in your cases? What is the limiting factor, the memory used during rendering, the export time, the disk space taken by the MXS, or something else?

It wasn't about broken or inaccurate motion blur, it was about broken instances. Max has a habit of taking two completely different objects and telling us one is an instance of the other, especially when working with data imported from CAD programs. This issue kept coming up, with customers asking us why they were getting screwed up renderings, and us telling them to disable instancing. The motion blur complications are an added bonus; it's possible to make it work, but it would have taken longer to implement and the plug-in would have become harder to maintain and extend.

In the end, we can probably add the feature back, but it would take a significant effort. I'd like to understand how big the issue is for people who were used to the old behavior, especially since at some point we made the "Export Max instances as Maxwell instances" option disabled by default, and nobody complained then.
User avatar
By egmehl
#349311
For me, the biggest problem is the memory used during a render. The size of the MXS and export times aren't great, but they are inconveniences where the memory requirement can mean a render will fail completely. It's pretty common for me to have a mid - large sized interior space full of fairly detailed furniture and some props to go with it. A recent file exported as a 4gb .mxs file without instancing vs. 300mb with instancing. That's on the larger end for me, but not too uncommon - though I don't know what the typical output for most of the users is.

I've managed a script that replaces instances with maxwell proxies at render time and deletes them afterwards, but it's kind of slow on the cleanup, and I don't necessarily trust it with every case for now. Even if the exporter plugin just took the easiest instances and didn't try and solve every edge case, it would probably be fine for most of my situations.

As for the default instance setting in the past - the first thing I did in most files was turn on instancing and turn off motion blur. :)
By brodie_geers
#350175
I'm glad this got added back as well. I was just checking out the boards because I was having issues with using PFlow to scatter grass which was coming out as one huge object rather than a bunch of instances of a single small object.

-Brodie
By brodie_geers
#350265
Well, as it turns out my Pflow objects are still exporting as a single huge mesh instead of instances. Can anyone else get this to work on the current plugin?

-Brodie
Help with swimming pool water

Hi Andreas " I would say the above "fake[…]

render engines and Maxwell

Other rendering engines are evolving day by day, m[…]