AlphaModifiers
Alpha channel management for Unity objects with hierarchy support
Unity Project
Download the source from GitHub

Dependencies (37)
Unity UI 2.0.0com.unity.feature.2d 2.0.2AI 1.0.0UI 1.0.0VR 1.0.0XR 1.0.0Wind 1.0.0Audio 1.0.0Cloth 1.0.0IMGUI 1.0.0Umbra 1.0.0Video 1.0.0Physics 1.0.0Terrain 1.0.0Tilemap 1.0.0Visual Studio Editor 2.0.27Director 1.0.0Vehicles 1.0.0Animation 1.0.0Physics 2D 1.0.0com.unity.modules.androidjni 1.0.0UI Elements 1.0.0Asset Bundle 1.0.0Accessibility 1.0.0JSON Serialize 1.0.0Screen Capture 1.0.0Particle System 1.0.0Terrain Physics 1.0.0Unity Analytics 1.0.0com.unity.modules.vectorgraphics 1.0.0Image Conversion 1.0.0Unity Web Request 1.0.0Unity Web Request WWW 1.0.0com.unity.modules.adaptiveperformance 1.0.0Unity Web Request Audio 1.0.0Unity Web Request Texture 1.0.0Unity Web Request Asset Bundle 1.0.0
README
1. Description
MonoAlphaModifier is a component for controlling the transparency of visual objects in Unity.
- It manages the transparency of any supported visual components through automatically collected handlers (strategies).
- It can control a single object or an entire hierarchy branch.
- It supports hierarchical behavior: a parent’s alpha value affects all child modifiers.
2.2 Runtime Behavior
MonoAlphaModifier automatically maintains a correct hierarchy:
- When created, enabled, or moved, the component searches for a parent
MonoAlphaModifier. - When removed or re‑parented, all links are rebuilt correctly.
- Any hierarchy change immediately updates the transparency of all affected objects.
Transparency logic:
- Each collected visual component receives its own handler that knows how to apply alpha (e.g., SpriteRenderer, ParticleSystem, Image, etc.).
- The modifier’s own
Alphavalue is multiplied by the parent’s alpha, formingTotalAlpha, which is applied to all collected handlers.
3. Usage
3.1 Editor
- Add the
MonoAlphaModifiercomponent to a GameObject. - In the component’s context menu, choose:
- Collect for Object — collect handlers only for this object.
- Collect for Branch — collect handlers for this object and all its children.
- In the
Alpha Strategieslist, adjust transparency limits for collected components if needed.
3.2 Code
To control transparency from scripts, simply assign a value to the Alpha property.
- Alpha — the modifier’s own transparency value.
- TotalAlpha — the final transparency value after applying all parent modifiers.
To add support for a new type of visual component:
- Create a class implementing
IAlphaModifierStrategy. - Add the corresponding
buildertoStrategyBuildContextso it is automatically included during component scanning.
1. Описание
MonoAlphaModifier — компонент для управления прозрачностью визуальных объектов в Unity.
- Управляет прозрачностью любых визуальных компонентов через собранные обработчики (стратегии).
- Может контролировать конкретный объект или всю ветку (в иерархии).
- Поддерживает иерархию: альфа родителя влияет на дочерние модификаторы.
2. Поведение в рантайме
MonoAlphaModifier автоматически поддерживает иерархию:
- При создании, активации или перемещении компонент ищет родительский
MonoAlphaModifier. - При удалении связи так же корректно перестраиваются.
- При изменении иерархии прозрачность объектов сразу же обновляется, учитывая новую иерархию.
Логика изменения прозрачности:
- Для каждого собранного компонента создаётся свой обработчик-стратегия, знающий как менять его прозрачность, будто то Sprite, ParticleSystem или Image.
- Собственное значение
Alphaумножается на значение родителя формируяTotalAlpha, которая применяется как множитель для всех собранных обработчиков.
3. Использование
3.1 Редактор
- Добавить компонент
MonoAlphaModifierна объект. - Выбрать в контекстом меню компонента:
2.1
Collect for Object- для контроля прозрачности текущего объекта 2.2Collect for Branch- для контроля прозрачности текущего объекта и дочерних. - В списке
Alpha Strategiesпри необходимости указать ограничение прозрачности для всех собранных компонентов.
3.2 Код
Для управления прозрачностью через скрипты достаточно задать значение свойства Alpha.
Alpha— собственное значение модификатора.TotalAlpha— итоговое значение с учётом всех родительских модификаторов. Чтобы добавить поддержку нового типа визуального компонента:
- Создать класс, реализующий
IAlphaModifierStrategy. - Добавить соответствующий
builderвStrategyBuildContext, чтобы он автоматически собирался при сканировании объектов.
Comments
No comments yet. Be the first!
Sign in to join the conversation
Sign In