Memento Unity

 0
 0
Tps de lecture estimé:2 minutes 23 secondes

Voici une liste des trucs et astuces pour Unity.
Ce fichier est un canevas qui s'étoffera au fur et à mesure de mes expérimentations sur ce moteur de jeu.

Memento Unity


Fondamentaux

Editeur

  • Différencier le "play mode" pour la scene courante

    • Menu > Edit > Préférence > Colors > PlayMode Tint
  • s'assurer d'un rendu correct pour les material PBR

    • Menu > projet settings > Player > Rendering > color space = Linear
  • TOP:faire du snapping sur angles des objet: sélectionner l'objet, maintenir la touche V, cliquer sur l'angle voulu et déplacer le curseur de la souris

Assets

  • import FBX
    • le collider n'est pas générés par défaut lors d'un import de FBX. il faut l'activer dans les options d'importation.

C Sharp

  • Appeler une méthode répétitivement sans boucle ni update
    {
    void Start () {
      InvokeRepeating("Instantiation", 0, Delay);
    }
    void Instantiation () {
      Instantiate(Prefab, SpawnLocation.position + Offset, Quaternion.identity);
      callCount++;
      if (callCount >= Number) {
          CancelInvoke();
      }
    }
    }

Game Design

2D / UI
  • la taille du canvas est fixée par la résolution choisie dans la game view
  • l'utilisation de renderTexture permet d'afficher un objet en 3D dans un canvas en 2D (par exemple dans un menu de sélection d'un personnage 3D)

Animations

  • dans le composant "animator", cocher la case "Apply root motion" permet prendre en compte ou pas un déplacement induit par l'animation (déplacement du "root node" pendant l'animation, par ex lors de la course)
  • on peut ajouter des script de type "StateMachineBehaviour" sur des transitions dans un "Animator" pour déclencher des actions spécifiques (par exemple destruction du gameobject en fin d'animation)

Game design

  • il est possible de créer des sprites "placeholder" via le menu assets>create>sprites

Game Play

Colliders
  • il est possible de mettre plusieurs colliders dans un gameobjet, par exemple 1 pour la gestion de la collision et un autre pour déclencher un évènement lors de son approche (isTrigger=true, plus large que l'objet)
RigidBody
  • drag = résistance de l'air au mouvement
  • Angular drag = résistance à la rotation du mouvement
  • isKinematic=OFF permet de suspendre les effets de la physiques, isKinematic=ON permet de les activer. Cela permet d'activer ou pas la physique via un script sans toucher au rigibody.
  • Interpolate permet de faire des interpolations du movement (lissage) en fonction de la frame précédente (Interpolate=Interpolate) ou de la totalité des frames (Interpolate=Extrapolate). Cela rend les déplacement plus réalistes.
  • Collision Detection
    • Discrete: permet de tester les collisions à chaque frame physique: moins gourmand en CPU mais peut manquer des collisions sur les mouvements rapides
    • Continuous: permet de tester les collisions à chaque frame: moins gourmand en CPU mais peut manquer des collisions sur les mouvements très rapides
    • Continuous Dynamic: le plus gourmand en CPU, pas d'erreur sur la détection des collisions sur les mouvements très rapides

Article suivant