Voir la version complète : déplacement automobile
je viens de terminer (a peu près) un systeme xpresso avec un tout petit peu de coffee pour piloter un déplacement de voiture, avec rotation des roues, deplacement "correct"...
facile à mettre en place, il suffit de créer une spline, et c'est partie...
premiere vidéo (http://fc4d.free.fr/images/parksto_oiture.mov)
seconde vidéo (http://fc4d.free.fr/images/parksto_roues.mov)
vous voyez autre chose ?
:prie: moi je m'incline !! tu t'y est pris comment pour le mouvement gauche droite des roues ?? :poucehaut: :lol:
C'est classe!
Si tu fais une rotation de la caisse, les roues restent axées?
C'est classe!
Si tu fais une rotation de la caisse, les roues restent axées?
Tout à fait d'accord, tu nous fais partager ta trouvaille, pour l'étudier. :prie:
manque plus qu'un peu de suspension pour faire bouger le bas de caisse (bonojur pour regler l'inertie) et la je dis bravo :prie: (deja là :poucehaut: ) :D
La modelisation est fantastique!!! :mrgreen:
Non, sans rire, moi la prog ca me deprime, surtout quand je vois des p'tits trucs comme ca... nickel Parksto! Comme dis Vesale, manque plus que les suspensions...
'tention teg, c'est Vesale2 (t'inquiètes pas, moi non plus j'ai pas capté tout de suite :mrgreen: )
pareil parksto, moi je suis partant pour essayer de comprendre l'Xpresse, faute de pouvoir l'étudier par moi-même
Superbe, si tu pouvais y ajouter un emetteur de particule pour la poussière et c'est parfait, bien sur en plus des suspensions et ah oui... Un petit Teg qui dodeline à l'arrière du véhicule.
Vesale est un peu schizo en fait, il a un Vesale par machine connectée...
:mrgreen:
Je te fourni le nounours sans probleme, si tu veux suivre l'idée d'Aurety ;-)
Bon, plus serieusement, tu compte essayer d'approfondir ou pas? tu compte diffuser ton tag, apres? le transformer en plugin?
les suspensions, je vais essayer d'y réfléchir, c'est promis :wink:
vous voudriez quoi ? que la voiture se penche dans les virages ?
qu'elle reste collé à la route malgrès les trous et les bosses ?
pour la prog proprement dite, pour l'instant c'est un jeu d'xpresso relativement brouillon, je suis en train de me dire que je vais peut-être le faire completement en coffee, ça sera plus simple à utiliser.
une fois en place, il suffit de déplacer un point qui entraine le déplacement de la voiture, la rotation des roues, latéralement, et vers l'avant.
l'animation deviens un jeu d'enfant.
pour le principe, l'xpresso calcul l'angle entre la dernière position du véhicule et la position actuelle, et applique simplement le même angle aux roues. pour la rotation des roues (quand elle avance), c'est le principe du tutorial de blazouf (merci). pour le déplacement , l'xpresso fait suivre à distance fixe un point qui est l'axe des roues arrières.
...Je te fourni le nounours sans probleme, si tu veux suivre l'idée d'Aurety ;-)
ça sera plus facile que les amortiseurs. :lol:
Bon, plus serieusement, tu compte essayer d'approfondir ou pas? tu compte diffuser ton tag, apres? le transformer en plugin?
je vais effectivement essayer d'approfondir, si j'en suis capable. :?
et oui, je pense bien le faire tourner, si possible sous la forme de plugin, sinon en xpresso, on vera bien.
euh...
est-ce que quelqu'un sait s'il possible d'enregistrer une variable d'une frame sur l'autre en coffee ? :o
Tengaal ?
En COFFEE je ne sais pas, mais avec XPresso tu peux essayer les sorties du type "Postition précédente" ou "Matrice précédente", sinon il y a aussi un noeud "Mémoire" qui permet de stocker des variables.
En tout cas chapeau parksto pour ton expression :poucehaut:
Pour stocker des valeurs, l'idéal est de créer un tag perso (invisible) de type VariableTag qui s'utilise comme un tableau stockant 3 valeurs par index de pointage (idéal par exemple pour stocker les vecteurs x,y,z), le mieux pour comprendre est de jeter un oeil dans la doc COFFEE, dans la partie "Tags" puis "VariableTag".
Par contre il faut bien faire attention à ne créer qu'un seul tag perso invisible, car si le script créé un tag en parmanence, on se retrouve très vite avec des milliers de tags invisibles qui crééent un fichier C4D anormalement lourd (cf. cas d'Aurety il y a quelque temps avec son personnage polygonal...)
merci merci merci
:D :poucehaut:
si tu peut rajouter un générateur de pneu brulé pour le burnout, que ton expression gère la dérive le ralentissement avant virage et l'accélration en sorti,elle sera parfaite,parce que ya que citroen qui peut se venter d'une des meilleure tenu de route contructeur généraliste.
sinon c'est cool !!
:cry: :oops:
je ne comprend pas comment récuperer les données du tag.
je connais GetFirstTag(), mais si on veux pas la premiere ?
et il faut vérifier si on est sur le bon variable tag, aussi...
je ne vois pas trop comment faire, je cherche dans la doc, mais elle n'est pas assez claire pour moi :oops:
y a pas des fonctions comme GetNextTag() ? ou d'autres ou l'on peut pointer avec le nom? je sais pas moi, je ne m'occupe pas encore des tags...
En effet GetFirstTag() donne accèes au premier tag d'un objet (tout à gauche des tags), donc pour accéder aux tags suivants, on fait exactement comme pour les objets d'un même groupe, on utilise GetNext().
donc si tag_1=objet->GetFirstTag();
alors le tag suivant est tag_2=tag_1->GetNext();
pour connaitre le type de tag recherché, il faut à chaque fois examiner son type avec la fonction instanceof(objet_à_contrôler, TYPE), seulement si le tag existe :
var trouve=FALSE;
if (tag_2) //le tag n'est pas NULL
{
// on regarde si le tag est un tag de lissage PhongTag
if (instanceof(tag_2,PhongTag)) trouve=TRUE
}
Plus de détails là dessus : http://www.frenchcinema4d.com/phpBB2/viewtopic.php?p=72314#72314
ok, ça j'y arrive, sauf que j'ai une erreur là :
var prov = new(VariableTag);
Member not found
j'y arrive avec un PhongTag, mais dès que je passe en variabletag, ça marche plus. :o
et ce, en expression coffee ou en node coffee dans un xpresso.
j'ai une erreur ?
il manque un truc super important : une auto-stoppeuse russe en mini-juppe.
sinon joli travail !
il manque un truc super important : une auto-stoppeuse russe en mini-juppe.
sinon joli travail !
pourquoi russe?
pour la fourrure a mon avis .... :lol:
voila un autre petit truc qui pourrait vous plaire...
c'est pas le système de deplacement automobile, mais un système "souple" sans mocca.
j'ai fait ça en réfléchissant au système d'amortisseur.
le fichier (http://fc4d.free.fr/images/souple.zip)
je précise que c'est pas définitif, non plus.
vous pouvez jouer avec les DU "durete" et "inertie".
mais pour ça j'ai aussi besoin d'enregistrer les variable en xpresso, là, je suis obligé d'utiliser des DU de sauvegarde.
Tengaal ??? :oops:
Oui, me revoilà...
Le stockage de variables peut se faire de 2 manières:
- un tag invisible pour mémoriser beaucoup de valeurs (coordonnées...)
- utiliser le container de l'objet pour stocker un petit nombre de paramètres
Le second cas te concerne d'avantage car tu as très peu de valeurs à stocker (1 vecteur et 2 réels), et le stockage dans le container est très proche des données utilisateurs sauf que leur présence est invisible pour l'utilisateur.
Tout objet est associé à un container (un espace de stockage qui contient notamment les paramètres des objets que l'on retrouve dans les attributs), ces paramètres sont accessible par un identifiant unique qui permet de lire leur valeur à un endroit précis du container, cet ID qui est sous forme d'un nom du genre LIGHT_MAIN_TYPE (paramètre "type" d'un objet "Lumière") est en fait un nombre.
On peut donc y stocker nos propres valeurs persos en utilisant pour cela des ID persos et uniques de manière à savoir exactement à quel endroit du container se trouvent nos données. En général, les ID de C4D commencent au nombre 1000, je conseille d'utiliser des ID persos inférieurs à 1000.
ATTENTION: cette pratique n'est pas officielle et par conséquent non documentée, c'est une astuce de développement réservée aux personnes qui ont une expérience du COFFEE, car de mauvaises manipulations peuvent détruire les données officielles d'un objet paramétrable dans le projet.
Voici un exemple d'écriture de donnée persos sur un objet ---------------------------
const var MON_TEXTE=100; // définition des IDs persos
const var MA_VALEUR=101;
main(doc,op)
{
var container=op->GetContainer();
container->SetData(MON_TEXTE,"Voici mon texte."); //on stocke le texte perso
container->SetData(MA_VALEUR,1234); //on stocke la valeur perso
op->SetContainer(container);
}
Voici comment lire les données persos ---------------------------------------------------
const var MON_TEXTE=100; //définition des IDs persos
const var MA_VALEUR=101;
main(doc,op)
{
var container=op->GetContainer();
var texte_perso=container->GetData(MON_TEXTE); //lecture du texte perso
var valeur_perso=container->GetData(MA_VALEUR);// lecture de la donnée perso
}
Ton fichier est excellent Parksto, merci !! Là, ca me démange de me mettre vraiment à la prog. quand je vois ce que vous êtes capables de faire !! :prie:
Angeylus
07/06/2004, 20h14
Je remes se sujet à jour, car je cherche justemetn une expression pour une voiture, mais les liens sont morts. Alors si quelqu'un a dans son HD le fichier, si il pouvait me le passer, sa serait sympa.
@+
Angeylus
09/06/2004, 11h31
Il n'y a toujours personne qui a cette expression???
Car celle de Blazouf, dans les tutoriaux, ne s'applique pas quand on tourne.
Quelqu'un a t il cette expression?
Voila pas de panique.
Voici le fichier de parksto.
http://www.xs4all.nl/~roerend/3d/voiture%20xpresso.c4d
Le tout est parametrable dans les données utilisateur de la trajectoire.
Je ne suis pas encore tout a fait a l'aise avec le fichier donc pour plus de questions j'espère que parksto pourras y répondre
yassine588
21/06/2004, 03h13
kRAPLARSTRO :shock: parakstro :shock: ....c'est un truc de ouf... et le comble c'est que quand je lis l'animation a l'envers la voiture fait demi-tour comme dans la réalité :shock:
:efface: :efface: :efface: :efface: :efface:
Powered by vBulletin® Version 4.2.1 Copyright © 2024 vBulletin Solutions, Inc. Tous droits réservés