OMG PIRATES ! L’après ZombieVille

L’équipe Mikamobile est à l’origine d’un jeu Iphone créé avec Unity et nommé ZombieVille. Véritable succès, il fut un des jeux qui attirèrent l’attention des développeurs pour Unity 3D avec le paradoxe qu’il s’agit d’un jeu en rendu 2D.

A la vue du style cartoon on ne se douterait pas qu’en fait le jeu est entièrement créé avec des modèles 3D et utilise les outils classiques comme le CharacterController et les scripts d’animations.

L’équipe revient donc avec un nouveau jeu nommé OMG PIRATES ! est qui est une peu plus dans le style de Castle Crushers. Regardez donc le trailer suivant, ça fait envie.

Il ne m’en fallait pas plus pour taner un des créateurs dont le pseudo est PirateNinjaAlliance sur le forum officiel et j’ai pu glaner quelques informations techniques quand à leur manière de travailler qui est simple et géniale à la fois.

En fait, pour les personnages, il sépare les portions de corps dans des images différentes (tête, bras…) et ensuite dans Maya, il créé des planars (en fait des mesh rectangulaires à 2 polygones) et ils appliquent les images de corps aux mesh. Ensuite, il anime le tout dans Maya. Celà ressemble à une animation flash mais dans un logiciel 3D. Ensuite, comme certains mouvements sont contraints par le dessin, il créé différentes position suivant les actions du personnage (si il est de dos, si il fait un coup spécial). Ensuite comme vous le voyez sur l’image ci-dessous la caméra est placé à 45 degrés et très loin avec un grand angle, ce qui permet une caméra presque orthographique mais qui conserve la parallaxe des éléments de décors placés sur différentes profondeur. Quand au décor du fond, il est penché dans l’axe de la caméra. Et le tour est joué.

art15a

Script de morphing

Voici un script qui réalise le morphing entre modèle 3D qui ont une base neutre commune mais auxquels vous aurez créé 2 états différents. Cette expérimentation a été réalisé avec un export du modèle depuis Blender par Foolish Frost. Sur son site, vous pourrez voir la démo appliquée à un monstre tentaculaire et à un visage de femme.

Si vous voulez expérimenter vous même ou jouer à modifier le script, téléchargez le package ici.

Pack de 16 Lensflare

Dans unity vous pouvez placer divers type de lumières d’ambiance mais il faut savoir que vous pouvez ajouter à votre lumière un effet de Lensflare pour donner un rendu étoile, soleil ou autre éclat de lumière.

Voici donc sur le site officiel un pack de 16 Lensflare et je peux vous dire qu’ils sont impressionnants de réalisme. Pour vous en servir, téléchargez le package, importez le et placez en drag and drop le Lensflare adéquat sur votre lumière.

Blurst Technology explique les triggers

Le studio Blurst est une société qui développe des jeux vidéos avec Unity. Ses membres sont très talentueux et assez doués en développement et sur leur devblog, ils n’hésitent pas à expliquer certaines astuces utilisées pour faire des effets dignes de la PS3.

Un des derniers tutos en date (en anglais) concerne les triggers et ils nous explique comment s’en servir, leurs limites et comment contourner les limites avec des astuces de code.

Pour rappel, les triggers sont des objets de collision que l’on peut traverser et Unity récupère les évènements si un objet entre, reste ou sort d’un trigger.

L’article du site

Le projet source

Tutoriel pour créer une voiture de course (anglais)

Pour tout ceux qui aiment les jeux de bagnole voici un tuto qui va vous montrer comment importer un modèle de voiture, lui attribuer des WheelCollider (objets de collisions spécial roues), jouer avec la physique, créer des waypoints et même comment jouer sur le son du moteur dynamiquement.

Voilà donc une bonne base pour faire vos jeux de courses d’autant plus que le projet est téléchargeable.

Script de capture d’écran

Voici un script qui vous permet de faire une capture de votre scène lors d’un jeu. Il suffit d’intégrer le code qui est fournit ici en C# et en JS et d’appuyer sur la touche « k » pour qu’une image au format png soit générée dans le dossier relatif « /screenshots/screen ».

Vous pouvez bien sur changer ces paramètres cibles à votre convenance.

C# :

using UnityEngine;
using System.Collections; 

public class HiResScreenShots : MonoBehaviour {
    public int resWidth = 4096;
    public int resHeight = 2232; 

   void Update () {
        if (Input.GetKeyDown("k")) {
            RenderTexture rt = new RenderTexture(resWidth, resHeight, 24);
            camera.targetTexture = rt;
            Texture2D screenShot = new Texture2D(resWidth, resHeight,
                                                 TextureFormat.RGB24, false);
            camera.Render();
            RenderTexture.active = rt;
            screenShot.ReadPixels(new Rect(0, 0, resWidth, resHeight), 0, 0);
            camera.targetTexture = null;
            RenderTexture.active = null; // JC: added to avoid errors
            Destroy(rt);
            byte[] bytes = screenShot.EncodeToPNG();
            string filename = Application.dataPath + "/screenshots/screen"
                            + System.DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss") + ".png";
            System.IO.File.WriteAllBytes(filename, bytes);
            Debug.Log(string.Format("Took screenshot to: {0}", filename));
        }
   }
}

JavaScript :

var resWidth : int = 4096;
var resHeight : int = 2232; 

function Update()
{
   if (Input.GetKeyDown ("k"))
   {
	   var rt = new RenderTexture(resWidth, resHeight, 24);
	   camera.targetTexture = rt;
	   var screenShot = new Texture2D(resWidth, resHeight, TextureFormat.RGB24, false);
	   camera.Render();
	   RenderTexture.active = rt;
	   screenShot.ReadPixels(Rect(0, 0, resWidth, resHeight), 0, 0);
	   RenderTexture.active = null; // JC: added to avoid errors
	   camera.targetTexture = null;
	   Destroy(rt);
	   var bytes = screenShot.EncodeToPNG();
	   System.IO.File.WriteAllBytes(Application.dataPath + "/screenshots/screen" + System.DateTime.Now.ToString("dd-MM-yyyy_HH-mm-ss") + ".png", bytes);
   }
}

Source ici.

Un Shader de fourrure

Voilà un shader qu’il est bien, il vous permet de générer un rendu fourrure sur un modèle 3D à partir d’une texture. Ce shader a été créé par Jonathan Czeck et optimisé par Aras du forum officiel.

Il n’empêche qu’il s’agit d’un très beau cadeau pour tous ceux qui aiment les poils (ou les cheveux) d’autant plus que c’est super léger niveau performance.

Télécharger le package ici.

Système de caméra mouvante sur un chemin prédéfini

Trouvé sur le forum officiel, voici un script qui répond à une demande d’un internaute. Il s’agit de faire suivre à la caméra un chemin prédéfini pour créer un plan séquence.

Le principe est d’utiliser des points clés appelé « waypoints » at de créer un script qui les relie soous forme de courbe de Bézier. L’intérêt est d’avoir ainsi des transitions fluides.

Vous trouverez le script sur ce lien pour télécharger le package.

Réaliser une coupe technique dans Unity

Voilà une chose que je cherchais depuis pas mal de temps. Travaillant sur des modèles industriels, j’utilise le logiciel Composer de 3DVIA afin de réaliser des coupes techniques de pièces. Je cherchais un moyen de faire la même chose dans Unity et la solution m’est venue du forum officiel de la part de Arras, un dev du site.

Il a créé un script et un shader spécifique pour avoir des découpes techniques à façon et le projet est super léger ce qui est le plus étonnant.

Télécharger le projet.

Page 48 sur 50« Première page1020304647484950