Sunday, June 15, 2025

Resuming Blog Posts for Digital Animation Services

     Several years ago I migrated my website to Wix. Therefore my Blog migrated as well which explains the long lag in any posts here. Seemed like an OK idea at the time and the Wix platform has served me well to be sure. However, I'm finding their pricing a little hard to swallow as discount periods have ended and time goes on. I intend to migrate off of Wix in the next year when my contract expires and as such, my Blog there will need to migrate as well. Unfortunately, as many already know, Wix's web design platform and blog are proprietary (I knew this going in but for some reason didn't think much of it at the time) and therefore a migration to a new platform will be a bit time consuming. Good thing I have a year! I have therefore decided to resume posting here on Blogspot/Blogger for the forseeable future. Since I have a massive following of up to 3 or 4 people, I don't anticipate this being a problem for the internet.

If it was not clear, my website and blog were entirely rebuilt when I migrated and are always available at  their original home: www.digitalanimation.net

Thanks!


Dave 

3ds Max Skin Modifier Tips

 A couple quick tips for working with the Skin Modifier in 3ds Max:

I ran across a few issues I had trouble resolving without some help from others on the interwebs.

1. I wanted to select the vertices belonging to a particular bone as I worked through the skinning process on my mesh. Though it was posted in a few places online, I figured I'd add to that tiny list of places by posting it here. Credit to the original maxscript author whose name I did not find online at any of the places it was reposted.

Just run this snippet of maxscript code and it will select all the vertices associated with the selected bone in the Skin Modifer:

            s = modpanel.getCurrentObject()
            -- if the current modifier selected is a skin modifier, then select the vertices
            if iskindof s Skin do
            (
                skinOps.selectVerticesByBone s
             )

Though this capability is obviously included in the basic SkinOps properties in maxscript, I am not aware of any way to do this natively in the Max UI. 

-------------------------------------------------------------- 

2. I also wanted to attach one skinned mesh to another, effectively combining the 2 skinned meshes into one and therefore the 2 Skin Modifiers as well leaving a single mesh with a single Skin Modifier. This was to make my life a little easier when I imported the character into Unreal Engine. I wanted only one Skeletal Mesh to deal with in Unreal. Again, I found the solution in a few places online so thought I would repost here as well. Credit to user PolyHertz from the original forum post in 2015 which can be found here:

https://polycount.com/discussion/162400/attaching-separate-meshes-and-retain-skinning-data-help-3dsmax-but-open-to-other-software

 The process involves adding a Skin Wrap Modifier with the following steps:

    1. Duplicate the meshes in place (select them all then press ctrl+V).
    2. Combine them, and add a Skin Wrap modifier to the resulting mesh.
    3. In the Skin Wrap modifier add the already skinned meshes, and change settings as needed.
    4. Convert the Skin Wrap modifier to a regular Skin modifier.
    5. Delete old non-combined meshes.

Happy Skinning!
 

Friday, February 17, 2023

Export FBX w/LODs for Unreal Engine

 If you have multiple LOD groups prepared with Max’s Level of Detail utility, the best resource I've found for easy export is this excellent macroscript by Anders K. Nielsen:

“Mass Export FBX to UE4.mcr” http://www.mcgreed.dk/maxscripts.html



The process is simple and though the script has several important options, here are the basic steps:

1. Set a file path where the FBX exported content will go.

2. Select all the entities in your max scene that you want to export then press “Get fileset” on the script.

3. Make sure and uncheck the option to move parents to world zero unless you're exporting props or other entities that will be animated or placed within Unreal.

When you press “export” the standard FBX export dialog will appear for you to choose your settings and options. This will only happen once upon initial export. Of course you need to choose the “Animation” option for objects with LOD’s.

I have exported dozens of LOD groups out of a single Max scene with this script. A real time saver.

I have created a simple maxscript (.ms) version without the macro headers so you can run it directly without the macro setup in max. You'll find it over in the Tools section of the website as well as a link below.

AKN_Mass_Export_FBX_NonMacro.zip

Anders has several other maxscripts at his site worth exploring. Thanks!!

Sunday, January 1, 2023

Pre-Multiplied Alpha Channel in Adobe Premiere

 One of those annoying things I always forget how to setup. If you've rendered out an animation to frames with an alpha channel, like old Targa format, and used a pre-multiplied alpha channel you need to make a change when compositing in Adobe Premiere. Years ago, Premiere could not handle pre-multiplied alpha channels. I did my compositing back then in old school Combustion. Anyone remember that? Loved that program but I guess Autodesk decided they couldn't compete with After Effects after a few years. Anyway, I was putting together some old frame sequences and just couldn't remember how to get Premiere to recognize my pre-multiplied alpha. You know, you get that black halo around your composited sequence. In Premiere, select the clip, then go to the "Clip/Modify/Interpret Footage" option and under "Alpha Channel" choose "Conform" and check the box for Premultiplied Alpha as shown below:


During my search on the topic online I came across this nice post on the subject by Dennis Koeppl. Thanks.

Saturday, December 3, 2022

WSP Inc. USA, design visualization for the city of Paris

 Before I retired in 2019 I had the privilege of being part of the visualization team at WSP creating interactive versions of the area around the Eiffel Tower. Though many folks contributed to the project, the real-time work was done in Unreal Engine 4.15 -4.18 largely by myself and my brilliant colleague Tracey White. With the tight deadlines and frequently revised goals, we never did get the finished product we would have wished for but nonetheless, I'm proud of the work we completed and I wanted to share some of it.

At it's core, the project was to create a detailed, real-time version of the existing environment around the tower, approximately 2.4 km, large enough to encompass nearby Metro stops, landmarks and areas of concern. The city was hosting a competition for the remodel of this entire area. We would then be tasked with inserting each finalist's revisions into the existing plan. The original goals were quickly revised to include a VR ready version but in the end, due to time constraints and to highlight each finalist's design in an equal manor, a pre-rendered fly-through of each design was created.

Below are some links to read up further on the project, plus a link to download a version of 3D real-time model.

As I mentioned, the project was very collaborative, including all the design team members from the finalists in several different countries, but I must include special thanks to some other 3D specialists at WSP including Kevin Gilson, Mark Kauffman, Glen Loyd, Mathew Kaltman, Eric Martens, Josh Jones, Scarlet Burns and Randy Burton. Mark Kauffman was critical as the Autodesk Infraworks specialist creating much of the core terrain and plan the rest of us worked with.

A screen capture from UE4 showing the 
Paris Eiffel Tower scene created at WSP in Denver, Colorado


Announcement of the competition winner and general overview of the project at Informedinfrastructure.com with links to videos of the designs of the 4 finalists:

https://informedinfrastructure.com/48189/city-of-paris-names-winning-design-team-to-reimagine-the-eiffel-tower-landscape-using-bim-2/

More overview of the project from the Autodesk Blogs including a link to download WSP's core, real-time Paris model (VR and Desktop versions):

https://blogs.autodesk.com/infrastructure-reimagined/eiffel-tower-experience-site-3d/

A tour through the core model created by WSP:

https://vimeopro.com/projectviz/paris-interactive/video/311519755

Some other videos of the project including GPB’s winning bid:

https://vimeopro.com/projectviz/paris-interactive

Online UE Blueprints resource

I came across this wonderful place online where users looking for a way to solve a problem can share their solutions and blueprint code snippets to assist the rest of us. These bits of blueprint can even be downloaded directly from the website. A great resource!

Unreal Engine: Overcome the 16 Texture Sample limit.

I mentioned in my previous post very briefly about overcoming the 16 Texture Samples limit in your typical UE Material. This is frankly old news. There have been other posts around the internet forums about this. It's how I learned about the Sampler Source option. I just thought I'd chime in since it seemed like an important topic.

With your Texture Sample selected in your material graph, in the "Details" panel, set the "Material Expression" "Sampler Source" to "Shared: Wrap". See below.


Credit for the image to poster "Numbat" on the Unreal Engine Dev Community forums. The discussion can be found here