TLDR:
I made a plugin with a set of tools for UE4.25-4.26 to streamline the film-making process and am giving them away for free along with a few content packs, the first of which cover 1200+ CC0 material instances that use the 50+ parent materials found in the tools. More to come.
One of the biggest features of this project is the ability to seamlessly send files from Blender, Rhino and Maya to UE4. Be sure to check out the bridge section of this post.
Where to find the project:
To get the tools (required for everything else in this list): UE4 MarketPlace
To get the materials: Mediafire
There are images marked guide in the folder so you can look at what you are downloading before downloading the entire 160gb
Video Tutorials:Youtube
Tutorials take the longest. If you subscribe to that channel you will receive updates whenever I make a new one.
Website: www.openvirtualfilmproject.com
Where is the project going next: Trello
Bug Reporting/Feature Requests: www.openvirtualfilmproject.com/about
Support the project: Open Virtual Film Project is creating an open source pipeline for incorporating UE4 into film and TV | Patreon or Fae Corrigan is creating an open pipeline for film virtual production with UE4
Github for beta code/if you want to help development: https://github.com/ACaesuraIsStillMu…l-Film-Project
This tool is related to the Storyboard tool on the UE Marketplace. There is a free version of that tool with fewer features found here:
Background:
Hello! My name is Fae and I am an illustrator and assistant art director for feature films. My recent work has included The Lion King remake, Call of The Wild, Mouseguard, and several I am not allowed to talk about until they get released. To make my life easier I have been writing some UE4 tools for the past few years in my spare time. I think everyone should have access to the tools to create art, and would love to standardize naming conventions and folder structures when it comes to UE4 films, so I am giving those tools away to anyone who wants them. Go forth and make art.
For those aforementioned naming conventions and folder structure documents. (My tools work under this standard. There is some flexibility built-in if you need to do some changes)
Tools:
The tools, organization structure provide the following benefits
- UE4 has the potential to facilitate incredible collaboration between art departments, previs, camera and VFX as we can all work in a common environment.
- Art and Previs can work in the same file, reducing turnaround times and avoiding the common communication gap where previs does not have enough information to work with, so they might create 3d animation in environments that do not relate to the design being built.
- With a lot of the virtual production tools myself and others (Epic has been great here) have created, the DP and director can set cameras long before the sets are built, allowing the creative team to make decisions from which locations to choose from across oceans, to what parts of a set do not need to be built since they will never be shot. Used intelligently the tool can save millions of dollars on a production while making a better film.
- With the ability to visualize digital extensions quickly, discussions about how VFX will be integrated into the film can be had far in advance of shooting. The pipelines that we use also allow better communication of the art department’s design to VFX if both departments are invested in the tools. A UE4 file turned over to VFX can help answer a lot of questions down the line about the art department’s intentions at a time when most, if not all, of the art department has moved onto other projects.
- On set the tool can be used to help line up traditionally blue-screen shots with a good reference of what the final shot might look like. Bluescreen can be tricky without a way to visualize the extension through the camera since you are effectively composing an image without all of the important details.
- With a visualization of the background on set the DP can light the scene in relation to the background, adding to the believably of the scene and helping avoid the problem where the lighting on the actors does not match the lighting of the background.
- With the advent of real time LED screen backdrops that react to the camera, VFX post can be done during pre-production. The LED screen can provide accurate lighting for a scene, further improving the relationship between the physical and digital worlds. The camera can then capture the scene with the digital background in place, outputting a nearly final image, or, if the digital extension is rough, the leds can turn into a bluescreen just where the camera is seeing, allowing the creative team to shoot with the advantages of more accurate lighting, while keeping the ability to create a much higher quality digital extension later
- The director can show the actors the set with a digital extension to help them visualize the space they are playing in
- I have found UE4 to be an incredibly useful tool in our larger toolset of making films. It is not the solution to every problem, however, it can touch every aspect of making a film in a positive way.
DCC to UE4 Bridges: Transfer 3d models from Blender, Rhino or Maya (beta) into UE4 with 1 click, making sure to preserve instancing, pivots, parenting, and create material instances that follow the OVFP standard and allow for powerful art-directablity.
The bridges also provide quick functions for naming conventions and ensure that your import goes to the right folder in UE4 to maintain organization. The naming conventions and folder structure documentation can be found here.
At the moment the bridges only handle static mesh imports, however, future releases will include animation and collision. ](filedata/fetch?id=1845203&d=1608510774)
**Dynamic setlist: **On a show I might have 30 different environments (sets/levels/etc). This tool shows all of the environments with extra associated information such as page numbers and notes. Using the tool you can make new environments, new sublevels (organization similar to layers), and create versions of environments that you can quickly step through.
Coming soon: an excel file that imports/exports the CSV that this tool generates and creates a setlist that is ready to distribute to your team. ](filedata/fetch?id=1845201&d=1608510774)
**Transform Tools: **Move/rotate/scale selected objects by exact values following real world units (ft, inch, cm, m etc.) following either the global, local, or an arbitrary axis. Also, quickly rescale an entire scene around the origin. ](filedata/fetch?id=1845204&d=1608510774)
**Replace materials in scene: **Select any number of materials in the content browser and one material to replace them with and the tool will replace old with new. Great for both art direction and optimization. ](filedata/fetch?id=1845205&d=1608510911)
Material Generator: Select some textures that follow a naming convention in the content browser, click a button and the tool will create a material instance for them and bake an ORM map for optimization. This tool is what made the material library possible. ](filedata/fetch?id=1845208&d=1608511022)
**Ruler: **Quickly measure objects in your scene with a ruler that expands/contracts simply by scaling it along the x/z directions. Will output both imperial and metric dimensions. ](filedata/fetch?id=1845207&d=1608511021)
Parent Materials: Also called master materials. The project includes 54 surface, 5 decal and 7 light function shaders that all use the same internal naming conventions. This allows you to swap between a solid surface with dynamic snow to a triplanar emissive surface without having to relink textures/redo your art direction. Each parent material is designed to be art directable, so you can fine tune things like the overall tint, contrast, uv tiling, uv rotation. In my default shader, MM_swap_solid there are 26 tweakable parameters with only 163 instructions. Since each shader is made from a set of material functions, making hybrid materials that do X of one material and Y of another is very quick, similar to lego blocks.
You have to enable both show engine content and show plugin content for them to show up.
Coming soon: a landscape material with snow, puddles, and several types of dynamic grass.
The shaders are found in the OVFP plugin content and you must enable both show engine and show plugin content to see them. In the spoiler you will find descriptions of the various shaders and you can find more at the youtube link.
](filedata/fetch?id=1845210&d=1608510776)
[SPOILER]
-
MM_Swap_Solid: standard solid shader used by most objects in a scene
-
Puddles: dynamically adds puddles to the flat areas of the mesh
-
Unique backface textures: Uses one set of PBR textures for the front of faces, and another for the back.
-
Bump Offset: Uses bump offset instead of displacement for surface detail
-
Dirty: Adds a texture layer to the object to add in dirt details
-
Dirty Vertex Paint: Same as dirty, but adds extra control over the dirt through vertex painting its intensity
-
Displacement: automatically subdivides the surface of the mesh and manipulates it using a displacement map. The mesh must have enough detail to be displaced (a plane with no subdivisions will look like mesh, the same plane subdivided a few times in your modeling program will look correct)
-
Panning: The textures move across the surface of the mesh based on direction and speed inputs
-
Snow Moss: Adds a PBR texture set to the top (adjustable) surface of a mesh with the option to mask it based on surface detail so it fills in cracks first, then higher areas
-
Triplanar Hard Edge Fast: The standard for all other triplanar materials mentioned. Sprays a texture from the top, front and one side at the mesh to avoid having to do proper uvs. Also allows effects like world aligned textures. The fast version can leave an artifact line, but is a lot cheaper than the soft version
-
Triplanar Soft Edge: Similar to the hard edge variant, but it will blend the transition between each directional projection. Significantly more expensive and it cannot handle adding most of the other effects
-
Vertex paint icicles:Vertex paint displacement mapped icicles onto your mesh where the mesh faces down (adjustable), and a slightly raised ice where the mesh faces up. Can also be used for stalactites, stalagmites, hanging moss, or any number of other effects
-
MM_Swap_ClearCoat: For automotive materials and varnished tables
-
MM_Swap_ClearCoatDualNormal: The most common use case is carbon fiber. Requires Clear Coat Enable Second Normal to be checked in the project settings
-
MM_Swap_CubeMapRoomView: Creates the impression of a window into a space defined by a cube map. Very useful for adding “room views” to the windows on the exterior of a building without the overhead of geo or lighting inside the room. Visual of the effect found here
-
No Normal Distort: A simple window
-
Normal Distort: Simulates looking through a textured pane of glass. The cubemap image will distort with respect to the normal map applied to the surface
-
Normal Distort Masked: Simulates looking through a textured pane of glass with leading or mullions. This shader can simulate partially transluscent masks as well, useful for stained glass or mullions made from a clear material
-
MM_Swap_Decal: a series of materials based around projected decals in a scene. Useful for adding surface details like grime, graffiti, posters, etc. without adding additional geo
-
Decal Dbuffer: the transparency of the decal works better with dynamic lighting and the decal works with baked lighting
-
Decal Dbuffer Emissive: allows the decal to glow with an emissive texture
-
Decal Dbuffer Translucent: small variation on decal debuffer
-
Decal Emissive: an emissive variant of a decal that does affect baked lighting
-
Decal IridescentZ6: A decal that adds Zuccoini6 based iridescence as well. Very useful for oily materials. Does not affect baked lighting
-
MM_Swap_SolidEmissive: a material that can glow based on an emissive texture
-
Emissive: A solid variant of the shader
-
Emissive Triplanar: a solid variant of the shader, but uses triplanar projection instead of the object’s UVs
-
Emissive Dynamic LPV: If you use dynamic LPV, this shader has the ability to inject light into that calculation so that emissive surfaces glow. It requires a lot of settings enabled to work correctly
-
Emissive Inner Glow: Simulates the effect of a point light in fog if applied to a sphere
-
Emissive Opacity Mask: A variant of the shader that allows masked transparency
-
Emissive Triplanar: A variant of the shader that uses triplanar projection instead of object UVs
-
MM_Swap_Foliage: Plants with subsurface scattering and translucency maps
-
Foliage Displacement: A variant of the shader that allows for displacement maps to alter the underlying geo
-
MM_Swap_Glass: Translucent shaders for glass/clear plastic/etc
-
Dithered Edge Falloff: Uses opacity mask dithering for opacity instead of translucency. Prone to artifacts but handles stacked transparency much better than a standard translucent shader and is cheaper
-
Dithered Edge Falloff Fake Reflection: Same as above, but you can specify a cube map to provide a fake reflection on the surface of the glass
-
Dithered Edge Dirty: The surface of the glass can be modulated by a dirt map, changing color, roughness and opacity
-
Fresnel Clean: Implements Fresnel effects in a translucent shader, distorting the scene viewed through the glass
-
Fresnel Dirty: The surface of the glass can be modulated by a dirt map, changing color, roughness and opacity
-
Frosted: Implements a spiral blur effect on the scene as viewed through the glass. Prone to artifacts and can be very heavy based on settings
-
Simple Additive: Glass that only brightens what is placed behind it, never darkening it
-
Simple Translucent: A translucent surface with no distortion
-
Simple Translucent Dirty: The surface of the glass can be modulated by a dirt map, changing color, roughness and opacity
-
MM_Swap_Hidden: The material slot is not rendered. Useful for meshes with multiple material slots where you want to hide only one of them
-
MM_Swap_OpacityMask: Shaders that use a black (solid) and white (fully transparent) texture to mask out a material
-
Opacity from Alpha: Uses the base color texture’s alpha as the opacity mask
-
Opacity from alpha triplanar: same as above with triplanar mapping
-
Opacity Mask Subsurface: implements subsurface scattering (light glow through the object when a light is placed behind it)
-
MM_Swap_OutlineIntersections: Uses mesh distance fields to outline intersections with other objects. This shader hides the object. Useful to apply to a plane that is placed in the scene to show a cut point
-
MM_Swap_SkySphere: Material set up to apply to a sphere object that is used as the sky in the scene
-
Shadowmask: Uses the same texture as the skysphere and a sphere that is just slightly larger in scale. If the skysphere is set to not cast shadows, the larger shadow sphere will create shadows based off trees or other occluders in the image. It also implements rudimentary wind movement
-
MM_Swap_subsurface: Solid shaders that implement subsurface scattering (light glow through the object when a light is placed behind it)
-
Icicles: Vertex paint displacement mapped icicles onto your mesh where the mesh faces down, and a slightly raised ice where the mesh faces up. Also uses subsurface scattering on the icicles to simulate real ice
-
Preintegrated Skin: A cheaper way of doing subsurface on skin
-
Profile: Uses a subsurface profile to dictate how the light falls off as it passes through the object. Useful for things like Jade, glass, skin, etc
-
Triplanar
-
Triplanar vs UVs: Triplanar projection is a method of applying textures to an object based on its surfaces’ world or local orientation as opposed to the UVs provided with the object. It is a quick way to splatter a texture on an object without much UV work and I use it when we are early in the project. It does require at least some UVs, so if I do not create proper UVs on a mesh, I will still auto UV project. Triplanar projection is also useful when you want several textures to line up with eachother across multiple objects and on landscapes.
[/SPOILER]
The Material Instances:
I have released a smaller version of this library before. However, since the parent materials have changed locations/been cleaned up it is best to download them from scratch. From this point on the parent material conventions and folder structures are locked, so you should not have to do that again.
All of the texture files for the instances are from creative commons 0 based sources so you can use them on any project. For information on where the textures come from see the naming convention documentation. They are also all power of 2, meaning you benefit from mip maps in the engine (an optimization step), and max out at 4k texture dimension. With the naming convention, finding higher resolution versions of the textures is quick and easy (many of the originals have 8 and 16k versions available)
These libraries are built on the shoulders of giants, CC0textures.comsharetextures.com and texturehaven.com please go support them on their respective patreons
In total the materials are around 160gb of data, so expect long download times and problems downloading depending on the traffic so if it isn’t working, try downloading at a different time. I have found mediafire to be adequate for hosting these large downloads since hosting lots of downloads can get prohibitively expensive very quickly.
How to use the Material Instances:
- Download the OVFP plugin from the UE4 MarketPlace and install it to your UE4 engine
- Open a 4.25 or 4.26 project, enable the OVFP plugin, and restart the editor
- Look at the guide images in the Mediafire folderto decide which material instances you want in your project since the total download size is over 100 GB.
- Download the associated .zip file from Mediafire(they work with both 4.25 and 4.26)
- unzip your content pack. Inside will be a folder called content. Copy that folder into the same location as your .uproject file (should already be a content folder there if you have opened the project).
- Open the project and explore.
- Be sure to check out the Youtube guides to find out how to use the other tools in the project