Menu Close

DCM mini tutorial #2 – Transform Element

Nowadays “proceduralism” is a very hot trend. Yet many 3dsMax users don’t realize that 3dsMax has had a wide range of procedural features for decades. One of the not-so-well-known procedural features is Data Channel modifier which was introduced in 2017!.

A few days ago. I saw a question about how to make this animation on the tyFlow Facebook group. It was a perfect example of what DCM can easily do with a simple setup. Now with Array modifier, it took 5 min for me to put it together.

1. Let’s start with a box. I guess I don’t need to explain more. 🙂

2. Then, 15×15 Grid Array.

3. Then, Wave modifier. I rotated the gizmo 45 drgree.

4. Then, I applied Vol.Select. Rotate the Gizmo 45 degree again and moved out of mesh.

5. Then, animate the gizmo to select all vertex on the verts. This is frame 36.

Frame 72.

As you can expect, Ill drive the scale animation of each element with animated soft selection using Data Channel modifier. Apply Data Channel modifier.

6. Apply Data Channel modifier.

7. Click “Add Operator” button.

8. Add “Transform Elements” and “Vertex Output”

9. Transform Element modifer allow you to transform(move, rotate, scale) each element using a selected channel. For this setup, we will use soft selection channel as a driver. Set “Input Channel” as Soft Selection.

10. Set Transfrom as “Scale %(Uniform)”. Leave everything as is. It should look like the following image.

This setup means, DCM will scale each element from 0 to 100% using soft selection value 0-1. So, if the average of soft selection value of an element is 0. The element will be scale to 0. If the average is 0.5, it will be half size(50&), of the average is 1.0, it will be full size(100&).

11. Select “Vertex Output” and set Position/Replace. The Transform Element generates transformed vertex position data for each vertex and store in a vertex channel and pass down. We need to replace vertex position channel with the new vector channel to see the animation. “Vertex Output” operator is doing that,

12. If you want to make it more interesting, you can add one more Transform Elements for rotation. Make sure to right click the second Transform Element and change to “Replace” since you are adding a new separate channel. If you choose “Add”, the value will be added to the vector channel coming from the above “Transform Element”.

13. Set “Transform” to “Rotation” and set all “Max” value to 360. So, you can do a complete turn.

That’s it! So easy right?

There are a lot more you can do DCM. If you want to learn more about DCM. I collected some tutorials here.
https://3dsmaxtutorial.com/category/modeling/datachannelmodifier

And.. here is the scene file.

Download

 

 

 

3dsMax 2023.3 Organic Noise

I know it is gross. This is the new OrganicNoise OSL map from 3dsMax 2023.3. It makes organic-looking noise! Like the above image.
It is so cool because…

  • First of all, it ships with 28 ready-to-use presets!
  • Lots of options to play with
  • 3D procedural noise. You don’t need UV
  • Animation-ready Phase parameter
  • Work well with displace modifier and gradient map

I renderers all 28 presets as animation. Check it out. Don’t forget to music on!

 

3dsMax 2023.3 Highlights

It has been only a little bit more than a month since we got big USD updates. But, this is December, the month of the last PU of the year.

The new Organic Noise OSL map will allow you to create organic looking noise patterns by modulating and filtering OSL noises.

The best part of new #3dsMax 2023.3 Organic Noise is that it comes with 28 ready-to-use presets. It is like having a holiday gift basket!
I rendered all 28 presets with Phase/Scale animation and even put some background music. It is interesting to see that the scale adds even more variations.

When #3dsMax 2023.2 Array modifier was released, I had to connect a few OSL nodes to randomize maps per clone. Now you can just use a single UVWRandomizer OSL map for the randomization part

#3dsMax core optimization effort never stops. This time Poly to Mesh conversions performance has been improved across 3dsMax. If you have a stack with lots of channels and jump around Poly/Mesh a lot, you will feel the difference.

3dsMax USD 0.3

3dsMax USD 0.3 has been released. Here is the highlights.

USD Stage Object

  • SD Stage Node is now supported in 3ds Max. Reference a USD stage directly into 3ds Max to create a scene with USD assets from an existing file. Using this workflow, you can view and render USD data directly in 3ds Max.
  • File > Reference > USD Stage….
    Create Panel > Geometry > USD >  USD Stage
  • Stage Masking support
  • Full access to working with in-memory stage data. You can build Python, C++ and MAXScript tools to interact with the data inside a USD Stage Object. The stage has a read-only property called CacheId that can be used to access the stage from a global USD cache. Using this you can directly manipulate and interact with USD data (moving prims, changing visibility, etc.)

USD Stage Rendering

  • USD Stage fallback rendering mode allows rendering USD Stage even when renderers do not support accessing a USD stage directly.
  • UsdPreviewSurface material support using texture transforms (UsdTransform2d) and texture wrap modes.
  • Assign USD Materials button to build a Multi/Sub material for fallback rendering mode. Users can override any parameters of the material tree.

USD Export & SDK

  • USD Stage Objects can now be exported as USD references.
  • SDK includes all you need to build your own PrimWriter, ShaderWriter and Chasers to hook into our USD Exporter using C++ or Python
  • 3ds Max USD SDK comes with a set of working (simple) samples covering ShaderWriter, PrimWriter and Chaser, written in both C++ and Python to get everyone going rapidly with the new SDK

3dsMax Array Sample Pack

These are some Array modifier sample max files from me and other beta testers. I’ll eventually post something ti explain some of these files. But, if you are impatient, just open these files and figure it out! Enjoy!

Download3ds_Array_Sample_Pack here!
* Array_Spline_MetalHose requires Tubo MCG.

Credit

  • Array_Cobblestone_Road – Sergio Santos
  • Array_DNA, Array_Radial_Tower, Array_Spline_Chain, Array_Spline_Fence – Michael Spaw
  • Array_Grid_Chainmail – David Almeida
  • Array_LostShipLoadFloating – Paul Erdtmann
  • Array_Rope, Array_Tire – John Martini
  • Others – me 🙂

csArrayMaker

3dsMax 2023.2 has been released with the new feature-packed Array modifier.

This is an array/tile “rigger” based on the new Array modifier. I originally wanted to make a series of tutorials. But, I had to admit that typical Max users are too lazy to follow all the steps. So, I just made this script. I still hope to have some tutorials. But, you can just use this meanwhile.
Download

 

The generated object is “rigged”. If you change the base object size, the array/tile will adapt to it.

  • 4 geometric patterns – Circle, Diamond, Triangle, Hexagon
  • 4 tile types – Herringbone, Chevron, Wood Strip, Basker Weave
  • Option to make Chamferd/Non-Chamfered version
  • Initial Size option
  • Clone UV ID
  • 5 Material presets
    • Bitmap projection
    • Random Color MTL – random color between 2 colors per clone.
    • Random Switcher MTL – randomly chosen colors per clone among 5 given color. You can change the amount of color.
    • Random UV Offset Bitmap MTL – randomly offset UV transform and color for a bitmap.
    • Random Advanced Wood MTL – randomly offset UV 3D transform and Advanced Wood material

3dsMax 2023.2 Highlights

3dsMax 2023.2 – Array modifier

  • -A brand new feature-packed Array Modifier. As a modifier, it provides a fully procedural non-destructive modeling and animation experience.
  • Based on the brand new geometry processing engine, MNMesh2(MNMesh means Poly), which is built for performance, stability, flexibility, and scalability. It is the foundation for the future of 3dsMax, and Array is the first practical implementation using this technology.
  • Supports Mesh, Poly, and Spline
  • 4 Distribution Methods – Grid, Radial, Spline, Surface
  • Array by Element allows each element as an array source
  • Extensive Transform options such as Incremental, Alternating, By Axis, Incremental By Axis and provide very flexible control.
  • Randomization
  • Clone ID UV data
  • Remove allow to remove clones by % or object volume
  • Create Instances – bake to instanced individual objects

3dsMax 2023.2 – Physical Material to glTF conversion

The Scene Converter contains a new preset called “PhysicalToGLTF” that allows you to easily convert all physical materials in a scene to glTF materials.

3dsMax 2023.2 –  Object Color mode Material Evaluation Override

3dsMax 2023.1 Highlights

3dsMax 2023.1 – Performance

Improving/optimizing performance #3dsMax has been one of the big focus for a while. #3dsMax 2023.1 has another round of big performance boost. Especially these updates are for animators.

3dsMax 2023.1 – Spline Extrude

3dsMax is known for the best spline tool on the market. Yet it has gotten even better!

3dsMax 2023.1 – Progress bar update

File IO operations will show progress and progress will displayed in task bar icon.

#3dsMax 2023.1 – Isolate selection updates

Zoom Extents On Isolate (ZEOI) is now persistent from session to session (in 3ds Max.ini). Default value of ZEOI is set to off, means do not zoom extents on isolation.

#3dsMax 2023.1 – New Triangulation algorithm

New Triangulation algorithm prevents inverted or collapsed triangles, generates more regular fewer long, thin triangles and handles non-planar faces better. Chamfer and SmartExtrude utilize this new algorithm. It will eventually be deployed more broadly.

#3dsMax 2023 1 – Vertex Paint modifier Capture

A new button is available called “Capture” which copies all of the existing vertex colors that exist under the current Vertex Paint modifier into this level. This will allow you to blur and work with the existing data easier.

#3dsMax 2023 1 – Background Playback & Merge Performance

Improved playback speed with animated background if the source image is in sRGB or gamma 2.2. It is 2x-3x faster.
Improved performance of Merge dialog when dealing with large number of nodes.

MCG : map2vc

It has been a while I made an MCG. This simple MCG allow to set vertex color(or any uv) using any 3dsMax 2d map.

Download

How to use.

  1. Pick a 3dsMax map. You can use a map tree. But, it has to be all 2d maps with Explicit Map Channel.
  2. Set Source ID same as the uv index which the map is using.
  3. Set Target ID to bake map into.
    As label says that channel 0 is vettex color channel in max.

If you wander what the graph looks like, this is the graph. The core portion is smaller. But, error checking made graph a little bit bigger.

3dsMax 2023 Retopology 1.2

3dsMax 2023 includes the updated Retopology modifier. Retopology modifier is an automatic retopology solution that was introduced in 2021.3. It is based on a Autodesk’s proprietary tech called Reform.

If you are new to this modifier here are some links you can read.
Retopology Gallery     Tutorial Video Collection     Quick Start 1     Quick Start 2

Preprocess/Remesh

One of the main update is “Preprocess Mesh” checkbox(On by default). If this option is on, Retopology modifier will preprocess/remesh to make a evenly triangulated mesh first before retopolizing the mesh.

Reform really love this preprocessed mesh which makes the retopology process really really faster. Especially, when you go from very high poly count to low count target. The  above bunny has almost 70k triangles. When I retopo to 5k without preprocessing. It took 34 seconds. With preprocess, it took only 4.7 second.

Second, because the preprocess smooth out small details(or noises), it produce a better edge flow as you can see from the following image. Of course, if you want to keep all the details as much as possible, you might want to turn off preprocess.

Another important benefits of the preprocess is that it actually allow to retopo a highly detailed mesh to a very low target. Reform tend to try to keep all the details as much as possible. Because of this, Reform sometimes just fail or give you a result that has a lot more poly than you wanted. Preprocess solves this issue.

Here are some examples of retopo with preprocess on. I have Ryzen 2700X. Both models were sliced half and reassembled with Symmetry modifier.

Left – 2.4 million poly        Center – 20ok poly / 77 seconds         Right – 24k poly / 20 seconds

730k poly        39602 poly / 25s       10282 polys / 9s       2978 polys / 7s        1003 polys / 6s

Data Propagation/Preservation

3dsMax mesh has more data than just vertex and faces such as UV, normal, smoothing group and material id. Now Retopology modifier keeps any of this data which you set as “Auto Edge” while preprocessing and processing. For example, if you turn on Auto Edge > UV Channel, it will create edges along the uv seams and re-project uv data to the new mesh.

I picked a Megascan asset and retopoed from high res model to 5000 poly target which is same as their LOD0 mesh. The left one is Retopoloigy modifier result. It took 26s with the default setting.

UV after/before retopo

But, Let’s talk a little but more about Auto Edge especially for uv seams as Auto Edge.

I have scanned model. The green line is th euv seams. Do you see all those tiny uv elements? If I turn on Auto Edge with UV Seams, Retopology modifier will try really hard to keep all of them, which means retopo will likely fail unless you set the target really really big. So, please check your UV if your retopo process fails with Auto Edge/UV seam.

 

 

 

 

 

 

 

 

To solve this issue, you will likely create a new uv with less elements and bake maps to the new uv. This is the result after I created new seam abd used BTT to transfer the texture to new uv. It took 104 seconds to retopo to 25000. I’ll have a new post dedicated to this process in the future.

 

 

 

 

 

 

 

 

Here is some images of retopolized Megascan assets. Most of them was just one click.

Output Mesh type

Now you can choose to output either Retopology mesh or Remeshed Mesh(Preprocessed mesh) to the stack.

As you can see, remeshed mesh has extremely simulation friendly topology. As of now, you can’t just get remeshed mesh. But, remesh process usually a few seconds. You can just press ESC when retopology process starts to get only remeshed mesh.

That’s it for today!