Giter Club home page Giter Club logo

lukeskt / reactive-mise-en-scene Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 0.0 2.33 MB

Unity plugin using on-screen object position as proxy for player attention. Objects are assigned a "tendency" which, together with attention measurements, enables custom loading of prefabs to adapt narrative environments over time.

License: MIT License

C# 100.00%
adaptive attention focus media narrative plugin reactive tendency unity unity-3d unity-editor unity-scripts unity3d unity3d-plugin

reactive-mise-en-scene's People

Contributors

lukeskt avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

reactive-mise-en-scene's Issues

Handle case where render component not always on root object

There is a hack fix implemented where code tries to find render component on same object, then looks up if you have specified one manually, then if those fail gets the first render component it finds on child.

Not ideal, is there a way to composite child object render components together?

Time.time reading on some focus measures will occasionally be much larger than anticipated

Sometimes Time.time.now comparison on enter and exit focus in FocusMeasures component gives wildly larger times than feasible. Seems to happen very rarely. Will test a variety of setups of objects and see if can track down.

Links that might help resolve:

Visualiser for locale tendencies and connections

Visualiser - in editor?

Should show a visualisation of the tendency mix or dominant tendency moment to moment for each locale, and how that opens up access to others, etc.

Probably an unweighted graph and/or hypergraph that becomes weighted over time as tendencies play out and scenes loaded in response.

Add lines from objects to locale also?

Last Locale Tracking

Track which locale last visited before loading next, use that to determine tendency loading?

Nimbus Interactions

A basic version of Nimbus interactions in development. This needs finishing and implementing in a similar way to Focus and FocusMeasures, but might need a separate data handler / etc. Is there a relevant use-case beyond immediate interactions for Nimbus in this plugin's system?

Prefabs for Common Uses

Create prefabs for common use cases, e.g. a scene/locale hierarchy as a starting point for building an experience.

Signal Loader?

Load different signals to timeline or reference different signal senders or receivers dependent upon tendency mix?

Logging System

Need a logging system to track object, locale and global tendency over time and log it to CSV or another file format for debug, studies, etc.

Continuous Mode

Rather than a discrete / Start-based loading, offer a toggle to enable continuously updated loading of objects and other elements based on tendency. Might want to get the current locale after the specified locale for this, so a locale can evolve its config over time as you attend to objects within it.

Also consider: Timeline and signals system expansion to handle tendency tracking over time to make reactions more dynamic.

Collider summing from child objects.

There is a hack fix implemented where code tries to find collider component on same object, then looks up if you have specified one manually, then if those fail gets the first collider component it finds on child. Similar issue to Issue #3.

Is there a way to composite child object collider components together to get an overall collider shape/size?

Settings File Propogation or Error Checking

No errors when there is a mismatch between the settings file on the attention data manager and focus objects, loaders, etc. Need to either find a way to set the config file at the attention data manager script / singleton level, or do error handling so it doesn't fail silently but gives proper feedback to diagnose the issue.

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.