toute l'information sur la réalisation vidéo numérique
 
 
Dites-nous qui vous êtes et donnez votre avis ! Sondage 2013 tutoriaux news tests et comparatifs fiches Repaire chercher forums
 
  Nous sommes en ce moment 383 sur le Repaire - 239211 discussions - 1236343 messages - 129014 Repairenautes inscrits

Précédent   Forums du Repaire > effets spéciaux - 3D > Adobe After Effects

Discussion fermée
 
LinkBack Outils de la discussion Modes d'affichage
  #1  
Vieux 17/08/2012, 21h04
Repairenaute
 
Date d'inscription: November 2011
Messages: 57
Bénéficie d'1 recommandation à propos d'1 message
Question Le mystère du seedRandom maudit !



Vous avez bien lu, c'est Le mystère du seedRandom maudit !
Ce qui signifie en gros que j'ai besoin de votre aide

D'après ce que j'avais compris avec la fonction seedRandom dans les expressions de after effects, et d'après tous les tests que j'avais fait jusqu'alors (ce qui est quand même le comble), quand on indiquait par exemple:
Code:
seedRandom (1234, true);
random (0, 10);
Sa produisait un certain nombre entre 0 et 10 inclus.

Et ensuite quand on copiait l'objet (le calque) dans lequel on avait écrit cette expression, ca produisait le même nombre dans ce nouveau calque puisque le seed ne change pas (1234).

Jusqu'au moment ou précisément ce matin, j'allume mon ordi, je fais ce petit test tout bête pour vérifier un truc (rien à voir), j'avais mis cette expression pour la rotation du calque, et la je copie ce calque, mince la rotation aléatoire n'est plus la même Pareil pour n'importe quel calque si je le copie autant de fois que je veux, c'est comme si il rajoutait index comme ceci:
Code:
seedRandom (index, true);
random (0, 10);
J'utilise after effects 7, et la boucle for est completement bugué pour ma part en tout cas (voir la fin de ce sujet: Wiggle linéaire (déplacement linéaire aléatoire dans le temps et dans l'espace)), alors la question c'est: est ce que c'est pas tout mon logiciel qui serait completement bugué? Suis-je fou? Pourquoi je passe des journées entières avec des bug à la con de boucle for ou de random alors que j'aimerais bien avancer dans mes vidéos? Pourquoi les mecs de adobe disent que c'est du javascript alors que ca ne se comporte pas comme du javascript?

Merci d'avance pour votre aide!
Liens commerciaux
----
  #2  
Vieux 17/08/2012, 21h06
Repairenaute
 
Date d'inscription: November 2011
Messages: 57
Bénéficie d'1 recommandation à propos d'1 message


Et pour vous montrer que je ne raconte pas des conneries, je peux vous assurer dans le script suivant que si hier je ne mettait pas + 2 dans le deuxième seedRandom mais que je mettait + 1 (comme le premier seedRandom), alors les mouvements de ma caméra (c'est la cible d'une caméra que j'anime) étaient des diagonales (puisque les images clés de x et y se trouvaient à être les même, ainsi que les valeur de x et y)...

Code:
var _n = 0;
var _screenWidth = thisComp.width;
var _screenHeight = thisComp.height;
var _frameCurrentTimeline = time * (1 / thisComp.frameDuration);
var _frameEndTimeline = (thisComp.duration * (1 / thisComp.frameDuration)) - 1;
var _frameFirstMin = 1000;
var _frameMinHorizontalCamera = 150;
var _frameMaxHorizontalCamera = 350;
var _valueMaxHorizontalCamera = 20;
var _keyframeListHorizontalCamera = new Array (0);
var _valueListHorizontalCamera = new Array (0);
var _wayHorizontalCamera = new Boolean (false);
var _keyframePreviousHorizontalCamera = 0;
var _keyframeNextHorizontalCamera = 0;
var _valuePreviousHorizontalCamera = 0;
var _valueNextHorizontalCamera = 0;
var _frameMinVerticalCamera = 75;
var _frameMaxVerticalCamera = 175;
var _valueMaxVerticalCamera = 20;
var _keyframeListVerticalCamera = new Array (0);
var _valueListVerticalCamera = new Array (0);
var _wayVerticalCamera = new Boolean (false);
var _keyframePreviousVerticalCamera = 0;
var _keyframeNextVerticalCamera = 0;
var _valuePreviousVerticalCamera = 0;
var _valueNextVerticalCamera = 0;
var _foundKeyframeNextHorizontalCamera = Boolean (false);
var _foundKeyframeNextVerticalCamera = Boolean (false);
var _zCamera = thisComp.activeCamera.position [2];

while (_n == 0 || _keyframeListHorizontalCamera [_n - 1] < _frameEndTimeline)
{
	seedRandom ((index * (thisComp.duration + 1)) + _n, true);
	
	if (_n == 0)
	{
		_keyframeListHorizontalCamera [0] = Math.round (random (-_frameFirstMin, 0));
		_valueListHorizontalCamera [_n] = random (-_valueMaxHorizontalCamera, _valueMaxHorizontalCamera);
		
		if (Math.round (random (0, 1)) == 1)
		{
			_wayHorizontalCamera = true;
		}
	}
	else
	{
		_keyframeListHorizontalCamera [_n] = _keyframeListHorizontalCamera [_n - 1] + Math.round (random (_frameMinHorizontalCamera, _frameMaxHorizontalCamera));
		
		if (_wayHorizontalCamera == false)
		{
			_valueListHorizontalCamera [_n] = random (-_valueMaxHorizontalCamera, _valueListHorizontalCamera [_n - 1]);
			_wayHorizontalCamera = true;
		}
		else
		{
			_valueListHorizontalCamera [_n] = random (_valueListHorizontalCamera [_n - 1], _valueMaxHorizontalCamera);
			_wayHorizontalCamera = false;
		}
	}
	
	_n++;
}

_n = 0;

while (_foundKeyframeNextHorizontalCamera == false)
{
	if (_keyframeListHorizontalCamera [_n + 1] >= _frameCurrentTimeline)
	{
		_keyframePreviousHorizontalCamera = _keyframeListHorizontalCamera [_n];
		_keyframeNextHorizontalCamera = _keyframeListHorizontalCamera [_n + 1];
		_valuePreviousHorizontalCamera = (-_zCamera * Math.tan (degreesToRadians (_valueListHorizontalCamera [_n]))) + (_screenWidth / 2);
		_valueNextHorizontalCamera = (-_zCamera * Math.tan (degreesToRadians (_valueListHorizontalCamera [_n + 1]))) + (_screenWidth / 2);
		
		_foundKeyframeNextHorizontalCamera = true;
	}
	
	if (_foundKeyframeNextHorizontalCamera == false)
	{
		_n++;
	}
}

_n = 0;

while (_n == 0 || _keyframeListVerticalCamera [_n - 1] < _frameEndTimeline)
{
	seedRandom ((index * (thisComp.duration + 2)) + _n, true);
	
	if (_n == 0)
	{
		_keyframeListVerticalCamera [0] = Math.round (random (-_frameFirstMin, 0));
		_valueListVerticalCamera [_n] = random (-_valueMaxVerticalCamera, _valueMaxVerticalCamera);
		
		if (Math.round (random (0, 1)) == 1)
		{
			_wayVerticalCamera = true;
		}
	}
	else
	{
		_keyframeListVerticalCamera [_n] = _keyframeListVerticalCamera [_n - 1] + Math.round (random (_frameMinVerticalCamera, _frameMaxVerticalCamera));
		
		if (_wayVerticalCamera == false)
		{
			_valueListVerticalCamera [_n] = random (-_valueMaxVerticalCamera, _valueListVerticalCamera [_n - 1]);
			_wayVerticalCamera = true;
		}
		else
		{
			_valueListVerticalCamera [_n] = random (_valueListVerticalCamera [_n - 1], _valueMaxVerticalCamera);
			_wayVerticalCamera = false;
		}
	}
	
	_n++;
}

_n = 0;

while (_foundKeyframeNextVerticalCamera == false)
{
	if (_keyframeListVerticalCamera [_n + 1] >= _frameCurrentTimeline)
	{
		_keyframePreviousVerticalCamera = _keyframeListVerticalCamera [_n];
		_keyframeNextVerticalCamera = _keyframeListVerticalCamera [_n + 1];
		_valuePreviousVerticalCamera = (-_zCamera * Math.tan (degreesToRadians (_valueListVerticalCamera [_n]))) + (_screenHeight / 2);
		_valueNextVerticalCamera = (-_zCamera * Math.tan (degreesToRadians (_valueListVerticalCamera [_n + 1]))) + (_screenHeight / 2);
		
		_foundKeyframeNextVerticalCamera = true;
	}
	
	if (_foundKeyframeNextVerticalCamera == false)
	{
		_n++;
	}
}

function animation (frameStartAnimation, frameEndAnimation, valueStartAnimation, valueEndAnimation, curveAnimation)
{
	if (time * (1 / thisComp.frameDuration) == frameStartAnimation)
	{
		return valueStartAnimation;
	}
	else if (time * (1 / thisComp.frameDuration) == frameEndAnimation)
	{
		return valueEndAnimation;
	}
	else if (time * (1 / thisComp.frameDuration) > frameStartAnimation && time * (1 / thisComp.frameDuration) < frameEndAnimation && valueStartAnimation != valueEndAnimation)
	{
		if (valueEndAnimation > valueStartAnimation)
		{
			if (curveAnimation == 0)
			{
				return valueStartAnimation + ((valueEndAnimation - valueStartAnimation) / ((frameEndAnimation - frameStartAnimation) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation)));
			}
			else if (curveAnimation == 1)
			{
				return valueStartAnimation + (((valueEndAnimation - valueStartAnimation) / ((frameEndAnimation - frameStartAnimation) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation))) / ((frameEndAnimation - frameStartAnimation) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation)));
			}
			else if (curveAnimation == 2)
			{
				return (valueStartAnimation + ((valueEndAnimation - valueStartAnimation) / ((frameEndAnimation - frameStartAnimation) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation)))) + ((valueEndAnimation - (valueStartAnimation + ((valueEndAnimation - valueStartAnimation) / ((frameEndAnimation - frameStartAnimation) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation))))) / ((frameEndAnimation - frameStartAnimation) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation)));
			}
			else if (curveAnimation == 3)
			{
				if (((time * (1 / thisComp.frameDuration)) - frameStartAnimation) < (frameEndAnimation - frameStartAnimation) / 2)
				{
					return valueStartAnimation + (((valueEndAnimation - valueStartAnimation) / (((frameEndAnimation - frameStartAnimation) / 2) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation))) / ((frameEndAnimation - frameStartAnimation) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation)));
				}
				else if (((time * (1 / thisComp.frameDuration)) - frameStartAnimation) == (frameEndAnimation - frameStartAnimation) / 2)
				{
					return valueStartAnimation + ((valueEndAnimation - valueStartAnimation) / 2);
				}
				else
				{
					return (valueStartAnimation + ((valueEndAnimation - valueStartAnimation) / (((frameEndAnimation - frameStartAnimation) / 2) / (((time * (1 / thisComp.frameDuration)) - frameStartAnimation) - ((frameEndAnimation - frameStartAnimation) / 2))))) + ((valueEndAnimation - (valueStartAnimation + ((valueEndAnimation - valueStartAnimation) / (((frameEndAnimation - frameStartAnimation) / 2) / (((time * (1 / thisComp.frameDuration)) - frameStartAnimation) - ((frameEndAnimation - frameStartAnimation) / 2)))))) / ((frameEndAnimation - frameStartAnimation) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation)));
				}
			}
			else
			{
				if (((time * (1 / thisComp.frameDuration)) - frameStartAnimation) < (frameEndAnimation - frameStartAnimation) / 2)
				{
					return (valueStartAnimation + (((valueEndAnimation - ((valueEndAnimation - valueStartAnimation) / 2)) - valueStartAnimation) / (((frameEndAnimation - frameStartAnimation) / 2) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation)))) + (((valueEndAnimation - ((valueEndAnimation - valueStartAnimation) / 2)) - (valueStartAnimation + (((valueEndAnimation - ((valueEndAnimation - valueStartAnimation) / 2)) - valueStartAnimation) / (((frameEndAnimation - frameStartAnimation) / 2) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation))))) / (((frameEndAnimation - frameStartAnimation) / 2) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation)));
				}
				else if (((time * (1 / thisComp.frameDuration)) - frameStartAnimation) == (frameEndAnimation - frameStartAnimation) / 2)
				{
					return valueStartAnimation + ((valueEndAnimation - valueStartAnimation) / 2);
				}
				else
				{
					return (valueStartAnimation + ((valueEndAnimation - valueStartAnimation) / 2)) + (((valueEndAnimation - (valueStartAnimation + ((valueEndAnimation - valueStartAnimation) / 2))) / (((frameEndAnimation - frameStartAnimation) / 2) / (((time * (1 / thisComp.frameDuration)) - frameStartAnimation) - ((frameEndAnimation - frameStartAnimation) / 2)))) / (((frameEndAnimation - frameStartAnimation) / 2) / (((time * (1 / thisComp.frameDuration)) - frameStartAnimation) - ((frameEndAnimation - frameStartAnimation) / 2))));
				}
			}
		}
		else
		{
			if (curveAnimation == 0)
			{
				return valueStartAnimation - ((valueStartAnimation - valueEndAnimation) / ((frameEndAnimation - frameStartAnimation) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation)));
			}
			else if (curveAnimation == 1)
			{
				return valueStartAnimation - (((valueStartAnimation - valueEndAnimation) / ((frameEndAnimation - frameStartAnimation) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation))) / ((frameEndAnimation - frameStartAnimation) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation)));
			}
			else if (curveAnimation == 2)
			{
				return (valueStartAnimation - ((valueStartAnimation - valueEndAnimation) / ((frameEndAnimation - frameStartAnimation) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation)))) - (((valueStartAnimation - ((valueStartAnimation - valueEndAnimation) / ((frameEndAnimation - frameStartAnimation) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation)))) - valueEndAnimation) / ((frameEndAnimation - frameStartAnimation) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation)));
			}
			else if (curveAnimation == 3)
			{
				if (((time * (1 / thisComp.frameDuration)) - frameStartAnimation) < (frameEndAnimation - frameStartAnimation) / 2)
				{
					return valueStartAnimation - (((valueStartAnimation - valueEndAnimation) / (((frameEndAnimation - frameStartAnimation) / 2) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation))) / ((frameEndAnimation - frameStartAnimation) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation)));
				}
				else if (((time * (1 / thisComp.frameDuration)) - frameStartAnimation) == (frameEndAnimation - frameStartAnimation) / 2)
				{
					return valueStartAnimation - ((valueStartAnimation - valueEndAnimation) / 2);
				}
				else
				{
					return (valueStartAnimation - ((valueStartAnimation - valueEndAnimation) / (((frameEndAnimation - frameStartAnimation) / 2) / (((time * (1 / thisComp.frameDuration)) - frameStartAnimation) - ((frameEndAnimation - frameStartAnimation) / 2))))) - (((valueStartAnimation - ((valueStartAnimation - valueEndAnimation) / (((frameEndAnimation - frameStartAnimation) / 2) / (((time * (1 / thisComp.frameDuration)) - frameStartAnimation) - ((frameEndAnimation - frameStartAnimation) / 2))))) - valueEndAnimation) / ((frameEndAnimation - frameStartAnimation) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation)));
				}
			}
			else
			{
				if (((time * (1 / thisComp.frameDuration)) - frameStartAnimation) < (frameEndAnimation - frameStartAnimation) / 2)
				{
					return (valueStartAnimation - ((valueStartAnimation - (valueEndAnimation + ((valueStartAnimation - valueEndAnimation) / 2))) / (((frameEndAnimation - frameStartAnimation) / 2) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation)))) - (((valueStartAnimation - ((valueStartAnimation - (valueEndAnimation + ((valueStartAnimation - valueEndAnimation) / 2))) / (((frameEndAnimation - frameStartAnimation) / 2) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation)))) - (valueEndAnimation + ((valueStartAnimation - valueEndAnimation) / 2))) / (((frameEndAnimation - frameStartAnimation) / 2) / ((time * (1 / thisComp.frameDuration)) - frameStartAnimation)));
				}
				else if (((time * (1 / thisComp.frameDuration)) - frameStartAnimation) == (frameEndAnimation - frameStartAnimation) / 2)
				{
					return valueStartAnimation - ((valueStartAnimation - valueEndAnimation) / 2);
				}
				else
				{
					return (valueStartAnimation - ((valueStartAnimation - valueEndAnimation) / 2)) - ((((valueStartAnimation - ((valueStartAnimation - valueEndAnimation) / 2)) - valueEndAnimation) / (((frameEndAnimation - frameStartAnimation) / 2) / (((time * (1 / thisComp.frameDuration)) - frameStartAnimation) - ((frameEndAnimation - frameStartAnimation) / 2)))) / (((frameEndAnimation - frameStartAnimation) / 2) / (((time * (1 / thisComp.frameDuration)) - frameStartAnimation) - ((frameEndAnimation - frameStartAnimation) / 2))));
				}
			}
		}
	}
	else if (time * (1 / thisComp.frameDuration) < frameStartAnimation)
	{
		return valueStartAnimation;
	}
	else
	{
		return valueEndAnimation;
	}
}

[animation (_keyframePreviousHorizontalCamera, _keyframeNextHorizontalCamera, _valuePreviousHorizontalCamera, _valueNextHorizontalCamera, 3), animation (_keyframePreviousVerticalCamera, _keyframeNextVerticalCamera, _valuePreviousVerticalCamera, _valueNextVerticalCamera, 3), 0];
Bref c'est à devenir fou ce logiciel C'est un machin aléatoire, d'un jour à l'autre il se passe des choses différentes avec exactement le même code, c'est hallucinant, ca fait presque 10 ans que je programme dans différents languages, je viens de terminer un programme de 12000 lignes de code pour un site web, et c'est vraiment la première fois que je vois des trucs pareil, c'est vraiment affligeant, j'en peux plus Je passe mes journées entières sur des merdes pareils alors qu'il fait beau je pourrais tourner des vidéos, ...
Discussion fermée


Moteur Google Repaire 


Outils de la discussion
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non


Discussions similaires
Discussion Auteur Forum Réponses Dernier message
Le vert maudit jesy compressions Mpeg, divX, wm.... 0 05/10/2008 23h17
Encore ce maudit AC3 pour MSP 7 electron Corel 0 29/08/2005 13h00
maudit TimeCode mf_fa9 Adobe Premiere (6.5 et ant.) 6 21/01/2003 23h36
Je suis maudit lionkap son numérique 13 24/09/2002 10h34


Fuseau horaire GMT +2. Il est actuellement 00h21.

Moteur GoogleRepaire

tous contenus |rubriques + forums|


Document sans nom


.

vBulletin® Version 3.8.5
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.6.1
Version française #20 par l'association vBulletin francophone
Ces forums sont protégés par le Code de la propriété littéraire et artistique - RCS498481704

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100