Saturday, January 14, 2017

3ds Max 2017 Command Panel Docking Change

Well, this might seem like a small bug, and frankly it is, but I am always bothered when historical workflows and functionality are apparently abandoned for no reason. Such seems to be the case with the Command Panel in release 2017. I don't know of this is a permanent removal (on purpose) or just a 2017 bug with the UI changes in 2017.
Now a lot of coding work has been done under the hood for 2017 and I welcome  new conventions and some changes but I'm mystified by this one. Perhaps it is just my particular installation and I will check several others to verify, but the un-docking feature of the Command Panel has changed in 2017. I remember when this feature was new in release 3 of Max and it was such a welcome option, especially for those of us using multiple monitors, being able to drag the Command Panel off to a 2nd monitor and have all that much more real estate for your main viewport.
In 2017, a big new feature is of course proper scaling of the UI on Ultra High Definition monitors. 2016 and prior releases struggled with the ability to display the UI on 4K monitors (or higher if you're out there) rendering the software useless really.
Anyway, to get to the point, I always floated the Command Panel by grabbing the UPPER LEFT corner and tearing it off. Sometimes that little, special location could be tough to nail down (you know that little floating cursor icon you need to get), but this was the convention I always used. Now you could also tear off the Command Panel by grabbing the right hand edge but I don"t think I ever saw anyone do that. Of course you could minimize the Command Panel to a simple "bar" on the right by right-clicking once you got the "Floater" icon with the mouse but I never needed to do that since I could tear the entire Panel off to a 2nd  monitor. Honestly, I kinda forgot about the right side of the Panel and the minimize option. But now, as of max 2017, you cannot access that special little upper left corner spot and get the "floater" cursor. It's just not there. You have to grab on the right side of the Command Panel to tear it off. Below are a few screen caps to show what I mean.
I spent an hour this morning researching this (call me an idiot) thinking it was a custom UI change or some sort of Workspace issue I needed to adjust, but it seems the upper left corner option is just gone now for floating the Command Panel. I only point it out in case someone else is wondering why they can't tear off their Command Panel in 2017 as I first did. We're talking 16 releases where this has been a common convention and now changed. I have not seen a single comment about it so apparently this little removal hasn't been worth noting. Oh well....

Monday, March 14, 2016

Quickly Zoom to Selected Objects Material in Slate

One of the things I've wanted to be able to do for a long time in the Slate Material Editor  is quickly find the material assigned to the selected object in my scene and have it be the focus in the SME view window. Of course you can use the eye dropper or scroll through the list of scene materials and drag it into the view, but come on, that's too hard. As it turns out there is a shortcut. Well, kind of. You have to assign a shortcut key, but the task is an option in the Customize Menu as found below:

The customize option is found under the "Medit Tools" category called: "Edit Selected Object's Material". Assign a custom hotkey and you're set. I think I chose Ctrl+Shift+S. Anyway, this option brings the material of the currently selected object up in the SME and centers the view around it.

Wednesday, November 11, 2015

Poor Normal Map Sampling with Render to Texture

If you've used Render to Texture (RTT) with Mental Ray as your renderer, you may have been frustrated by the poor anti-aliasing quality of Normal Maps produced through RTT. Below are some samples and a description of the problems and my recommended solution at the bottom. If there's a solution I'm not aware of using Mental Ray, please let me know what I'm missing.

I'll assume at this point you are familiar with RTT and have at least dabbled in it to produce various image outputs for use, most likely , in some sort of real-time or gaming environment. I do not profess to be an expert in any of these areas, just another experienced user, frustrated by some unexpected behavior in Max.

1st you likely have a high detail model and you plan to use RTT to render out some good maps to use on a lower detail model. Pretty typical. You probably want to create a normal map to add detail from the high poly version onto the lower poly version. Projection mapping is required and RTT is set up to deal with this.
So next you would align your 2 models, create the Projection Modifier (either by adding it in RTT or manually) and refine the projection cage to your liking. BTW there are tons of great tutorials and forum posts related to these tasks online. However, I have only found a few dealing with the anti-aliasing issue and none addressing the specific issues with Mental Ray (that doesn't mean there isn't something out there of course).

For my examples below I'm using a hubcap model. I've setup the low detail model and Projection Modifier. now let's look at some of the renders RTT produced and some of the settings that are confusing.
Assuming we leave Mental Ray at some generic settings, we have Final Gather enabled, some generic lights and we're using Unified Sampling for anti-aliasing.
Setting up all our settings correctly and doing a render from RTT at 512 x 512 we get a reasonable looking complete map, but the Normal Map seems very pixelated:

Note: Click the images to see the full resolution details

Complete Map with generic settings

Normal Map output by RTT from same render as above Complete Map

 Note the pixelation of the normal map that doesn't seem to be an issue on the Complete Map.

Now to try and fix this within  RTT, we look at the "Options" dialog under the "Objects to Bake" rollout, projection mapping group:
Notice the sampling "setup" which just takes you to the render dialog's sampling group for Mental Ray. At the Unified default of minimum = 1 and maximum = 128 it appears that RTT is only using the minimum for the Normal Map portion of the render and NOT taking advantage of the adaptive sampling up to 128 that we see in the complete map. So to test that, lets set both Max and Min to 1 and see what we get:
Complete Map rendered with Unified Sampling set to Minimum=1 and Maximum=1
Indeed, it looks like RTT is only using the "minimum" sampling setting to render Normal Maps. Ok, so let's set the minimum up to 16 and see what we get.
Normal Map with UnifiedSampling Minimum set to 16
The quality of the anti-aliasing seems no different and in fact if we look at the "Projection Mapping" "Options" we see that the "Samples per Pixel" still says "1". In fact, with Unified Sampling, it will always say 1 and will never render to a higher sampling, leaving your Normal Maps with this poor aliasing.

So what if we change to the old "Classic/Raytraced" sampling method. Now if we change the Minimum, the RTT "Samples per Pixel" option updates. Yippie! Problem solved right? Test our theory by rendering with a minimum of 64 samples per pixel, pretty high quality that should yield nice anti-aliasing:

Normal Map with Classic/Raytraced sampling and minimum set to 64 samples

Well...that doesn't seem any better. In fact, you can set the minimum to something outrageous like 256 and the quality will not improve:
Normal Map with Classic/Raytraced sampling and minimum set to 256 samples
Not only does rendering with 256 samples as a MINIMUM not improve the anti-aliasing, it also takes 7 minutes now.

So, in conclusion, it seems that Render To Texture will only sample Normal Maps at 1 sample per pixel when rendering with Mental Ray leaving you with poorly anti-aliased images.
Solution: render at a higher resolution (2048 or 4096) and downsize the image as needed in Photoshop. The added render time is minimal considering that Normal Maps do not require Final Gather or Shadows so you can turn them off before rendering. And you can set the Sampling quality to minimum=1 and maximum=1:

Normal Map rendered at 2048 x 2048 downsized to 512 x 512. Sampling =1 with no Shadows or Final Gather
On a final note, for down-resing your image in Photoshop, you might want to pick the Bicubic "Smoother" option rather than "Sharper" filtering option to avoid some artifacts. This is contrary to the common practice for re-sizing images in Photoshop.

Wednesday, October 7, 2015

Distributed Bucket Rendering, Socket error when connecting to slaves

If you've tried to do a Distributed Bucket Render with Mental Ray and run into the dreaded socket error where the host cannot talk to the slave nodes, assuming you've set up your "max.rayhosts" file correctly, the error could be due to the fact that the Mental Ray Satellite service is not running. This will generate the socket connection error which at first, makes you think you have a network problem. Note that prior to release 2015, when you installed 3ds Max, this service was set to be started automatically and always ran in the background, ready to be used when you submitted a DBR. However, since release 2015, the service is installed but set to "Manual" startup type so you must access your system services and turn it on before rendering.

Monday, October 5, 2015

New Tutorial for Max 2016 Extension 1 "TextPlus" object

I've uploaded a new tutorial on using expressions to control the "Value as Text" option in the TextPlus Primitive, new to Max 2016 with Extension 1. You can find it on YouTube at:
This is a welcome new feature and I can think of a lot of uses for it just for working within your scene.

Tuesday, July 7, 2015

Force Local Render in 3ds Max 2016 from Older File Set to Network Render

The new Render Settings Dialog in Max 2016 places the core render engine settings at the top of the floater window. A nice change, but the new, large "Render" button no longer has a small drop down arrow with it where you choose to network render or local "Production" render.

This is OK unless you have opened a 3ds max scene file from several versions earlier where the default "Network Render" option had been chosen. Apparently this setting was embedded in the scene when you saved it (obviously as a Render Dialog setting) and is now read by Max 2016 as the mode of render when you press the new big "Render Button". In other words, though the "Target" setting is set to "Production Render Mode", max still submits your render to the network as if the "Target" option was "Submit to Network Rendering...". Assuming you do not want to network render, there is currently no way to "reset" this flag back to a local render. The work around is to change the render "Target" to some other option and then back to "Production Rendering Mode". This forces the embedded render profile to be reset.

Tuesday, March 24, 2015

Chi-Chi the Chinchilla and the Three Worlds

A quick marketing announcement, not usually the kind of thing I would post here, but I've been asked about this over the last year from several colleagues.
Katia Gaidouk, the author of "The Adventures of Chi Chi the Chinchilla", has started a Kickstarter Campaign to fund the 2nd book in her series. Book 2 is entitled: "The Adventures of Chi Chi the Chinchilla and the Three Worlds".

We have been in touch to produce a new, short video based on this book. Having read the draft last year, I'm excited about all the new characters and the potential of a lot of challenging animation from her new story. You can read more about the kickstarter campaign and even contemplate a donation (much of her proceeds go to the non-profit "Child Fund") here: Chi Chi on Kickstarter