Données cartographiques vectorisées, extrudées et spatialisées.
Ou le pipeline GeoJSON, D3.js vers Three.js. Cela fait un moment que nous n'avions pas fait de projet Three.js ! Nous jouons surtout avec Unity, mais c'est toujours agréable de revenir…
Hey, c'est l'heure d'une nouvelle astuce aujourd'hui ! Il y a de petits détails dans Unity qui peuvent vous rendre fou : compiler un projet Android avec le bon certificat vous demande de fournir le…
Hey, c’est l’heure d’une nouvelle astuce aujourd’hui !
Il y a de petits détails dans Unity qui peuvent vous rendre fou : compiler un projet Android avec le bon certificat vous demande de fournir le mot de passe à chaque fois que vous ouvrez le projet. Ok, ce n’est pas très grave ! Mais le problème, c’est que si vous oubliez de le saisir et que vous lancez la compilation, ce sera seulement à la fin du processus qu’on vous informera que vous ne l’avez pas défini, et donc ça échoue. Avec un temps de build de 30 minutes (sur un gros projet), si vous l’oubliez, vous avez le droit d’être énervé ! Pourquoi diable Unity ne le vérifie-t-il pas avant !?
Bref, faisons un petit script d’éditeur :
using UnityEngine;
using UnityEditor;
[InitializeOnLoad]
public class StartUp {
#if UNITY_EDITOR
static StartUp() {
PlayerSettings.keystorePass = "myPwd";
PlayerSettings.keyaliasPass = "myAliasPwd";
}
#endif
}
Grâce à ce script, quand le projet sera ouvert, le mot de passe sera enregistré !
Ok, une autre chose à comprendre : le chemin du keystore est enregistré dans votre ProjectSettings.asset. Il faut donc changer le chemin sur chaque ordinateur. Ce n’est pas très grave, mais cela pourrait être fait automatiquement s’il se trouve près de votre projet. Sur le script ci-dessus, ajoutez :
PlayerSettings.Android.keystoreName = Application.dataPath + "/user.keystore";
La dernière chose à faire serait de réinitialiser ce chemin quand Unity passe en arrière-plan, afin de pouvoir faire un git push/pull sans créer de conflit. Malheureusement, je n’arrive pas à trouver un moyen de détecter correctement quand Unity passe en arrière-plan, voir http://forum.unity3d.com/threads/trapping-if-unity-editor-is-foreground.271391/. Connaissez-vous un moyen de le faire ?