Basic Alpha Transparency

Link, Like, Share.

Important: as Blender 2.8 is still in development the following may be subject to change which may also mean transparent materials and textures, or visual effects that use some form of transparency, may differ depending on system graphics and rendering capabilities.

Real-time previews differ depending on graphics capabilities
Real-time preview in the 3D View and other modes where objects can be seen will differ depending on system graphics capabilities, the above for example was rendered by a Radeon HD 6700M, the header image an Intel HD 4400 which had some difficulty correctly rendering internal faces (backface culling) and shadows.

There are a number of ways to generate or create transparent materials in Blender 2.8. For real-time, live or game-related content creation, transparency is typically achieved through use of a separate ‘mask‘ image, or more commonly, the ‘alpha‘ channel of a standard, compatible, RGB image, that is the ‘A’ component of a typical 24 bit RGBA image.

Design note: all the more commonly used image editors, Adobe Photoshop, GIMP, Corel Photopaint, Paint.net, Krita et al, are capable of generating alpha channels/masks but will differ in how this is done in practice, subject to format support, e.g. *.tga, *.png support alpha channels whereas *.jpg doesn’t.

Using these types of transparent images in Blender 2.8, where the degree of opacity is essential controlled externally to Blender, is a two part process; 1) a basic node-based Material is created, which is then, 2) modified in Material Properties to activate the property (transparency being a ‘property’ of the image and subsequent material its associated with).

An alpha channel versus alpha mask image in Corel Photopaint
Above on the left (in Corel Photopaint) is an standard RGB image without alpha mask, on the right, shown separately for clarity, is the accompanying alpha channel, a black/grey/white ‘mask’ image, typically the ‘A’ of an ‘RGBA’ bitmap image (e.g. *.tga).

Basic Transparent Material

To set up a transparent material in Blender 2.8 using the alpha channel of an RGBa image, first make sure a suitable image is available that includes an appropriate alpha channel or mask.

Design note: alpha, or the degree to which something appears transparent or opaque, is generally defined by grey-scale values, typically black represents 100% transparent, white 100% opaque, grey determining degrees of transparency between the two extremes (transparency can be understood as ‘transparency’ or ‘opacity’, the language used then changing what the percentages might mean, i.e. 100% can be used to represent either extreme).

A simple bitmap image with alpha channel in Corel Photopaint
A simple bitmap image showing mask or alpha channel as red-tinted overlay in Corel Photopaint.

Next, in Material Properties create, click the + New button below or + button to the right of the Material List aperture, and/or assign a Material to the selected object (Object Mode) or surface/s (Edit Mode) in question and ensure Use Nodes is active (highlights blue). Rename the Material where necessary (defaults to Material, or Material.[n] where several are used).

Design note: in Object Mode new Materials will auto-assign themselves to the selected item if not yet applied, in Edit Mode they need to be specifically applied to selections clicking the Assign button below the Material List aperture.

A basic Material needs to be assigned to the object (Object Mode) or surfaces (in Edit Mode)
If the object or surface does not have a Material assigned, add one in Material Properties clicking the + New button (where no material exists), ensure Use Nodes is active (highlights blue).

Shading Workspace

With a Material available and assigned switch to the Shading layout, primarily to access the Node Editor and 3D View set to LookDev render mode in one place, the Node Editor will display a basic Material by default comprising the Principled BSDF node linked to a Material Output node.

Design note: the two nodes available in the Node Editor when switching to the Shading layout or workspace, form the core components of all generic node-based materials in Blender 2.8.

To edit the material switch to Shading workspace to access the Node Editor
Switching to Shading layout shows a basic node-based Material in the Node Editor (the two nodes form the basis of all general Materials), and the object to be textured in a 3D View.

Here, place an Image Texture node into the Node Editor workspace clicking Add » Texture » Image Texture, (once the node appears left-click drops it into the workspace) then click the nodes Open image button, browse to and select an RGBA image in the File Browser, then click the Open Image button top right to load. These initial steps form the basis of a standard material when nodes are linked; Image Texture » Principled BSDF » Material Output.

Design note: objects need to be UV mapped, which can be done at any point prior or post, else little or nothing will be displayed on the mesh after Material set-up (notwithstanding the render mode set for the viewport).

Objects will need to be UV unwrapped and mapped for Materials to appear

In this context, of using bitmap images to texture meshes, objects will need to be UV unwrapped and mapped for Materials to display fully – this can be done at any point, before or after material set up.

Once an Image Texture node is available load an image
After dropping an Image Texture node [1] into the Node Editor workspace, click the Open image icon, select and load the alpha-channeled image then link it to Principled BSDF [2], which is in-turn linked to Material Output [3] – the texture will display absent transparency.

Transparent BSDF Node

Once the initial material nodes are available, for transparency to work Blender needs to know the material is supposed to render as transparent. To do this two more nodes need to be added; a Transparent BSDF, which tells Blender the material is to be rendered with some degree of transparency/opacity, and a Mix Shader, which combines a number of inputs (nodes linking in) into a single output, itself passed on the the final Material Output.

Design note: the nodes used to create the basic Material above were linked together for illustrative purposes, they do not specifically need to be connected for a transparent material to be completed.

In the Node Editor workspace click Add » Shader » Transparent BSDF (note to select Transparent BSDF and not Translucent BSDF). Left-click to drop. Then click the Add menu again this time selecting Shading » Mix Shader (Add » Shading » Mix Shader). Once in place connect the nodes together; BSDF output from Transparent BSDF and Principled BSDF to Shader input of Mix Shader; Color output of Image Texture to Base Color input of Principled BSDF, Image Texture Alpha output to Fac input of Mix Shader; finally Shader output from Mix Shader to Surface input of Material Output.

Adding Transparent BSDF and Mix Shader nodes to the material
With the addition of a Transparent BSDF [3] and Mix Shader [4] Blender will knows the material should be rendered with transparency defined by the materials properties, settings and image.

Once the transparency enabling nodes are adding everything is linked together

Once the extra material nodes are available everything needs to be linked together [1-3], passing through the Mix Shader [4] so only one output arrives at the Material Output [5] nodes input socket – the order Transparent BSDF [3] and Principle BSDF [2] connect to Mix Shader can be used to invert how mask data is displayed.

Material Settings

Once all the basic nodes are connected, the material and bitmap will display on the mesh, subject to UV mapping, but will not show as transparent. To actually enable alpha-channel based transparency in the 3D View (as part of any workspace layout) the type of transparency used needs to be set in the Settings section of Material Properties.

Design note: the need to do this varies depending on the type of material being set up and the type of transparency required, in this context transparency is determined externally by the dictates of the alpha channel rather than any inherent properties attributed to the Material (nodes) itself.

To enable alpha-based transparency, in any workspace or layout where Material Properties is accessible (right-side), i.e. Shading, Layout (default), Modeling etc., click the Settings heading to expand the options then set the Blend Mode to Alpha Blend, Alpha Clip or Alpha Hashed depending on the type of transparency required. The Material will immediate display the alpha-masked texture correctly in the 3D View, completing the process of setting up a basic transparent material based on using alpha-channel inclusive bitmaps.

Design note: changing Blend Mode modifies transparency behaviour; Opaque draws surfaces without any transparency; Additive brightens surfaces; Multiple darkens; Alpha Clip renders transparency using off/on tolerance; Alpha Hashed provide complex on/off tolerance; Alpha Blend renders full transparencies.

How changing Blend Mode affect materials and how they are rendered

Changing the materials Blend Mode alters the way surfaces and objects are rendered in the 3D View, for full unmodified transparency enable Alpha Blend, Alpha Hashed or Alpha Clip, these all draw surfaces as defined by the materials properties.

Change the materials Blend Mode to active/display transparency
Changing the materials Blend Mode will result in transparency being fully rendered as defined by the alpha channel associated with the image linked to the material.

UV Map Node (optional)

For game-related content, items used outside Blender, materials, textures and images are typically positioned and orientated over a mesh based on UV mapping. As there are a number of different ways to map objects, optional nodes can be included to explicitly define which Input type is to be used. In this context this is a UV Map node.

Design note: if a mesh is unwrapped and mapped to an image, it will appear where and as it should regardless of the properties associated with a typical material.

To add a UV Map node, in the Node Editor click Add then Input » UV Map (Add » Input » UV Map). Left-click to set in place then click the UV coordinates to be used for mapping selector and select UV Map from the drop-down list. Finally, link the UV output socket of the UV Map node to the Vector input of the Image Texture node (in which the bitmap is loaded) completing set up.

Adding a UV Map node to the material

Optional for most game-related content because the UV itself generally forces proper material behaviour, a UV Map node [6] can be added to the material [1] explicitly defining what type of Input should be used.

Video Walkthrough

Video overview making an alpha-based transparent Material in Blender 2.8. Duration: c.2 mins.

The process of making a transparent material in Blender 2.8 using an alpha-based bitmap image – UV mapping is needed to display materials.


Link, Like, Share.