
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, ... |