Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/keijiro/klakvs
Miscellaneous math extensions for Unity visual scripting
https://github.com/keijiro/klakvs
bolt unity unity3d
Last synced: 3 months ago
JSON representation
Miscellaneous math extensions for Unity visual scripting
- Host: GitHub
- URL: https://github.com/keijiro/klakvs
- Owner: keijiro
- License: unlicense
- Created: 2020-11-07T14:46:51.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-03-16T06:22:42.000Z (almost 3 years ago)
- Last Synced: 2024-10-13T01:22:10.941Z (3 months ago)
- Topics: bolt, unity, unity3d
- Language: C#
- Homepage:
- Size: 149 KB
- Stars: 69
- Watchers: 8
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
KlakVS
======**KlakVS** is an extension for visual scripting in Unity. It provides
miscellaneous math functions useful for creating procedural behaviors.- **XXHash** (deterministic random number generator)
- **ExpTween**/**CdsTween** (generic interpolator)
- **Noise Source** (fractional Brownian motion)
- **On Keyboard Input** (keyboard input with the new Input System)XXHash
------![gif](https://i.imgur.com/evtniEQ.gif)
![XXHash](https://i.imgur.com/B1RNUow.png)
**[XXHash]** is a lightweight non-cryptographic hash function with which you
can generate pseudo-random number sequences in a deterministic manner.[XXHash]: https://github.com/Cyan4973/xxHash
The XXHash unit generates a random number based on the two inputs -- *Seed* and
*Data*. In our use case, *Data* simply works as a secondary random seed.There are variants for different output types:
- **XXHashInt**
- **XXHashFloat**
- **XXHashVector3**
- **XXHashDirection** (uniformly distributed random points on a unit sphere)
- **XXHashRotation** (quaternion representing a random rotation)ExpTween
--------![gif](https://i.imgur.com/mY2y641.gif)
![ExpTween](https://i.imgur.com/CGquPm7.png)
The **ExpTween** unit implements an exponential interpolation function that is
useful for creating ease-out animation.A unique thing about ExpTween is that it doesn't require a control-flow
connection. It's a stateless function, so that it works only with value
connections.There are variants for different types: **ExpTweenFloat**,
**ExpTweenVector3**, and **ExpTweenQuaternion**.CdsTween
--------![gif](https://i.imgur.com/tFgUGrs.gif)
![CdsTween](https://i.imgur.com/JEvzQHC.png)
The **CdsTween** unit implements a [critically damped spring smoothing function]
that is useful for creating smooth ease-in/out animation.[critically damped spring smoothing function]:
http://mathproofs.blogspot.com/2013/07/critically-damped-spring-smoothing.htmlThere are variants for different types: **CdsTweenFloat**,
**CdsTweenVector3**, and **CdsTweenQuaternion**.NoiseSource
-----------![gif](https://i.imgur.com/ogxO8vQ.gif)
![NoiseSource](https://i.imgur.com/tp6i0hS.png)
The **NoiseSource** unit implements a fractional Brownian motion (fBm) using a
simplex noise function. It's useful to create natural wavy motion or
undulation/vibration.There are variants for different output types: **NoiseSourceFloat**,
**NoiseSourceVector3**, **NoiseSourceQuaternion**.OnKeyboardInput
---------------![OnKeyboardInput](https://i.imgur.com/om5JWHi.png)
The **OnKeyboardInput** unit is a simple replacement of the standard
OnKeyboardInput unit but with [the new Input System].[the new Input System]:
https://docs.unity3d.com/Packages/com.unity.inputsystem@latestHow to install the package
--------------------------This package uses the [scoped registry] feature to resolve package
dependencies. Please add the following sections to the manifest file
(Packages/manifest.json).[scoped registry]: https://docs.unity3d.com/Manual/upm-scoped.html
To the `scopedRegistries` section:
```
{
"name": "Keijiro",
"url": "https://registry.npmjs.com",
"scopes": [ "jp.keijiro" ]
}
```To the `dependencies` section:
```
"jp.keijiro.klak.visualscripting": "1.1.0"
```After changes, the manifest file should look like below:
```
{
"scopedRegistries": [
{
"name": "Keijiro",
"url": "https://registry.npmjs.com",
"scopes": [ "jp.keijiro" ]
}
],
"dependencies": {
"jp.keijiro.klak.visualscripting": "1.1.0",
...
```