https://github.com/keijiro/KlakVS
Miscellaneous math extensions for Unity visual scripting
https://github.com/keijiro/KlakVS
bolt unity unity3d
Last synced: 2 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 (over 5 years ago)
- Default Branch: main
- Last Pushed: 2022-03-16T06:22:42.000Z (about 4 years ago)
- Last Synced: 2026-01-15T15:38:29.912Z (5 months ago)
- Topics: bolt, unity, unity3d
- Language: C#
- Homepage:
- Size: 149 KB
- Stars: 69
- Watchers: 5
- 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
------


**[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
--------


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
--------


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.html
There are variants for different types: **CdsTweenFloat**,
**CdsTweenVector3**, and **CdsTweenQuaternion**.
NoiseSource
-----------


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
---------------

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@latest
How 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",
...
```