GENOME is an extensible, procedural geometry modifier for 3ds Max.
It operates on mesh data channels using the same Magma node-based channel editor first introduced in Thinkbox Software's Krakatoa MX.
- Flexible - a huge number of custom selection, deformation and sampling modifiers can be created with a few clicks on the fly, or can be loaded from presets for immediate use. Preset flows can be tweaked interactively to fit the specific requirements of the scene.
- Fast - GENOME modifiers are usually as fast as native C++ modifiers, and in many cases faster.
- Integrated - GENOME uses the same data channel approach as Krakatoa Magma and provides access to Krakatoa particle streams for mesh-particle interaction. It integrates well with the Thinkbox' Frost and Xmesh products. Preset flows, compound operators (BlackOps) and Curve Presets are largely compatible and interchangeable with Krakatoa MX 2 Magma flows. Copy and paste is supported between Krakatoa Magma Modifiers and Genome Modifiers.
- Procedural - all modifiers created with GENOME are procedural, providing 3ds Max with updated workflows even in existing areas like selection patterns or texture reprojections which are already available, but are not dynamic in nature.
- Artist-friendly - GENOME is more similar to a compositing application than to a visual programming language. It was designed to be usable by artists without programming or scripting knowlege.
- Easy to use - GENOME shares the User Interface and node editing workflows with Krakatoa Magma. If you are a Krakatoa user already, the learning curve will be nearly flat.
Possible Usage Areas
GENOME can be used to create procedural deformation, selection and editing modifiers - both similar to the ones shipping with 3ds Max, and completely new ones.
Some examples include:
- Custom Selection Modifiers - select procedurally vertices or faces based on existing mesh data channels, external geometry data channels, external object properties, nearest point and ray intersection tests, particle lookup operations, texture map evaluation etc.
- Custom Deformation Modifiers - move vertices to produce deformations similar to the existing Bend, Twist and Push modifiers of 3ds Max, but with the full flexibility of the Magma editor.
- Custom Mapping Modifiers - generate UV coordinates based on other objects, mathematical functions etc., or manipulate existing mapping channels as if they were regular meshes.
- Data Conversion Modifiers - convert data by copying it from one channel to another within the same object
- Data Sampling Modifiers - acquire data from external objects like meshes or particles systems and assign it to the modified object.
- Element Selection Modifiers - select mesh elements (clusters of interconnected faces) based on properties like index, area, volume etc. Useful for cleaning up fluid meshes generated by Frost, or for splitting droplets from the main fluid body.
The GENOME modifier provides three Iteration Modes which represent the internal loop over TriMesh data. These modes are:
- Vertex Iteration - the modifier goes through all vertices in the TriMesh based on the vertex list order. Input and Output channels are limited to Vertex-specific data.
- Face Iteration - the modifier goes through all faces in the TriMesh based on the face list order. Input and Output channels are limited to Face-specific data.
- Custom Face Vertex Iteration - the modifier goes through all map faces (which match the geometry faces) and then iterates through the vertices of each map face, thus accessing the map vertices. In this mode, map vertex and mesh vertex input and output channels are supported. Note that a mesh vertex can have multiple corresponding map vertices, so it can be revisited multiple times.
See the Iteration Modes topic for details on the available channels in each mode.
In addition, Genome v1.1. allows the modifier to run multiple times over its own results. It also introduces a new Loop category of operators for performing repeating operations. This category includes a generic While Loop, a dedicated Particle sampling Loop, and several Genome-specific Geometry Loops for iterating over the neighbor faces or vertices. These features open the door for new types of operators including Relax, Grow Selection and more.
The first version of GENOME has the following limitations (which will be addressed in future releases):
- Evaluation is, like in Krakatoa Magma, history-independent. Each frame is updated based on the current data and no data from previous frames can be stored and passed along, or queried from other times than the current time.
- It operates on TriMesh data internally. Incoming primitive or EPoly geometry will be converted implicitly to TriMesh on the stack.
- No Edge Iterations are currently supported (TriMesh does not contain edge definitions, "edges" are defined as the 3 sides of a face).