Voici des fonctions pour filtrer les valeurs de l’accelerometre dans unity.
Elles sont inspirées des fonctions de la doc officielle qui ne sont pas fonctionnelles sur mes tests dans Unity 3.x.

var AccelerometerUpdateInterval : float = 1.0 / 60.0;
var LowPassKernelWidthInSeconds : float = 1.0;

private var LowPassFilterFactor : float = AccelerometerUpdateInterval / LowPassKernelWidthInSeconds; // tweakable
private var lowPassValue : Vector3;
function Start () {
	lowPassValue.x = Input.acceleration.x;
	lowPassValue.y = Input.acceleration.y;
	lowPassValue.z = Input.acceleration.z;
}

function LowPassFilterAccelerometer() : Vector3 {
	lowPassValue.x = Mathf.Lerp(lowPassValue.y, Input.acceleration.x, LowPassFilterFactor);
	lowPassValue.y = Mathf.Lerp(lowPassValue.y, Input.acceleration.y, LowPassFilterFactor);
	lowPassValue.z = Mathf.Lerp(lowPassValue.y, Input.acceleration.z, LowPassFilterFactor);
	return lowPassValue;
}

Donc par exemple, au lieu de :

var acceleroX:float = Input.acceleration.x;

On utilise :

var acceleroX:float = LowPassFilterAccelerometer().x;

Afficher le contenu d’une variable dans la console:

Debug.Log(variable);

Récupèrer une occurence de la scène en javascript :

var monObjet = GameObject.Find("nomDeLObjet");

Faire disparaitre un objet de la scène :

occurenceDeLObjet.renderer.enabled=false;

Créer un bouton:

function OnGUI(){
if(GUI.Button(Rect(CoordX, CoordY, Largeur, Hauteur), "texte du bouton")){
// Action sur l'événement on click
}
}

Mise en place d’un trigger :

// Script dans un objet en mode "trigger"
var prefab.Transform;// On dois attribuer un objet à cette variable

function OnTriggerEnter(other: Collider){
// On execute la gravité d'un objet par exemple
prefab.rigidbody.useGravity = true;
}

« Transformer » un objet :

// Déplacement sur x
objet.transform.positionx = valeur;
// Déplacement sur 3 dimensions
objet.transform.position = Vector3(valeurX, valeurY, valeurZ);
// Rotation
objet.transform.Rotate(valeurX, valeurY, valeurZ);

Fonction incrémentale basée sur le temps :

Time.deltaTime;

Faire pivoter un objet en continu

// Script à inclure dans l'objet que l'on veux faire pivoter

// Vitesse de rotation de l'objet
var rotationAmount : float = 5.0;

function Update () {
	var translationY:float = Time.deltaTime;
	transform.Rotate(Vector3(0, rotationAmount, 0));
}

Raycasting

// Création du rayon (Point D'émission du rayon, direction du rayon, variable stockant les données du rayon, longueur du rayon en mètres)
	if(Physics.Raycast (transform.position, transform.forward, hit, 5)) {
		if(hit.collider.gameObject.tag=="tagDeLObjet" ){
			// Récupèration de la cible
			currentObject = hit.collider.gameObject;
		}
	}

Jouer un son une seule fois

// Variable publique, donc on peux la lier en drag & drop à un element du projet par exemple
var sound : AudioClip;
// On lance le son qu'une seule fois
audio.PlayOneShot(sound);

Lancer une animation définie dans le FBXImporter

	// On récupère l'objet
	var oiseau: GameObject = GameObject.Find("oiseau");
	// Et on lance l'animation
	oiseau.animation.Play("vole");

Annotations

@script RequireComponent(AudioSource);