dmdrn
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Assets
ProjectSettings
UnityPackageManager
.gitignore
LICENSE
README.md
Settings.StyleCop

README.md

dmdrn

Simple interaction exercise

Project structure

Animators

This are scripts with the responsability of animating the objects in the scene.

TextAnimator

This component animates text from an origin position to a target position.

The component has a tween curve ( AnimationCurve ) which can be modified to change the resulting animation.

The target position is assumed to be the initial position of the object with the purpose of making in easier to visualize where the object will end.

An improvement in this script would be to visualize the origin position.

TweenScaleAnimator

This component animates any object by modifying their size.

The component has a tween curve ( AnimationCurve ) which can be modified to change the resulting animation.

The initial object scale is used as the target scale and the curve just modifies it as a scalar value.

Loops where not tested but should be easy to add.

alt text

CircleProgressAnimator

This component uses the shader "Unlit/Transparent Radial" to fill a sprite in a circular progression.

The progress can go from 0 to 1, where 1 mean 360º degrees.

CircleAnimator

Is an animator that listens to signals in order to start or rewind a progress animator.

TargetAnimator

Is the animator that listents to any reactor event in the scene, it's used as a view finder.

Billboard

Billboard is used to make element look alway to a specific camera, this is in order to avoid the usage of a canvas.

Camera

Simple camera controller and a ray emitir which notifies to the reactors they have been RayCasted.

Managers

There are two managers in the project the Event Manager which is a simple implementation of an Event Manager to have some events when the user ray cast an element in the screen with the view finder.

The MvcManager is the one in charge of indicating which controller should be instantiated for a specific convination of View and Model, if this one is disabled no controller will be attached at runtime.

MVC

This directory holds all the code related to views, models and controls. For this project we only have the Figure which represent any object that will display test in case of being raycasted.

Reactor

Reactor is a component that must be attached in order to emit signal in case of being casted by a ray emiter.

UnityMVC

This is a ( work in progress ) light MVC framework to decouple code so that designer can work on the views without interfering with components that might require other dependencies like a service.

Shaders

There are two shader but only one is being used in the project, both are base in the shaders that come with Unity and a further explanation about how the work are in the comment in the code.

The shader avoids the usage of any mask or extra image.

TextMesh Pro

It's a 3rd Party solution for text recently adquired by Unity.

Part of the code to animate the text is based on the examples that come by importing this project.