samedi 29 décembre 2012
vendredi 21 décembre 2012
Lister tous les component d'un objet
//Lister les components d'un objet
GameObject g = GameObject.Find("myObj");
Component[] objs = g.GetComponents(typeof(Component));
for (int i = 0; i < objs.Length; ++i)
{
Debug.Log(i+"-----"+objs[i]);
}
vendredi 14 décembre 2012
Floor & Object picking
Routine de picking au sol simple et pratique:
static Plane floor = new Plane(Vector3.up, Vector3.zero);
static public bool TouchFloorPick(Vector2 touchPos, out Vector3 hitPoint)
{
float dist = 5000f;
Ray ray = mCam.ScreenPointToRay(new Vector3(touchPos.x, touchPos.y, 0));
float enter = 0.0f;
floor.Raycast(ray, out enter);
if (enter > 0.0f && enter <= dist)
{
hitPoint = ray.GetPoint(enter);
return true;
}
hitPoint = Vector3.zero;
return false;
}
Routine de picking sur object:
static public bool TouchObjectPick(Vector2 touchPos, out RaycastHit hit)
{
RaycastHit[] hits;
float dist = 50000f;
Ray ray = mCam.ScreenPointToRay(new Vector3(touchPos.x, touchPos.y, 0));
hits = Physics.RaycastAll(ray.origin, ray.direction, dist);
if (hits.Length>0)
{
hit = hits[0];
return true;
}
hit = new RaycastHit();
return false;
}
lundi 10 décembre 2012
mercredi 5 décembre 2012
Acceder aux Settings iOS d'une application via Unity
On peut sous xCode ajouter des settings à une application qui seront accessibles dans le panel Settings du device.
Ca peut etre un moyen interessant pour permettre à l'utilisateur de configurer ou regler l'application sans prevoir un menu specifique dans celle-ci.
Pour avoir un panneau de Settings associée à l'application:
Sous Xcode "New File..."->"Resource/Settings Bundle"
Ca rajoute un fichier Settings.Bundle dans le projet.
Editer le fichier Root.plist qui s'y trouve.
Rajouter un TextFiled dans la section "Preference Items", donnez lui un identifier (exemple MyVar).
Ensuite dans unity vous pouvez acceder à ce parametre simplement avec les PlayerPrefs ainsi:
PlayerPrefs.GetString("MyVar")
Notez qu'il semble tout de meme qu'il faille aller modifier la valeur de ce textfield sur le device afin que ca soit pris en compte par Unity, mais cela ne pose pas trop de problemes si on utilise une valeur par defaut.
Maintenant il faudrait utiliser le systeme de PostProcessBuildPlayer dans Unity afin que de lui meme il insere ce fichier Settings.Bundle dans le projet xCode lors de la compilation.
Si je me penche la dessus je mettrais le code de ce PostProcessBuildPlayer.
Ca peut etre un moyen interessant pour permettre à l'utilisateur de configurer ou regler l'application sans prevoir un menu specifique dans celle-ci.
Pour avoir un panneau de Settings associée à l'application:
Sous Xcode "New File..."->"Resource/Settings Bundle"
Ca rajoute un fichier Settings.Bundle dans le projet.
Editer le fichier Root.plist qui s'y trouve.
Rajouter un TextFiled dans la section "Preference Items", donnez lui un identifier (exemple MyVar).
Ensuite dans unity vous pouvez acceder à ce parametre simplement avec les PlayerPrefs ainsi:
PlayerPrefs.GetString("MyVar")
Notez qu'il semble tout de meme qu'il faille aller modifier la valeur de ce textfield sur le device afin que ca soit pris en compte par Unity, mais cela ne pose pas trop de problemes si on utilise une valeur par defaut.
Maintenant il faudrait utiliser le systeme de PostProcessBuildPlayer dans Unity afin que de lui meme il insere ce fichier Settings.Bundle dans le projet xCode lors de la compilation.
Si je me penche la dessus je mettrais le code de ce PostProcessBuildPlayer.
Inscription à :
Articles (Atom)