Code Monkey home page Code Monkey logo

klak's Introduction

Klak

gif gif

gif gif

gif gif

Klak is a collection of scripts for creative coding with Unity.

Features

  • Noise/Random number

  • Perlin noise

  • Reproducible random number series with xxHash

  • Reproducible noise generator

  • Interpolator

  • Frame rate independent exponential interpolation

  • Classic spring smoothing

  • Critically damped spring smoothing

  • Extension methods for the standard classes

  • Vector4/Quaternion converter

  • Material property setter

  • Klak.Motion: basic procedural motion

  • Constant motion

  • Brownian motion

  • Klak.Wiring: node-based patching system

Installation

Download one of the unitypackage files from the Releases page and import it to a project.

Extensions

  • MidiKlak - MIDI input extension
  • OscKlak - OSC (Open Sound Control) input extension
  • KlakUI - Custom UI controls
  • KlakSpout - Spout (inter-application video sharing) extension

License

MIT

klak's People

Contributors

keijiro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

klak's Issues

Add "target component" drop-down list to the generic out node editors

It's a little bit tricky to select a target of the generic out nodes (EventOut, FloatOut, VectorOut, etc.) with the current implementation... it needs drag-and-drop between two inspectors. To make this operation easier, the generic out editors should have a "target component" drop-down list.

Error Build

Hi, I got an Error when building my game.
I have oscKlak as an extension running and no messages are comming in in the build version.
Then i checked the Platform unter Klak/Extension/Runtime/Klak.Extensions. After that I get an error:

Assets\Klak\Math\Runtime\Tween.cs(25,12): error CS0234: The type or namespace name 'VectorMathExtension' does not exist in the namespace 'Klak' (are you missing an assembly reference?)

Can anybody help? :)

UIelements-->KlakUI??

"I think it's possible, but it would be better to implement a mediator classes like KlakUI: https://github.com/keijiro/KlakUI"

Originally posted by @keijiro in #42 (comment)

How exactly would I go about connecting UIelements and KlakUI objects?? - I'm lost because UIelements don't reside as game objects in the hierarchy, So I cant sort out how to connect the two. I wish there was some kind of easy binding system like Klak that worked for connecting all things in Unity..

Couldn't import file

I have problems with the teapot model.

ImportFBX Errors:
Couldn't import file > /Users/solkar/Developer/Samples/Unity/_keijiro.github.io/Klak/Assets/Test/Teapot.fbx.
File is corrupted (or invalid)

Change Material/Texture

Using klak wiring as it without extra coding, is there any easy way to change materials or textures directly in runtime by events?

Wiring: Make wires thicker

In the current implementation, wires (connection between nodes) are dawn with very thin lines. They're not only difficult to click, but also hard to see if they're selected.

Minimize node boxes

I'm not sure what the best way is, but the current style of the node box is too bulky. It should be slimed down.

Drag Event Input with Touch Controls/Mouse control? #15

Hooked up my scene to have faders that track my knobs in the OP-Z.

I have set up the Drag Event Input to a Knob Out and I thought this was also carried to iOS touch control but I was wrong. When I use the Mouse Button Input I don't get the same results. What's the correct way to set up a drag event input with touch controls?

Thanks!

Fractal = 0 in brownian motion

When fractal goes to 0 in brownian motion, there is no movement.

How can I achieve a Sine perfect movement?

Thank you!

Garbage Collection

First, thanks for this awesome tool!

I noticed that in BrownianMotion.cs, you create two new Vector3 on every frame. You will save a lot of memory, if you define private Vector3 variables and just use them every time. This is a real saver on mobile, on Desktop probably it won't be such a problem.

Integer accessor

Klak.Wiring doesn't have an integer accessor. It might be nice to have.

Particle System Out

Hi Keijiro,

is this a proper way to wire Particle System with Klak? I'm getting a bad performance.

screen shot 2017-01-28 at 15 46 58

Thank you very much!

Improve connection editing UX

  • Make connections selectable with a mouse click.
  • Make them removable with the delete key or the context menu (right click).
  • Then, the delete menu item in the connection button is not needed. The menu should be removed (that button creates a new connection without showing a menu).

Mouse input to Axis rotation angle

Hi,
I have problems with mouse input and axis rotation.
I have both x and y output to 2 different Axis Rotation angle input.
I tried sending them both to 1 and 2 different Transform out for rotation on different axis.
But only one mouse input works, i.e. only one rotation axis.
What is the correct way to achieve tahat ?

Patcher window

If a Patcher window does not already exist in the Editor Layout, an error is thrown in the Console when using the "Open Patcher" button in the Scene:
System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)

The issue goes away if a tab in the Editor is the Patch object. This is in 5.4b22 and it does not crash the scene, just an annoying error message.

KeyInput event accessibility

I really like this lib and the Wiring stuff especially. I'm using KeyInput in a project and I'm finding that I actually want to add listeners for some events in code rather than the inspector and currently they are inaccessible. I'm going to add a getter for KeyInput's _valueEvent for now, but I'd love it if the lib here on git could expand to allow this kind of usage.

View panning support

Make the node view pannable with middle mouse button drag or alt + mouse drag.

Geometry instances with drop off

Hi I’m loving using this system exsoecially with lasp.
I’m just wondering how hard it would be to create a node that applies a value to a list of geometry with time delay or something similiar. Eg. A row of cubes and the first cube is a master and the others are slaves and copy the motion or inputs on the first but with time offset etc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.