Viewing entries tagged
unity3d

Frameshift: Shift Your Attention, Shift the Story

Frameshift: Shift Your Attention, Shift the Story

Attention is a limited resource that intrinsically dictates our perceptions, memories, and behaviors. Our aim is to use attentional measures to enrich graphic novel narratives. FrameShift uses eye tracking to measure reader attention and changes text and visual elements later on in the story accordingly. We have built an extensible framework for using attention to introduce perceptual changes in narratives. We use attention as an indirect method for interactions and introduce shiftable frame nodes that change readers’ belief states over time. 

Wrapping Unity C# Coroutines for Exception Handling, Value Retrieval, and Locking

Wrapping Unity C# Coroutines for Exception Handling, Value Retrieval, and Locking

Coroutines are awesome.  If you aren't familiar with them (particularly in the context of Unity3d) then you should be.  In short, coroutines are methods that can suspend and resume execution.  In the context of Unity what this means is that you can have methods that appear to run concurrently.  Coroutines are **the** way to script a lot of things in Unity, however there are a few problems that you may run into if you use them heavily: exception handling, return values, and locking. Especially if you use nested coroutines!  Here are some ways to extend coroutines to fix some of these issues. 

Generic Singleton MonoBehavior Part 2:  Singleton Self-Loading Prefab

Generic Singleton MonoBehavior Part 2: Singleton Self-Loading Prefab

I had a previous post about singletons in Unity3D and have since added a useful functionality to that class.  One of the useful features of a singleton is that it is self instantiating.  But what if you want to use the Unity editor to expose some public variables and have some other assets hooked into your singleton?  So since you are probably using prefabs to manage game components in your scenes anyway, seems like it might be useful to have a self-loading prefab for components such as the player or a gui controller. 

Generic Singleton MonoBehavior Class

Generic Singleton MonoBehavior Class

In Unity3D having a singleton class is very useful, whether for "global" state or simply for the convenience of having a static accessor so you don't have to have lots of: <code>FindObjectOfType(typeof(Builder)) as Builder;</code>

So you code up a C# singleton and then realize that you actually need it to be a MonoBehavior, not just a ScriptableObject -- say you want the singleton to run coroutines, or have a transform, or any other MonoBehavior feature.  But monobehaviors can't be initialized with a constructor. So what you want is a monobehavior pseudo singleton pattern.

Greenlite Dartmouth

Greenlite Dartmouth

The Greenlite Project: An animated polar bear which aims to educate students about the impact of electricity and other resource use.