dimanche 24 mars 2013

Semaine 04 - Kismet et Blocking 02 !

Ce qui caractérise cette fin de semaine : Tests, Recherches, Intégration, Kismet, Tests, Améliorations ...

D'abord, le problème du Scale lors de l'importation de 3DsMax vers UDK est dur à régler.
Souvent, nos assets sont soit trop grands, soit trop petit...
Heureusement, après plusieurs recherches, nous avons trouvé une solution sur le site de TraptCG.com :

3DsMax to UDK Units and Scale Setup

Le blocking étant déjà pour la plupart intégré, nous avons continué de la même manière mais en retenant de nos recherches.

Après avoir créer les collisions (.UCX) et le path principal (BSP), nous avons pu passer au mode Test : vérifier le balancing des bébés, des obstacles rencontrés, du temps de jeu, de la difficulté rencontrée etc.

Blocking de la scène à date de ce post. 

Le saut de Monsieur UDK nous a particulièrement donné du travail. Comme le saut est très bas, il a fallu ajouter des BSP en plate-formes pour réussir à sauter d'un endroit à un autre, et des Teleports (en Kismet) pour pouvoir remonter lorsque nous tombions.
(Les plate-formes rajoutées sont celles qui n'ont pas de matériel gris dessus ).

Kismet des Teleports (ré-utilisation de la Contrainte 02)

Nous avons déjà commencé les recherches pour changer cela, mais nous attendons l'intégration du véritable pawn pour les mettre en pratique.
Nous avons plusieurs solutions : dans les AnimTrees / AnimSets, sinon, aller dans les scripts.

Utiliser un autre script, trouvé sur le forum d'Epic Games : 
function bool DoJump(bool bUpdating)
{
  if (bJumpCapable && !bIsCrouched && !bWantsToCrouch && (Physics == PHYS_Walking || Physics == PHYS_Ladder || Physics == PHYS_Spider))
  {
    if (Physics == PHYS_Spider)
    {
      Velocity = JumpHeight * Floor;
    }
    else if (Physics == PHYS_Ladder)
    {
      Velocity.Z = 0.f;
    }
    else
    {
      Velocity.Z = JumpHeight;
    }

    if (Base != None && !Base.bWorldGeometry && Base.Velocity.Z > 0.f)
    {
      Velocity.Z += Base.Velocity.Z;
    }

    SetPhysics(PHYS_Falling);
    return true;
  }

  return false;
}

Modifier le script (SPG_PalyerPawn) déjà présent :

" InventoryManagerClass=class'SPG_InventoryManager'
JumpHeight=420.f
bCanCrouch=true
bCanPickupInventory=true "

Ou encore d'autres scripts ?
Ce sera sûrement la recherche de la semaine prochaine, l'intégration du Pawn du Troll étant prévue pour Lundi ! 



Ensuite, beaucoup d'ajustements dans le Kismet ! 
La caméra Close Up a été repoussé un peu, afin de ne pas couper le joueur dans son jeu à peine sorti de la Cinématique de début. Nous pensons peut-être l'intégrer dans la Cinématique si cela continu de gêner. 


Kismet de la Cinématique de Fin. 
A été rajouté un Teleport afin que le joueur atterrisse dans la grotte une fois sorti de la Cinématique. 

Les lumières des lampadaires vont clignoter, et le Troll devra passer sans se faire toucher, sinon il prendra des dégâts.
Test de clignotement des Lumières (ré-utilisation de la Contrainte 01)

C'est un Kismet de Test, il sera ensuite assigné aux Lumières de la scène en suivant la même arborescence.
Certaines lumières vont faire des balayages au sol. Le Kismet sera sensiblement pareil, avec sûrement une Matinee en loop de la lumière qui balaye.


Comme autre élément interactif, nous avons ajouté un Tramway qui vient du fond et fonce vers la caméra. 

Le joueur devra l'éviter sinon il meurt (un KillVolume y sera attaché). Le joueur doit faire preuve de timing pour passer sans se faire toucher, tout en attrapant le bébé sur les rails.

Matinee du Tramway.
Sensible à des ajustements (+ rapide / + lent) après d'autres Tests de Playtrought.


Le Kismet de notre scène, à date de ce post.


Une vidéo d'un Test de Playtrought du blocking : 

Pour finir, le scoping pour les prochaines semaines : 
• Matinees des lumières dans Kismet.
• Attacher les DamageVolumes aux lumières.
• Que le Pawn puisse prendre du Damage. 
• Que le Pawn puisse se heal lorsqu'il mange des bébés.
• Attacher un KillVolume au Tramway interactif.
• Que le Pawn puisse mourir. 
• Créer un Respawn lors de la mort du Pawn. 
• Créer un Checkpoint afin que le joueur ne recommence pas tout le début. 
• Créer un Counter pour compter le nombre de bébés collectionnés. 
• Créer un Time Limit pour essayer de battre le lever du Soleil. 
• Créer un HUD qui affiche tout (Temps, Vie, Bébés collectionnés, etc). 

Aucun commentaire:

Enregistrer un commentaire