+ Ui Particle package + Unity UI Extensions package + AnimateUIMaterials-main package + AllIn1VfxToolkit package + Title 변경 중 오류 수정 + 전투 플레이어 죽을 때, 플레이어의 스킬 모두 중단 + 전투 플레이어의 스킬 게이지 Ui가 100%가 되었을 때, 하이라이트 효과 추가 + Bloom Volume 추가
130 lines
3.2 KiB
Markdown
130 lines
3.2 KiB
Markdown
#
|
||
|
||

|
||
|
||
|
||
# Introduction
|
||
|
||
**Animate UI Materials** allows editing and animating materials for a single UI component.
|
||
|
||
|
||
|
||
|
||
|
||
|
||

|
||
|
||
|
||
You can see such an example in the demo scene.
|
||
|
||
|
||
# Setup
|
||
|
||
Download the package from the [asset store](https://assetstore.unity.com/packages/2d/gui/animate-ui-materials-253197) or the Releases folder
|
||
|
||
Import the package into your project
|
||
|
||
Simply add the **GraphicMaterialOverride** component to an UI element, such as an **Image** with a custom **Material**
|
||
|
||

|
||
|
||
When selecting the dropdown “Add Override”, you will be greeted with every possible property you can animate.
|
||
|
||

|
||
|
||
|
||
You can ignore those you don’t know, such as the _Stencil properties. They are internal to UI stencil rendering. Simply select “_Color” for example.
|
||
|
||
Two things will happen:
|
||
|
||
|
||
|
||
1. A **new modifier** will be listed in the **GraphicMaterialOverride** component
|
||

|
||
You can already **edit the color value**, and the change will only affect the Image component
|
||
|
||
2. A new gameobject will be created, holding a **GraphicPropertyOverride** component
|
||

|
||

|
||
The value displayed here is the exact same as in the **GraphicMaterialComponent**. However this value can also be **animated.**
|
||
|
||
|
||
# Animation
|
||
|
||
To animate the property, add the usual **Animator** component to the image
|
||
|
||
|
||
|
||
|
||
|
||
|
||

|
||
|
||
|
||
Create a new **AnimationClip**
|
||
|
||
|
||
|
||
|
||
|
||
|
||

|
||
|
||
|
||
Click **Add Property** and select **_Color Override**, then **Graphic Property Override Color**, then **Graphic Property Override Color.Property Value**
|
||
|
||
|
||
|
||
|
||
|
||
|
||

|
||
|
||
|
||
You can now **animate** the value like any other !
|
||
|
||
|
||
|
||
|
||
|
||
|
||

|
||
|
||
|
||
Alternatively, hit the **Record** button, and simply modify the properties from the **GraphicMaterialOverride** inspector
|
||
|
||
|
||
|
||
|
||
|
||
|
||

|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||

|
||
|
||
# Baking
|
||
|
||
To get the final modified material as a material asset, simply open the context menu of your GraphicMaterialOverride or Graphic and press "Bake Modified Material". A new material variant will be saved alongside the source material.
|
||
|
||
# Next Steps
|
||
|
||
## Emulate an actual MaterialEditor
|
||
|
||
I want to support custom materials drawers, and other possible combinations, which could be done with a "ghost" MaterialEditor, but would require dropping support before unity 2021.3
|
||
|
||
https://discussions.unity.com/t/edit-chosen-material-in-the-inspector-for-custom-editor/67530/3
|
||
|
||
This is required as MaterialEditor does a lot of closed-source heavy lifting to recover that attribute data, and because those attribute drawer require a reference to the MaterialEditor
|
||
|
||
# End Notes
|
||
|
||
If you encounter a bug or need any help, please contact me at [fleeting.being.official@gmail.com](mailto:fleeting.being.official@gmail.com)
|
||
|
||
Don’t hesitate to look into the code if you want to know how things work !
|