Blog, Actus, Infos...

Univers high tech

Jouer une vidéo dans Unity (même sous Android & iOS)

avril 282017

Lire une vidéo dans Unity n'as pas toujours été simple. Il existe bien les Movie Textures mais celles-ci sont assez limitée et ne fonctionnent pas sous Android ni iOS. Il était donc impossible de lire une vidéo sur mobile de cette façon. Unity propose bien une classe nommée "Handled" permettant de lire une vidéo en plein écran sur mobile. La fonction est "PlayFullScreenMovie". Pour comprendre comment utiliser cette fonction, reportez vous à la documentation : https://docs.unity3d.com/ScriptReference/Handheld.PlayFullScreenMovie.html.

Malgré tout, il n'était toujours pas possible de lire une vidéo dans le jeu sans que celle-ci soit en plein écran. Par exemple, il n'était pas possible de créer une pièce avec des télévisions diffusant des vidéos. Depuis la version 5.6 d'Unity, un nouveau composant est apparu : Le Video Player.

Ce composant est encore en version Alpha et tout n'est pas encore fonctionnel, faites donc attention. Cependant, ce composant sera entièrement fonctionnel dans les prochaines versions d'Unity.

Le Video Player permet de lire une vidéo soit intégrée à votre application soit accessible en ligne via une URL.

Pour lire une vidéo, vous devez créer un objet 3D, par exemple un Plane ou un Quad, ajouter le composant Video Player et associer une vidéo à ce composant : 

undefined

J'ai utilisé le film gratuit "Big Buck Bunny" pour cet exemple. Vous pouvez paramétrer le composant, par exemple demander à lancer le film au lancement du jeu, à le jouer en boucle, à définir la vitesse de lecture etc. Je rappelle que le son ne fonctionne pas pour le moment. Le son sera implémenté dans la version finale du composant.

C'est tout ce que vous avez à faire pour lancer une vidéo dans Unity ! Ce composant fonctionne sous Android. Faites attention, certains formats ne sont pas compatibles avec les mobiles et certaines résolutions non plus. Je vous recommande le MP4 H264 et une résolution de 640*360 px. Cela maximisera la compatibilité. Nottez que les vieilles versions d'Android ne seront pas compatibles. 

Lorsque vous importez une vidéo non compatible Android, vous avez la possibilité de la "convertir" afin de la rendre compatible. En cliquant sur cette vidéo, vous pouvez "l'Overrider" :

undefined

Sachez aussi que vous pouvez interagir avec la vidéo par script. Pour cela vous devez simplement accéder au VideoPlayer. Vous pouvez par exemple créer un lecteur permettant de mettre en pause, d'accélérer ou de ralentir. Voilà quelques fonctions que vous pouvez implémenter :

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video;

public class PlayerControls : MonoBehaviour {

	public VideoPlayer vp;
	bool isPaused = false;
	public enum fonc{pause,rapide,lent};
	public fonc roleBtn;

	void OnMouseUp()
	{
		if (roleBtn == fonc.pause) {
			PlayPause ();
		}
		if (roleBtn == fonc.rapide) {
			Accelerer ();
		}
		if (roleBtn == fonc.lent) {
			Ralentir ();
		}
	}

	public void PlayPause()
	{
		if (!isPaused) {
			isPaused = true;
			vp.Pause ();
		} else {
			isPaused = false;
			vp.Play ();
		}
	}

	public void Accelerer()
	{
		if(vp.playbackSpeed < 8)
		vp.playbackSpeed *= 2;
	}

	public void Ralentir()
	{
		if(vp.playbackSpeed > 0.25f)
		vp.playbackSpeed /= 2;
	}
}

Et voilà, vous avez votre lecteur vidéo multi-plateformes. Voilà un exemple basique :

undefined

Nouvelles formations Unity 3D

avril 262017

Nous avons récemment mis en ligne plusieurs formations vidéo Unity 3D axées sur le développement de jeux vidéo

Vous retrouverez sur notre chaîne YouTube une formation pour apprendre à créer un FPS 3D avec Unity 5 & C#. Vous retrouverez également une formation Unity vous permettant d'apprendre à créer des jeux multijoueur en ligne avec la HLAPI UNET

Une autre formation vous propose d'apprendre à créer des jeux 2D compatibles avec les mobiles.

Comme il n'y a pas que Unity dans la vie, nous avons également réalisé une formation vidéo complète sur les bases du développement de jeux avec Unreal Engine 4, le principal concurrent d'Unity 3D.

Pensez aussi à regarder du côté de nos livres Unity 3D pour aller plus loin dans la création de jeux et d'applis innovantes.

undefined

[Livre] Développer des applis innovantes avec Unity - Nouveauté

avril 262017

Ça y est, il est enfin arrivé, mon nouveau livre sur le développement avec Unity 3D !

Après les 4 premiers ouvrages consacrés au développement de jeux avec Unity, le moment est venu de parler de la création d'applications innovantes et professionnelles avec Unity 3D.

Dans ce nouveau livre, vous apprendrez à développer des applications en réalité augmentée, en réalité virtuelle et en réalité mixée avec Unity et le langage de programmation C#.

undefined

Découvrez quelques extraits du livre sur le site de l'éditeur.