Unity Examples
Various demos
Terrain Examples
How to intercept a mouse press on terrain:
using UnityEngine;
using System.Collections;
public class TerrainHit : MonoBehaviour
{
public GameObject goTerrain;
void Update() {
if (Input.GetMouseButtonDown (1)) {
RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (goTerrain.collider.Raycast (ray, out hit, Mathf.Infinity)) {
transform.position = hit.point;
}
}
}
}
}
Light Fader
This is a short script, that adapts brightness and color of a light according to the setup.
using UnityEngine;
using System.Collections;
[HelpURL("http://manuals.clawjelly.net/Unity/examples/#light-fader")]
public class LightFader : MonoBehaviour {
[Tooltip("How long the light is shining")]
public float duration = 1.0f;
[Tooltip("Loops the light and doesn't deactivate it.")]
public bool loopAnimation = false;
private float currentFadeTime;
private Light myLight;
[SerializeField]
[Tooltip("The intensity over time")]
AnimationCurve interpolationCurve;
[SerializeField]
[Tooltip("The color over time")]
Gradient lightColorGradient;
// Use this for initialization
void Start () {
myLight = GetComponent<Light>();
}
// Update is called once per frame
void Update () {
currentFadeTime += Time.deltaTime / duration;
if (currentFadeTime<1.0f)
{
myLight.intensity=interpolationCurve.Evaluate(currentFadeTime);
myLight.color=lightColorGradient.Evaluate(currentFadeTime);
}
else
{
currentFadeTime=0.0f;
Debug.Log(loopAnimation);
if (!loopAnimation)
gameObject.SetActive(false);
}
}
}