Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/somedeveloper00/animflex
A fast (faster than DOTween) and simple to use Sequencer & Tweener.
https://github.com/somedeveloper00/animflex
animation sequence tool unity unity3d unity3d-plugin
Last synced: 6 days ago
JSON representation
A fast (faster than DOTween) and simple to use Sequencer & Tweener.
- Host: GitHub
- URL: https://github.com/somedeveloper00/animflex
- Owner: somedeveloper00
- License: mit
- Created: 2022-06-23T07:48:48.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-03-28T12:02:32.000Z (8 months ago)
- Last Synced: 2024-04-11T15:06:41.520Z (7 months ago)
- Topics: animation, sequence, tool, unity, unity3d, unity3d-plugin
- Language: C#
- Homepage:
- Size: 1.14 MB
- Stars: 22
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AnimFlex
### A fast (faster than DOTween) and simple to use Sequencer & Tweener.
![out](https://user-images.githubusercontent.com/79690923/228872528-1906deef-836b-43fd-9ffe-9638e94faae0.gif)![image](https://user-images.githubusercontent.com/79690923/228853422-6c74dee5-ead2-48e3-9edd-0859c01a54f9.png)
## Systems
### Tweener
Tweener is a tweening system that makes things go from point A to point B. It could be animating the position of an object, rotation of an object, intensity of a light, size of a text or even just a simple float field.
### Sequencer
Sequencer is a system that plays it's *Clips* from start to finish, in order and in predefined time. It's like a timeline, but it's designed to be modular, and store all data inside and as a component for small animations/clips. (it's NOT designed to be a replacement to timeline)> NOTE: The docs here are __OUTDATED__.
## Availablility and Usage
### Tweeners
Transform manipulations (Position, Rotation, Scale)
```csharp
transform.AnimPositionTo( new Vector3( 10, 0, 10 ));
```
* Color (for `Renderer`, `Graphic`, `Image`, `Material`, `TMP_Text`, `Text` and `Light` Objects)
```csharp
GetComponent().AnimColorTo( Color.red);
```
* Fade (for `Renderer`, `Graphic`, `Image`, `Material`, `TMP_Text`, `Text` and `Light` Objects)
```csharp
GetComponent().AnimFadeTo( Color.red);
```
* Text interpolation (for Textmesh and legacy Text)
```csharp
GetComponent().AnimTextTo( "Hello World" );
```
* Light Intensity
```csharp
GetComponent().AnimLightIntensityTo( 0.1f );
```
* Light Range
```csharp
GetComponent().AnimLightRangeTo( 5.5f );
```
* Projector Size
```csharp
GetComponent().projector.AnimProjectorSizeTo( 2.5f );
```
* Projector Aspect Ratio
```csharp
GetComponent().projector.AnimProjectorAspectRatioTo( 1.5f );
```
* Projector Field of View
```csharp
GetComponent().projector.AnimProjectorFieldOfViewTo( 40f );
```### Clips
* All of the tweeners. They have a normal and a *multi* clip; the *multi* tweener clips apply a tweener to multiple targets with the given set of rules.
![image](https://user-images.githubusercontent.com/79690923/228864137-fc660ed8-c79b-4114-b51c-4a1c588d754f.png)
* Unity Events (primitive aruments up to 3). You can easily expand the system to add an event clip with your special argument type(s)
![image](https://user-images.githubusercontent.com/79690923/228865336-8c151721-9c4b-4752-af27-e011db1855b5.png)
* Branching. **goto** and **if statement** both for **fields** and **properties** (if statements support primitive conditions. you can expand that)
![image](https://user-images.githubusercontent.com/79690923/228866194-028596c4-72f0-495f-b45a-427a62a28dc1.png)
![image](https://user-images.githubusercontent.com/79690923/228866630-bf484cfd-0f4e-4059-bafb-731814c23bbe.png)
* Log. Performs a simple Unity console log
![image](https://user-images.githubusercontent.com/79690923/228866988-ec41fa8b-9349-46f2-922d-21ca3fcb550b.png)
* Set Value. both for **fields** and **properties**. They can modify a value from a given component thorugh reflection. (They support primitive value types, but you can easily expand that)
![image](https://user-images.githubusercontent.com/79690923/228867603-0dd1ff1d-d529-490c-990f-2d6c73d1056a.png)
* Wait Until. They wait for the given field to meed a specific condition. (They support primitive types and basic equal oprtator, but you can easily expand that)
![image](https://user-images.githubusercontent.com/79690923/228868805-0ffdcc3b-afe1-436d-a136-dfa0b6c70e44.png)
* Misc. They're helper clips, i.e. **Empty** clip does nothing and can be used to make notes, and **End** finishes the clip on reach.
![image](https://user-images.githubusercontent.com/79690923/228869776-d704a1c2-bf93-4941-bd78-e88522cdd9bc.png)## Youtube samples
https://www.youtube.com/watch?v=QNxzgGmmYhQ
https://www.youtube.com/watch?v=lWghzbCR2ds
https://www.youtube.com/watch?v=e2mkIyX8hEY## 3rd party Support
* [RTL Textmesh](https://github.com/pnarimani/RTLTMPro): add `RTLTMP` define## TODO
* empty for now...