Skip to main content

Specs and Standards: 3D Effects (VDB & Alembic)

Updated over 2 months ago

This document is created to provide clarity to all contributors submitting 3D Effects assets such as VDBs and Alembics for review by ActionVFX. The goal is to ensure all contributors are following the standards we hold for our own products, thus eliminating many rounds of review or rejection of a collection.

Important:

  • Not all guidelines pertain to every asset being created.

  • This document will be updated from time to time.

Submission Checklist for 3D FX

VDB Assets

  • File names follow ActionVFX naming conventions.

  • VDB resolution is high enough for 4K renders.

  • File size does not exceed 24GB per asset on average.

  • If LODs are being provided, they follow ActionVFX Guidelines.

  • Grids (a.k.a. Passes or Channels) have meaningful and consistent names.

  • The grids provided are consistent across the collection.

  • Empty or unneeded grids are removed.

  • All clips of a collection have consistent scaling.

Alembic Cache Assets

General

  • File names follow ActionVFX naming conventions.

  • If LODs are being provided, they follow ActionVFX Guidelines.

Geometry

  • Polygon count is high enough for 4K renders

  • Quads are used when possible.

  • The asset is to real-world scale.

  • The asset is centered at the world origin and is sitting on the ground plane.

  • The asset has clean and complete UVs.

  • Face and vector normals point outward.

  • Holding edges are used where necessary so the asset keeps its shape when subdivided.

  • All geometry and groups are named using meaningful names.

  • All geometry is grouped in a meaningful and organized manner.

  • There is no floating geometry or points.

  • There are no holes in the geometry.

  • No additional geometry or lights are present other than the asset being sold.

Textures

  • All assets include textures if relevant to the asset.

  • All textures used can be legally distributed with the asset

  • Textures are named using correct naming conventions > [Asset_Name]_[TextureType].[file extension]

  • Folder structure follows ActionVFX guidelines

  • Roughness/Metallic PBR textures are included (others can also be provided)

  • Textures are provided as 16-bit PNG images

  • If Unreal textures are provided, they are 8-bit JPG images

  • Textures are provided in 4K resolution (4096x4096)

  • If other texture resolutions are provided in addition to 4K, they are from the approved list of texture resolutions

VDBs

File Names

File names should follow this format: [Asset_Name]_LOD[#]_[frameNumber].vdb

If the asset is not animated then it does not need a frame number in the file name.

Examples:

Gas_Explosion_001_LOD0_0034.vdb

Smoke_Plume_005_LOD1_0015.vdb

Cloud_001_LOD0.vdb

Resolution

The typical ideal resolution for VDBs is one that allows the asset to be rendered, full-frame, at 4K resolution without visible voxels.

Sometimes, the resolution will need to be reduced to abide by the File Size guidelines. In this case, you might want to look at removing passes such as velocity instead of reducing the resolution as that would reduce file size with the least negative impact to the user.

Example Resolutions

All examples are a single frame of a VDB sequence.

  • Gas Explosion - 25M voxels

  • Meteor - 50M voxels

  • Aerial Explosion - 15M voxels

File Size

File sizes are dependent on the effect being created but generally, the max file size for a full resolution (LOD0) animated VDB should be no more than 24GB. For example, a collection of 10 Gas Explosions would total at most 240GB because it includes 10 x 24GB animated assets.

While 24GB is the limit, if it’s possible for it to be smaller without compromising the effect, we prefer that since 24GB per file is a lot.

Non-animated VDBs will be significantly smaller in size, and unlike the 200+GB collection of explosions, a whole collection of non-animated elements (for example, still Clouds) should be no more than 20GB in total.

Sometimes a file size larger than 24GB is required to have a good and usable asset. If you believe this is needed for your asset please reach out to the ActionVFX team about the matter. Larger file sizes will be accepted in some circumstances.

LODs

If you would like to offer more than one Levels of Detail to make the product more valuable and flexible, follow these guidelines.

  • LOD0 - The highest resolution available.

  • LOD1 - Half the file size of LOD0. If the LOD0 asset is 20GB then the LOD1 version should be roughly 10GB.

  • LOD2 - LODs of LOD2 may be provided if they are needed to make the product more useful but typically, LOD0 and LOD1 are the only versions needed. LOD2 is half the size of LOD1.

VDB Grids (a.k.a. Passes or Channels)

Your VDBs should included the needed passes that allow users to get great results when using the assets. The most common passes are density, temperature, heat, scatter, and velocity. Not all passes are always needed and sometimes there are additional passes that may be needed which were not listed above. Included the passes that are needed for the asset to be most useful and remove the passes that aren’t needed to save file size.

Examples of VDB Passes for ActionVFX products

  • Gas Explosions - density, temperature, heat, scatter

  • Aerial Explosions - density, temperature, heat, scatter

  • Smoke Plumes - density

  • Meteors - density, temperature, scatter

All assets of a collection should have the same grids available unless it is specifically needed that some assets have different grids available.

If there are grids that are empty (storing no data) or not needed they should be removed from the asset.

Grids should have meaningful and consistent names for the entire collection. For example, if the velocity grid is named “vel” in the first clip, it should also be named “vel” in all other clips of that collection.

Alembic Caches

File Names

File names should follow this format: [Asset_Name]_LOD[#]_[frameNumber].abc

Examples:

Exploding_Debris_001_LOD0_0034.abc

Ground_Crack_005_LOD1_0015.abc

LODs

If you would like to offer more than one Levels of Detail to make the product more valuable and flexible, follow these guidelines.

  • LOD0 - The highest resolution available.

  • LOD1 - Roughly half the polycount of LOD0. Textures are half the resolution of those for LOD0.

  • LOD2 - LODs of LOD2 may be provided if they are needed to make the product more useful but typically, LOD0 and LOD1 are the only versions needed. LOD 2 is roughly half the polycount of LOD1. Textures are half the resolution of those for LOD1.

Geometry

Polycount

The polygon count should be high enough to be able to render the asset full frame in 4K.

Quads Preferred, Triangles Tolerated

The asset should contain only quads wherever possible. When tris are needed, for example with fractured objects, it is ok to use them.

Real-World Scale

Assets should be built to their real-world scale.

Center at World Origin/Pivot

The asset should be centered at the origin (0, 0, 0) and should sit on top of the ground plane without passing through the ground. The pivot point of the overall asset (the highest-most Group) should be at the origin.

UVs

All assets should have clean UVs that allow a user to easily adjust textures or retexture the element completely.

Normals

Face and Vertex Normals should be clean and should point outward.

No Floating Points and Geometry

There should be no floating points or geometry in the scene. All geometry of a asset should be attached to at least one other object and unused, floating points and surfaces should be removed.

No Holes in Geometry

There should be missing surfaces or points which cause there to be visible holes in the geometry.

No Additional Geometry or Lights

There should be no additional geometry, lights, cameras, HDRIs, or other unused items in the file/project other than the asset being sold.

Grouping/Hierarchy

All objects should be in a meaningful grouping/hierarchy for easy selection and transformation. Example can be found bellow under Naming Conventions.

In-File Naming Conventions

Each object and hierarchy should be named with unique, meaningful names that describe the item well.

  • Wall_Hit_1

    • largeDebris_GRP

      • [all largeDebris geometry]

    • smallDebris_GRP

      • [all largeDebris geometry]

    • Etc.

Textures

PBR textures should be included whenever relevant. Some assets such as Electrical Arcs do not need PBR textures as they are emissive effects, but most assets do as it gives the user a starting point that matches preview renders on the website.

File Specifications

Textures should always be provided as 16-bit PNG images.

The only exception is for Unreal specific textures. These should be 8-bit JPG images.

Resolution

4K (4096x4096) textures are required for all 3D FX that are not volumetrics.

Other texture resolutions will also be accepted but 4K textures must always be included.

Other textures that are allowed to be provided in addition to 4K textures are:

  • 8K (8192x8192)

  • 2K (2048x2048)

  • 1K (1024x1024)

Legally Distributable Textures

All textures must either be custom-made or from a source that allows the legal redistribution of the textures. ActionVFX highly recommends the use of only custom-made textures.

Custom-made textures are those made with texturing software such as Substance Designer and Substance Painter.

There are also resources for textures which allow the redistribution of the textures in stock assets. At the time of writing this (May 9, 2024) Textures.com allows the redistribution of their Regular Images but not their Special Content which includes all PBR Materials on the site. The Regular Images in this case would be allowed to be used in products submitted to the ActionVFX Marketplace. See Article 6 of their terms. If you use their regular photos, you'll need to add the following text to the documentation accompanying the asset:

"One or more textures on this 3D model have been created with photographs from Textures.com. These photographs may not be redistributed by default; please visit www.textures.com for more information."

Types of PBR Textures

PBR Metallic/Roughness textures are required for all assets.

This includes the following texture maps:

BaseColor

Normal

Metallic

Roughness

Additional maps such as AO, Height, Displacement, etc. should be included when needed.

PBR Spec/Gloss textures are recommended for all 3D assets but are not required.

If you are providing Spec/Gloss textures, the following maps are required:

Diffuse

Normal

Glossiness

Specular

Additional maps such as AO, Height, Displacement, etc. should be included when needed.

PBR Unreal textures are recommended for all 3D assets but are not required.

Unreal textures should always be provided as 8-bit JPG images

If you are providing Unreal textures, the following maps are required:

BaseColor

Normal

ORM - A single texture with Ambient Occlusion in the Red, Roughness in the Green, and Metallic in the Blue channel.

Additional maps such as Height, Displacement, etc. should be included when needed.

Texture Naming Conventions

Textures must be named using the following naming convention.

[Asset_Name]_[TextureType].[file extension]

Examples:

Wall_Hit_1_BaseColor.png

Wall_Hit_01_AO.png

Folder Structure

The folder structure for 3D assets is as follows.

Alembics

  • 📁Collection_Name

    • 📁Asset_Name

      • Asset_Name.abc

      • 📁TEXTURES

        • 📁PBR_Rough-Metalic Metallic

          • TextureName.png

        • 📁PBR_Spec-Gloss

          • TextureName.png

    • Repeat for each asset…

VDBs

  • 📁Collection_Name

    • 📁Asset_Name

      • Asset_Name_[frame number].vdb

    • Repeat for each asset…

Did this answer your question?