Boutique Cinema 4D
Affichage des résultats 1 à 23 sur 23

Discussion: A propos du tutorial 3dattack de septembre

  1. #1
    Pilier Avatar de padawa
    Date d'inscription
    janvier 2003
    C4D version
    R9.5/9.6
    OS
    Windows Vista 32bits
    Messages
    1 403

    A propos du tutorial 3dattack de septembre

    Salut,
    me revoila, toujours a la conquete du coffee :poucehaut:

    Je viens de faire le tutorail de 3dattack de septembre (tut n°2)
    Voici le code que j'ai un peu arrangé a ma sauce notamment dans les nom des variables et la création du sol, bref

    Code:
    main(doc,le_pantin)
    {
    var le_sol = doc->FindObject("Sol");
    if(!le_sol){
    	le_sol = new(FloorObject);
    	doc->InsertObject(le_sol,NULL,NULL) ;
    }
    
    var pantin_pos = le_pantin->GetPosition();
    var sol_pos = le_sol->GetPosition();
    println("Sol Y: " + tostring(sol_pos.y));
    println("Pantin Y: " + tostring(pantin_pos.y));
    
    var pantin_container = le_pantin->GetContainer();
    var drop_speed = pantin_container->GetFloat(10000001);
    println("Drop Speed: " + tostring(drop_speed));
    
    var hauteur = pantin_container->GetFloat( PRIM_FIGURE_HEIGHT);
    var demi_hauteur = hauteur/2;
    var bas_y = pantin_pos.y - demi_hauteur - drop_speed;
    
    if&#40;bas_y <= sol_pos.y&#41;&#123;
    	le_pantin->SetPosition&#40; vector&#40; pantin_pos.x, sol_pos.y+demi_hauteur, pantin_pos.z&#41;&#41;;
    	drop_speed = 0;
    	&#125;
    else&#123;
    	le_pantin->SetPosition&#40; vector&#40; pantin_pos.x, sol_pos.y-drop_speed, pantin_pos.z&#41;&#41;;
    	drop_speed = drop_speed + 2;
    	&#125;
    pantin_container->SetData&#40;1000001, drop_speed&#41;;
    le_pantin->SetContainer&#40; pantin_container&#41;;
    	
    &#125;
    Je voudrait juste savoir a quoi sert exactement la variable "drop_speed"?
    Car si on la supprime cela marche et meme mieux, car comme ca le rafraichissement n'est pas net.
    J'arrive pas a comprendre l'explication donné dans le tut

    Voila c'est tout pour le moment :mrgreen:
    La vitesse de la lumière étant supérieure à celle du son, il est donc normal que beaucoup de gens paraissent brillants...
    jusqu'à ce qu'ils ouvrent leur gueule.
    -------------------------------------------------------------------------------------
    Cinema 4D 9.6 - Advanced Render 2.5 - Sketch & Toon - Maxwell Render
    Intel Core 2 Quad Q8300 | 8Go DDR2 | Nvidia 430GT

  2. #2
    Pilier
    Date d'inscription
    juillet 2002
    C4D version
    R13 Visualize
    OS
    Win7 64bits
    Messages
    861

    A propos du tutorial 3dattack de septembre

    idem, il me semble que ce paramettre ne sert qu'à rendre la chutte sequentielle, mais cela n'aurait un interet que pour animer la scene, ce qui n'est pas le cas ici... sans ca je ne vois pas... je l'ai donc enlevé aussi...
    Tout le monde savait que c'était impossible, est venu un con qui ne le savait pas et qui l'a fait!
    MarcelPagnol

  3. #3
    Pilier Avatar de padawa
    Date d'inscription
    janvier 2003
    C4D version
    R9.5/9.6
    OS
    Windows Vista 32bits
    Messages
    1 403

    A propos du tutorial 3dattack de septembre

    C'est ce que je me disais aussi (enfin moi je me disais que c'était en rapport avec l'anim pas avec le truc séquencielle :mrgreen: )
    parceque a la fin y dit que si tu met le drop_speed=-40 et que tu lance l'anim, ca doit faire trampoline :o mais moi j'ai rienqui se passe.
    La vitesse de la lumière étant supérieure à celle du son, il est donc normal que beaucoup de gens paraissent brillants...
    jusqu'à ce qu'ils ouvrent leur gueule.
    -------------------------------------------------------------------------------------
    Cinema 4D 9.6 - Advanced Render 2.5 - Sketch & Toon - Maxwell Render
    Intel Core 2 Quad Q8300 | 8Go DDR2 | Nvidia 430GT

  4. #4
    Dépendant
    Date d'inscription
    janvier 2003
    C4D version
    R14 Prime
    Messages
    449

    A propos du tutorial 3dattack de septembre

    je pense que cette ligne n'a rien a faire ici :

    var drop_speed = pantin_container->GetFloat(10000001);


    c'est plutôt

    var drop_speed = pantin_container->GetData(10000001);

    est ce qu'il existe ton ID (10000001) dans le container de ton objet.

  5. #5
    Pilier Avatar de padawa
    Date d'inscription
    janvier 2003
    C4D version
    R9.5/9.6
    OS
    Windows Vista 32bits
    Messages
    1 403

    A propos du tutorial 3dattack de septembre

    Non c'est bien ce qui est notez dans le tut :?
    je te marque le commentaire
    Pull out the data we store there for the drop_speed.
    The drop_speed will be 0 at first.
    That's ok. The value is placed into the data container later in the script.
    D'ou, je pense, le
    Code:
    pantin_container->SetData&#40;1000001, drop_speed&#41;; 
    le_pantin->SetContainer&#40; pantin_container&#41;;
    à la fin.
    Mais a quoi ca sert en fait :o
    La vitesse de la lumière étant supérieure à celle du son, il est donc normal que beaucoup de gens paraissent brillants...
    jusqu'à ce qu'ils ouvrent leur gueule.
    -------------------------------------------------------------------------------------
    Cinema 4D 9.6 - Advanced Render 2.5 - Sketch & Toon - Maxwell Render
    Intel Core 2 Quad Q8300 | 8Go DDR2 | Nvidia 430GT

  6. #6
    Dépendant
    Date d'inscription
    janvier 2003
    C4D version
    R14 Prime
    Messages
    449

    A propos du tutorial 3dattack de septembre

    Déjà il y a un problème d’ID, je m’explique :

    Au début du script on prend la valeur drop_speed du container avec l’id 10000001
    Et on la stocke avec l’id 1000001, regarde bien ce n’est pas le même ID il y a un zero en plus.



    jettes un œil ici :
    http://www.frenchcinema4d.com/phpBB2...pic.php?t=6548

    .

  7. #7
    Pilier Avatar de padawa
    Date d'inscription
    janvier 2003
    C4D version
    R9.5/9.6
    OS
    Windows Vista 32bits
    Messages
    1 403

    A propos du tutorial 3dattack de septembre

    Oups :oops:
    Je suis vraiment désolé Majoul, mais la c'est moi qui est fait une erreur de frappe (mille excuses :prie: , je sais combien c'est compliqué, alors si en plus je rajoute de faute :poucebas: )
    l'ID est bien 1000001 partout.
    Du coup la ca marche et effectivement avec drop_speed = -40 le pantin fait du trampoline lors squ'on lance l'anim :poucehaut:
    Par contre si je reviens sur l'utilité de cette variable si j'ai bien compris
    ca sert a accéder directement a certaine valeur du container, un peu comme pour les flag que l'on peu appelé par un numéro.
    Est ce que j'ai bien compris?
    La vitesse de la lumière étant supérieure à celle du son, il est donc normal que beaucoup de gens paraissent brillants...
    jusqu'à ce qu'ils ouvrent leur gueule.
    -------------------------------------------------------------------------------------
    Cinema 4D 9.6 - Advanced Render 2.5 - Sketch & Toon - Maxwell Render
    Intel Core 2 Quad Q8300 | 8Go DDR2 | Nvidia 430GT

  8. #8
    Dépendant
    Date d'inscription
    janvier 2003
    C4D version
    R14 Prime
    Messages
    449

    A propos du tutorial 3dattack de septembre

    Est ce que tu as jeté un œil au lien que je t’ais mis dans mon message précédent.
    Tu trouveras une réponse à ta question.

  9. #9
    Pilier Avatar de padawa
    Date d'inscription
    janvier 2003
    C4D version
    R9.5/9.6
    OS
    Windows Vista 32bits
    Messages
    1 403

    A propos du tutorial 3dattack de septembre

    Ben ecoute apres avoir relu le code, ton exemple, le tut, la seule chose que j'en déduit c'est que le drop_speed remplace les commandes de modifications de l'objet. En fait c'est une copie du container de l'objet, donc de tout ces parametre :?
    Donc dans l'exemple du pantin si celui ci est au dessous du sol on le positionne par le calcul, sinon
    le drop_speed étant placé en position du Y dans le vecteur, il récupère la position originale du pantin en Y grace a son ID de container, puisque que le container est défini a la fin.
    Le drop_speed peut etre résumé en "dernier parametre connu"

    Voila si c'est pas ca je t'avou que j'ai plu de solution :cry2:
    La vitesse de la lumière étant supérieure à celle du son, il est donc normal que beaucoup de gens paraissent brillants...
    jusqu'à ce qu'ils ouvrent leur gueule.
    -------------------------------------------------------------------------------------
    Cinema 4D 9.6 - Advanced Render 2.5 - Sketch & Toon - Maxwell Render
    Intel Core 2 Quad Q8300 | 8Go DDR2 | Nvidia 430GT

  10. #10
    Invité
    Date d'inscription
    juin 2002
    C4D version
    R16 Studio
    OS
    Win 7 Pro
    Messages
    4 252

    A propos du tutorial 3dattack de septembre

    en utilisant
    Citation Envoyé par padawa
    Ben ecoute apres avoir relu le code, ton exemple, le tut, la seule chose que j'en déduit c'est que le drop_speed remplace les commandes de modifications de l'objet. En fait c'est une copie du container de l'objet, donc de tout ces parametre :?
    Pas du tout ! :mrgreen:
    Je viens de tomber sur ton sujet Padawa, seulement aujourd'hui... :oops:

    drop_speed est une valeur personnelle du programmeur.
    Elle est est ici utilisée en "bricolage" pour compenser la vitesse de changement de taille du pantin, et donc de sa position (taille/2)
    Cette valeur est stockée directement dans le container de l'objet primitif "Pantin" par question de commodité car il faut pouvoir lire la valeur de l'image précédente pour la recalculer à l'image actuelle.
    Un container est un espace de stockage qui contient notamment les paramètres des objets de C4D.
    Ces paramètres sont accessibles en lecture/écriture, on les localise par un pointeur appelé ID qui est une valeur précise.
    Chaque paramètre est donc localisé par un ID unique.
    Dans le SDK du Coffee ces valeurs ID sont identifiées en texte pour plus de facilité, par exemple pour un objet "Caméra", le paramètre de focale se trouve dans le container à l'ID CAMERAOBJECT_FOCUS.

    Dans le tut auquel tu fais référence, le programmeur utilise un ID personnel 1000001 afin de stocker puis relire sa donnée "drop_speed".


    IMPORTANT:
    Il faut faire extrêmement attention avec cette pratique du stockage dans le container des objets car si par hasard vous utilisez un ID perso qui est en fait le même ID qu'un des paramètres standards de l'objet, vous risquez de faire quelques dégâts, et même planter purement et simplement C4D, si par exemple vous stockez une valeur de type Float en écrasant un paramètre de l'objet qui est de type différent (Bool, texte...). Il n'y a pas de documentation officielle qui liste les ID à ne pas utiliser...
    Il est bien sûr possible de connaitre la valeur des ID officiel avec "println(NOM_IDENTIFIANT);" et de le lire dans la fenêtre console, mais le COFFEE étant arrêté sur les fonctions de C4D 6, les nouvelles fonctions supplémentaires de C4D 7 et 8 utilisent des ID supplémentaires et non documentés, donc prudence...

  11. #11
    Pilier Avatar de padawa
    Date d'inscription
    janvier 2003
    C4D version
    R9.5/9.6
    OS
    Windows Vista 32bits
    Messages
    1 403

    A propos du tutorial 3dattack de septembre

    Ok, merci Tengaal, pas la peine de le dire 2 fois :mrgreen:

    Non sans rire, c'est donc en fait ce que j'expliqué tres mal, un genre de container temporaire. Vu qu'il faut pouvoir accéder a la valeur précédente du container, il la stocke dans ce container temporaire, car sinon la valeur du container originel serait remplacé :o (j'espere que vous m'avez suivi :mrgreen: )
    Bref, vu le niveau de complexité de ce type d'utilisation, je crois que c'est réservé a un niveau plus élevé :cry: et dans l'immédiat je vais m'en passé. :poucehaut:
    Par contre est ce qu'il n'aurait pas pu stocker une valeur simple dans une variable?
    La vitesse de la lumière étant supérieure à celle du son, il est donc normal que beaucoup de gens paraissent brillants...
    jusqu'à ce qu'ils ouvrent leur gueule.
    -------------------------------------------------------------------------------------
    Cinema 4D 9.6 - Advanced Render 2.5 - Sketch & Toon - Maxwell Render
    Intel Core 2 Quad Q8300 | 8Go DDR2 | Nvidia 430GT

  12. #12
    Invité
    Date d'inscription
    juin 2002
    C4D version
    R16 Studio
    OS
    Win 7 Pro
    Messages
    4 252

    A propos du tutorial 3dattack de septembre

    Oups, double message, je me suis dons auto-supprimé ! :mrgreen:

    La valeur "drop-speed" n'EST PAS un container, c'est une valeur (ou un paramètre perso).

    Un container est un espace de stockage qui contient plusieurs valeurs (paramètres). Donc tu ne peux pas remplacer un container comme tu l'expliques, car cela voudrait dire que tu remplaces tous les paramètres de l'objet...

  13. #13
    Pilier Avatar de padawa
    Date d'inscription
    janvier 2003
    C4D version
    R9.5/9.6
    OS
    Windows Vista 32bits
    Messages
    1 403

    A propos du tutorial 3dattack de septembre

    Bon je crois que je vais mettre ca de coté pour le moment car si c'est une valeur, pourquoi ne pas avoir fait une variable toute simple :shock:

    Bref te prend pas la tete, je pense que le declic viendra au fur et a mesure de mon apprentissage, la je suis encore trop c.. :mrgreen:

    Merci quand meme :poucehaut:
    La vitesse de la lumière étant supérieure à celle du son, il est donc normal que beaucoup de gens paraissent brillants...
    jusqu'à ce qu'ils ouvrent leur gueule.
    -------------------------------------------------------------------------------------
    Cinema 4D 9.6 - Advanced Render 2.5 - Sketch & Toon - Maxwell Render
    Intel Core 2 Quad Q8300 | 8Go DDR2 | Nvidia 430GT

  14. #14
    Invité
    Date d'inscription
    juin 2002
    C4D version
    R16 Studio
    OS
    Win 7 Pro
    Messages
    4 252

    A propos du tutorial 3dattack de septembre

    Heu Padawa, une variable c'est une valeur de toute manière...

    Si il la stocke c'est simplement que dans un script la valeur n'existe qu'à l'instant où le script est exécuté, c'est à dire à chaque image ou à chaque rafraichissement de la scène. Donc il la stocke dans un endroit fixe : le container de l'objet.

    Bon, je te conseille de commencer par le commencement car il te faut un minimum de connaissances sur le fonctionnement du COFFEE dans C4D et également sur la manière dont C4D est géré en interne... :wink:

  15. #15
    Dépendant
    Date d'inscription
    janvier 2003
    C4D version
    R14 Prime
    Messages
    449

    A propos du tutorial 3dattack de septembre

    Citation Envoyé par Tengaal
    mais le COFFEE étant arrêté sur les fonctions de C4D 6, les nouvelles fonctions supplémentaires de C4D 7 et 8 utilisent des ID supplémentaires et non documentés, donc prudence...
    Mais cela n’empêche pas de les connaître même s’ils ne sont pas documentés.
    Un container qui contient par exemple 11 paramètres, ces paramètres sont indexer de l’index 0 à 10, si on ajoute un nouveau paramètre au container il prendra automatiquement l’index 11.
    Par exemple un objet matériaux dans la v8.2 contient 87 index et dans la v9 108 index, ou encore les paramètres des lumières etc.…
    C’était juste pour dire qu’on arrive toujours a accédé à certaines nouveautés avec la fonction GetIndexId(index) pour connaître l’ID du paramètre, même s’il n’est pas documenté, on peut se servir de l’Id pour programmer ou pour éviter de modifier le type de la valeur.

    .

  16. #16
    Invité
    Date d'inscription
    juin 2002
    C4D version
    R16 Studio
    OS
    Win 7 Pro
    Messages
    4 252

    A propos du tutorial 3dattack de septembre

    Oui, d'accord, mais il faut de toute façon vérifier si l'ID que l'on souhaite utiliser n'est pas un ID déjà utilisé en interne par C4D, c'est pour ça que je dis "non documentée".
    Et puis il ne faut pas oublier le cas où le script est utilisé sur des versions différentes de C4D, entre différentes versions, certains paramètres ont disparus d'autres sont apparus, et cela avec des ID différents. Ce qui signifie concrètement que tu peux très bien utiliser un ID "libre" qui fonctionne avec C4D 6, et qui va écraser un paramètre sous C4D 7.xx ou 8.xx...
    Là encore, c'est le soucis de ne pas avoir de documentation officielle...

    Sinon on peut se faire ses propres listing d'ID en fouinant dans C4D en bricolant des traceurs en COFFEE pour en sortir notamment les points d'accès vers les fonctions de C4D 7 et 8 que la doc COFFEE actuelle ne mentionne pas. J'ai recours à ce genre de truc pour passer la compatibilité d'un plug codé en Coffee d'une version 7 vers une version 8 par exemple.

  17. #17
    Pilier Avatar de padawa
    Date d'inscription
    janvier 2003
    C4D version
    R9.5/9.6
    OS
    Windows Vista 32bits
    Messages
    1 403

    A propos du tutorial 3dattack de septembre

    Attend un peu, j'ai p'tetre un nouveau flash. :o

    En fait, le drop_speed est la pour démontrer que l'on peut rajouter une entrée dans un container. Donc au lieu d'accéder a la valeur Y du container, on accede au drop_speed qui, dans cet exemple a la meme utilité-valeur :shock:

    Bon allez dites moi ou j'ai faux, encore une fois :cry2:
    La vitesse de la lumière étant supérieure à celle du son, il est donc normal que beaucoup de gens paraissent brillants...
    jusqu'à ce qu'ils ouvrent leur gueule.
    -------------------------------------------------------------------------------------
    Cinema 4D 9.6 - Advanced Render 2.5 - Sketch & Toon - Maxwell Render
    Intel Core 2 Quad Q8300 | 8Go DDR2 | Nvidia 430GT

  18. #18
    Pilier Avatar de padawa
    Date d'inscription
    janvier 2003
    C4D version
    R9.5/9.6
    OS
    Windows Vista 32bits
    Messages
    1 403

    A propos du tutorial 3dattack de septembre

    D'ailleur,
    dans son commentaire il dit que maxon recommande d'utiliser un id de la sorte (1000001) pour eviter les conflits et que dans le cas d'un usage commercial, il faut demander cet id a maxon directement :wink:
    La vitesse de la lumière étant supérieure à celle du son, il est donc normal que beaucoup de gens paraissent brillants...
    jusqu'à ce qu'ils ouvrent leur gueule.
    -------------------------------------------------------------------------------------
    Cinema 4D 9.6 - Advanced Render 2.5 - Sketch & Toon - Maxwell Render
    Intel Core 2 Quad Q8300 | 8Go DDR2 | Nvidia 430GT

  19. #19
    Invité
    Date d'inscription
    juin 2002
    C4D version
    R16 Studio
    OS
    Win 7 Pro
    Messages
    4 252

    A propos du tutorial 3dattack de septembre

    Tu mélanges plein de trucs Padawa...

    Dans le tut il est expliqué que pour stocker une valeur dans un container il faut utiliser un ID unique (par exemple 1000001, CE N'EST QU'UN EXEMPLE).

    Ensuite, en ce qui concerne les ID à obtenir par le site de développement de Maxon, cela concerne essentiellement les ID qui identifient un plugin que tu réalises, pour ne pas qu'il entre en conflit avec d'autres plugins existants. Chaque plugin C4D doit avoir son ID propre.
    Quand on développe un plugin chez soit, on peut se contenter d'utiliser un ID personnel dans la gamme d'ID de développement indiqué par Maxon, mais à partir du moment où le plugin est diffusé, il faut qu'il dispose d'un ID unique fournit par Maxon.

  20. #20
    Dépendant
    Date d'inscription
    janvier 2003
    C4D version
    R14 Prime
    Messages
    449

    A propos du tutorial 3dattack de septembre

    Padawa si tu commence par un petit exercice simple en manipulant une primitive C4d comme j’ai commencé avec la primitive Tube pour en faire une tuile paramétrique. Tu verras que les choses deviendront dans le temps plus claire dans ta tête. Il n’y a pas de secret, il faut commencer par planter C4D plusieurs fois :mrgreen: pour y arriver comme tout le monde et on est là pour te filer une aide au besoin.

    Cherche une idée et attaque.
    .

  21. #21
    Pilier Avatar de padawa
    Date d'inscription
    janvier 2003
    C4D version
    R9.5/9.6
    OS
    Windows Vista 32bits
    Messages
    1 403

    A propos du tutorial 3dattack de septembre

    Merci les gars :wink:

    C'est exactement ce que je suis en train de faire, mais ce truc m'as brouillé les idées car ca fait partie du tut n°2 seulement et pour une manipulation toute simple :o

    Je vais laissé ca de coté :mrgreen:
    La vitesse de la lumière étant supérieure à celle du son, il est donc normal que beaucoup de gens paraissent brillants...
    jusqu'à ce qu'ils ouvrent leur gueule.
    -------------------------------------------------------------------------------------
    Cinema 4D 9.6 - Advanced Render 2.5 - Sketch & Toon - Maxwell Render
    Intel Core 2 Quad Q8300 | 8Go DDR2 | Nvidia 430GT

  22. #22

    A propos du tutorial 3dattack de septembre

    Salut les gars

    Trés bien exemple padawa! :poucehaut:
    Est-ce que je peux corriger deux lignes de code?

    Code:
       le_sol = new&#40;FloorObject&#41;; if&#40;!le_sol&#41; return;
    &#91;...&#93;
    
    var pantin_container = le_pantin->GetContainer&#40;&#41;;  if&#40;!pantin_container&#41; return;
    &#91;...&#93;
    Je sais pas pourquoi, mais les francais jamais revisent ses pointers.

    Katachi
    Plugindesign & Graphic Design

  23. #23
    Pilier Avatar de padawa
    Date d'inscription
    janvier 2003
    C4D version
    R9.5/9.6
    OS
    Windows Vista 32bits
    Messages
    1 403

    A propos du tutorial 3dattack de septembre

    Il faut dire "anglais" Designer :mrgreen:
    Car c'est un code que j'ai repris dans le 3D attack :wink:

    Mais merci de cette precision.
    :poucehaut:
    La vitesse de la lumière étant supérieure à celle du son, il est donc normal que beaucoup de gens paraissent brillants...
    jusqu'à ce qu'ils ouvrent leur gueule.
    -------------------------------------------------------------------------------------
    Cinema 4D 9.6 - Advanced Render 2.5 - Sketch & Toon - Maxwell Render
    Intel Core 2 Quad Q8300 | 8Go DDR2 | Nvidia 430GT

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
  •  
Mediaworks - Logiciels 3D | Design Internet - Creation site internet