/Mixture

Mixture is a powerful node-based tool crafted in unity to generate all kinds of textures in realtime

Primary LanguageC#MIT LicenseMIT

Discord openupm MIT License Documentation

Mixture is a powerful node-based tool crafted in unity to generate all kinds of textures in realtime. Mixture is very flexible, easily customizable through ShaderGraph and a simple C# API, fast with it's GPU based workflow and compatible with all the render pipelines thanks to the new Custom Render Texture API.

Getting Started

Installation

You need at least a Unity 2020.2 beta to be able to use Mixture and if you are using a render pipeline like URP or HDRP, make sure to use the version 10.1.0 or above.

Instructions

Mixture is available on the OpenUPM package registry, to install it in your project, follow the instructions below.

  1. Open the Project Settings and go to the Package Manager tab.
  2. In the Scoped Registry section, click on the small + icon to add a new scoped registry and fill the following information:
Name:     Open UPM
URL:      https://package.openupm.com
Scope(s): com.alelievr
  1. Then below the scoped registries, you need to enable Preview Packages (Mixture is still in preview).
  2. Next, open the Package Manager window, select My Registries in the top left corner and you should be able to see the Mixture package.
  3. Click the Install button and you can start using Mixture :)

⚠️ If you don't see My Registries in the dropdown for some reason, click on the + icon in the top left corner of the package manager window and select Add package from Git URL, then paste com.alelievr.mixture and click Add.

Note that sometimes, the package manager can be slow to update the list of available packages. In that case, you can force it by clicking the circular arrow button at the bottom of the package list.

Documentation

Here are some useful documentation links:

Roadmap

The roadmap is available on Trello: https://trello.com/b/2JiH2Vsp/mixture. If you have a Trello account, you can vote on cards to prioritize a feature.

Community

Discord

Join the Mixture Discord!

Feedback

To give feedback, ask a question or make a feature request, you can either use the Github Discussions or the Discord server.

Bugs are logged using the github issue system. To report a bug, simply open a new issue.

Contributions

All contributions are welcomed.

For new nodes, check out this documentation page on how to create a new shader-based node. Once you have it working, prepare a pull request against this repository.
In case you have any questions about a feature you want to develop of something you're not sure how to do, you can still create a draft pull request to discuss the implementation details.

Gallery / Cool things

You can open a Mixture graph just by double clicking any texture field in the inspector with a Mixture assigned to it.

Surface Gradient powered normal map operations.

Extract buffers (depth, normal, color or position) from the rendering of a prefab and use it directly in the graph (HDRP Only).

Fractal nodes in Mixture: image

Mixture Variants:

Mixture.Variants-1.mp4

Earth Heightmap node:

Earthmap.node.mov

Fluid simulation:

fluid.mp4