Hi Creators!
We’re excited to launch SurfaceAppearance Tinting in Studio today! SurfaceAppearance Tinting allows you to multiply a Color property with your SurfaceAppearance’s ColorMap to create color variations.
This feature is currently enabled in Studio for all users, and we are targeting enabling it on client in four weeks on August 22.
Why Studio Only? Known issue if you use Rojo
If you use the Rojo tool, you might start seeing some of your SurfaceAppearances Color Maps look all black. This is a known issue by the Rojo maintainers and they just released a new version on Tuesday July 23, which fixes it.
This issue should only be visible in Studio for now, not to your players. However, if you don’t update your Rojo version, it will become visible in production on August 22 when we will release SurfaceAppearance Tinting in Client Beta.
If you use Rojo, please make sure to publish your experience with the most recent Rojo version (v7.4.3) before August 22 to avoid this problem in production.
Usage
You will first need to add a MeshPart with a SurfaceAppearance to your place, if you don’t have one already. Your SurfaceAppearance will also require a ColorMap. You can find the instructions to do so here.
- Select the SurfaceAppearance you would like to customize.
- Click on the
Color
Property. - Choose the Color you would like to multiply your ColorMap with from the Color Picker.
- Click Ok!
Note that SurfaceAppearance Tinting is applied as a multiplier, so you will obtain Texel Color x SurfaceAppearance.Color
. This means that authoring your original SurfaceAppearance in grayscale colors and as light as possible (closer to white) will give you the largest range of coloring options.
How it works with the Overlay AlphaMode
SurfaceAppearance Tinting is applied to the ColorMap itself and does not impact the MeshPart’s Color. If your ColorMap has transparency (values < 1.0 in the Alpha Channel) and your SurfaceAppearance is using AlphaMode = Overlay, the MeshPart’s color will show through the transparent areas like before.
Scripting
SurfaceAppearance Tinting is available for scripting using the SurfaceAppearance.Color
API which is a Color3
. This allows you to dynamically change the color of your SurfaceAppearance, enabling use cases such as in-game asset customization or time-based color tints, for instance.
Performance and Memory
SurfaceAppearance Tinting comes at no performance cost. Additionally, if you are currently uploading multiple textures to obtain tint variations of a ColorMap, you can now save memory by reusing a single ColorMap along with SurfaceAppearance Tinting to obtain your desired tint variations.
Made with love by the Engine team
Let us know about your experience with SurfaceAppearance Tinting and if you encounter any issues!