Vidéo sur fond vert

Questions à propos du scripting Shader.
Avatar de l’utilisateur
kealkeal
Messages : 925
Inscription : 16 Juil 2010 17:31
Localisation : Paris

Re: Vidéo sur fond vert

Message par kealkeal » 14 Déc 2011 12:04

A "yannminh" qu'utilises tu comme logiciel pour exporter ta vidéo Alpha synchrone ?
kealkeal

Avatar de l’utilisateur
Loulou
Messages : 239
Inscription : 23 Nov 2011 01:04
Localisation : Paris
Contact :

Re: Vidéo sur fond vert

Message par Loulou » 14 Déc 2011 13:19

Je suis vraiment pas bon en shader mais si ca peut aider/depanner :

Code : Tout sélectionner

Shader "Custom/VideoAlpha" {
	Properties {
		_MainTex ("Base (RGB)", 2D) = "white" {}
		_AlphaOffsetX ("alpha offset x", float) = 0.5
		_AlphaOffsetY ("alpha offset y", float) = 0
		_Cutoff ("Cutoff", Range (0,1)) = .5
	}
	SubShader {
	AlphaTest Less [_Cutoff]
			CGPROGRAM
			#pragma surface surf Lambert
	
			sampler2D _MainTex;
			float _AlphaOffsetX;
			float _AlphaOffsetY;
	
			struct Input {
				float2 uv_MainTex;
			};
	
			void surf (Input IN, inout SurfaceOutput o) {
				half4 c = tex2D (_MainTex, IN.uv_MainTex);
				IN.uv_MainTex.x += _AlphaOffsetX;
				IN.uv_MainTex.y += _AlphaOffsetY;
				half4 d = tex2D (_MainTex, IN.uv_MainTex);
				o.Albedo = c.rgb;
				o.Alpha = (d.r*-1)+1;
			}
			ENDCG
		
	} 
	FallBack "Diffuse"
}

Le tilling et offset de la texture doivent etre regle pour voir le cote RGB.
Les deux paramettres en dessous sont les offset a rajouter pour se decaler sur la couche alpha.
Image

Avatar de l’utilisateur
yannminh
Messages : 70
Inscription : 18 Fév 2010 15:09
Localisation : Noisy-Le-Grand
Contact :

Re: Vidéo sur fond vert

Message par yannminh » 15 Déc 2011 01:08

kealkeal a écrit :A "yannminh" qu'utilises tu comme logiciel pour exporter ta vidéo Alpha synchrone ?
J'utilise, bêtement After-Effect... dont la qualité d'incrustation est excellente..
je me suis bricolé un petit cyclo vert éclairé avec des rampes de néons, et je tourne avec un canon 600D posé verticalement pour avoir l'image la plus grande possible.
Loulou a écrit :Je suis vraiment pas bon en shader mais si ca peut aider/depanner
Super, un grand merci, ça marche :-) génial...
Dernière édition par yannminh le 16 Déc 2011 10:40, édité 1 fois.

Avatar de l’utilisateur
yannminh
Messages : 70
Inscription : 18 Fév 2010 15:09
Localisation : Noisy-Le-Grand
Contact :

Re: Vidéo sur fond vert

Message par yannminh » 15 Déc 2011 08:53

C'est top de top de top... ça marche nickel,
c'est beaucoup plus beau que d'utiliser la suppression du vert,
qui laisse un liseré...
et avec une séquence de 600 pixels en hauteur la qualité est très supportable.

je suis super content... encore un immense merci... :D

Ci joint un lien vers deux séquences que je viens de faire, pour tester,
pour ceux qui voudraient expérimenter le truc...

http://www.noomuseum.net/mov/YannSteady ... ha_674.mov
(le fichier .ogv pour Unity http://www.noomuseum.net/mov/YannSteady ... ha_674.ogv
Image

Modele Soizic Hess http://soizic-hess.com/
http://www.noomuseum.net/mov/SoizicDoubleAlpha-674.mov
(le fichier .ogv pour Unity http://www.noomuseum.net/mov/SoizicRota ... 800ogv.ogv
Image

Oups, je viens de comprendre la remarque sur la taille de mes images Loulou, je croyais
que tu parlais de la taille des fichiers vidéo sur le web...

Loulou, est-ce que tu m'autoriserais à poster ce truc avec ton script
( en te citant bien sur ) sur le forum de Unity,
où il y a quelques utilisateurs qui cherchent vainement à
incruster correctement des acteurs dans leurs univers... ?

Les derniers trucs qui seraient bien, ce serait :
1) Comment rendre la texture lumineuse, de type Unlit... ?


2) comment faire pour que ça marche avec une texture en .ogv
téléchargée depuis le net... ?
Après quelques expérimentations, j'ai trouvé c'était relativement simple,
il suffit de mettre un script de lecture de vidéo dans l'objet qui sert d'écran, et de mettre une image fixe similaire, dans la fenetre du matériaux.

Par exemple :

Code : Tout sélectionner

private var url = "http://www.noomuseum.net/mov/YannSteadyDoubleAlpha_674.ogv";  // Lien de la video
public var object:GameObject; // Objet sur lequel doit être afficher la video

function Start () { 

var www = new WWW(url);

var movieTexture = www.movie;
while (!movieTexture.isReadyToPlay)
yield;

object.renderer.material.mainTexture = movieTexture;


audio.clip = movieTexture.audioClip;

movieTexture.Play();
movieTexture.Loop = true;
audio.Play();
}

@script RequireComponent (AudioSource)

Si vous préférez, plutôt que d'héberger le fichier vidéo .ogv, non pas sur le web, mais sur votre Mac ou Pc pour des versions stand alone, il faut enregistrer le fichier .ogv dans votre dossier "Users", et dans le script Unity, utiliser une adresse de ce type : file:///Users/YannSteadyDoubleAlpha_674.ogv
l'url de type http étant remplacée par "file:///


Si vous voulez voir ce que ça donne, j'ai mis en ligne une version du noobunker de cyberesthésie http://www.cyberesthesie.com avec deux videos incrustées à l'intérieur en démo. (les vidéos sont des .ogv hébergés sur le web.)
http://www.cyberesthesie.com/cyberesthe ... hesia.html

C'est une version multiplayer, faire "Heberger" puis "entrez dans les Noobunkers"

C'est un niveau un peu lourd de 132 mega, car c'est la version du NooBunker qui est utilisée pendant les performances de cyberesthesie, en particulier celle de la demeure du Chaos qui est ici
http://noozone.free.fr/noocrypte/viewto ... =16&t=1011

ou celle de Souterrain porte VI qui est ici
http://noozone.free.fr/noocrypte/viewto ... =16&t=1797

Dans cette version du Noobunker sous Unity, les collisions avec les sphères envoient des datas vers OSC pour déclencher des E-Stims, et Teledildo.




Yann, NooIncrusté...

Avatar de l’utilisateur
Loulou
Messages : 239
Inscription : 23 Nov 2011 01:04
Localisation : Paris
Contact :

Re: Vidéo sur fond vert

Message par Loulou » 16 Déc 2011 15:38

Loulou, est-ce que tu m'autoriserais à poster ce truc avec ton script
( en te citant bien sur ) sur le forum de Unity,
où il y a quelques utilisateurs qui cherchent vainement à
incruster correctement des acteurs dans leurs univers... ?
Oui si tu veux

Avatar de l’utilisateur
yannminh
Messages : 70
Inscription : 18 Fév 2010 15:09
Localisation : Noisy-Le-Grand
Contact :

Re: Vidéo sur fond vert

Message par yannminh » 18 Déc 2011 03:39

Super, merci...

:-)

Avatar de l’utilisateur
ZJP
Messages : 5748
Inscription : 15 Déc 2009 06:00

Re: Vidéo sur fond vert

Message par ZJP » 08 Mars 2014 20:05

Universal Chroma Key Shader à 10$ sur l'Asset Store.

Image

Image
Universal Chroma Key Shader provides you a simple shader to achieve the chroma key compositing effect on any texture, including movie texture.
It makes transparent the selected color of your texture (image, video or webcam capture), so you can remove easily the background.
Then you can place any other content behind or in front, also using the shader or not, so you can get your desired composition.

Examples of uses:
-Removing the background of a video to simulate another background
-Get textures with transparency using JPG files instead of bigger PNGs with alpha
-Create 3D effects overlaying videos on different and moving the camera.

Features:
-You can select the color to be removed (most used is green, but any one could be assigned).
-You can control the color tolerance, to remove similar colors too.
-You can control the strength of the cut off.
-You can change this values on runtime
-You can use the shader multiple times in the same scene

Included in the package:
-The shader
-Sample scene
Tested Platafform
-Windows and Mac Standalone
-Android
-WebPlayer
Theoretically, it should work in all other plattaforms.

Répondre

Revenir vers « les Shaders »