Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1509 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [3DS MAX 5] syst de particule + deflecteurs

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[3DS MAX 5] syst de particule + deflecteurs

n°341252
chrisbk
-
Posté le 24-03-2003 à 12:22:15  profilanswer
 

(bon, je pense pas que ca soit le meilleur forum pour ca, mais bon, sait-on jamais... Bjone, t la ? :D)
 
Mes déboires ont commencé quand j'ai refait un système de particule pour 3ds max 5. En m'appuyant sur les samples fournis avec le maxsdk, j'ai pas eu de pb a faire mon systeme (dérivant de SimpleParticle). Les emmerdes ont commencés avec les déflecteurs. Les déflecteurs de max, appelé par le truchement de CollisionObject::CheckCollision se comportent d'une manière rendant mon systeme instable. Partant de la j'avais deux solutions : soit je refais des deflecteurs spéciaux, avec une méthodeCollisionObject::CheckCollision correspondant exactement a mes besoins. Soit je continue a utiliser ceux de max, sauf que les calculs de collision seront fait par le système. Les avantages sont moultes : pas besoin de se trimbaler force plug-in, pas besoin de réecrire lesdits plug in (ca c un sacré avantage). Bref, je me décida pour cette stratégie. Le drame survint lors de la surcharge de SimpleParticle::ApplyCollisionObject.
 
Tout d'abord quelque soit ce que je retourne (TRUE,FALSE) max me fait la liaison entre le déflecteur et mon systeme. Ce qui est crétin. (en suivant le code asm on s'apercoit que max ne teste meme pas le retour de fonction il ecrase EAX dans la joie et la bonne humeur a peine la fonction finie, ca vaut le coup de se prendre la tête...). Par ailleurs, il semble que max appelle cette fonction un peu n'importe comment (si on ajoute un Deflecteur, il renvoie toute la liste au lieu d'envoyer seulement le dernier. Et je n'ai pas l'impression qu'il appelle une fonction avant pour prevenir de ses magouilles...). Mais le pb n'est pas la, le pb est que CollisionObject permet seulement de recuperer un pointeur vers un Object. C'est pas mal, ca permet de recuperer  les paramBlock, mais pas la matrice de transformation. Et visiblement, y'a pas moyen de passer de Object a INode (etant donné qu'un Object peut etre reference par plusieurs INode, meme la méthode gorine "cherche dans tous les nodes celui qui reference l'objet" ne marche pas. Bref, je suis face a un mur. Une idée ou vais-je devoir me rabattre sur la solution 1 ?

mood
Publicité
Posté le 24-03-2003 à 12:22:15  profilanswer
 

n°342450
bjone
Insert booze to continue
Posté le 25-03-2003 à 13:12:25  profilanswer
 

oulà malheureux je suis pas à ce niveau là moa !!!! (je débutes comparé à toé)
si je regardes la doc du sdk sur ces fonctions comme ça je me coucherai moins bête :D

n°342457
chrisbk
-
Posté le 25-03-2003 à 13:21:48  profilanswer
 

BJOne a écrit :

oulà malheureux je suis pas à ce niveau là moa !!!! (je débutes comparé à toé)
si je regardes la doc du sdk sur ces fonctions comme ça je me coucherai moins bête :D


 
N'ayez crainte mon cher, mon precedent post est principalement de la poudre aux yeux, personneleemt j'asperge toujours mon pc d'eau benite avant de faire un plug in max :D

n°342549
bjone
Insert booze to continue
Posté le 25-03-2003 à 14:32:09  profilanswer
 

pour le ApplyCollisionObject, j'ai ça dans le SDK:
 

Code :
  1. Prototype:
  2. virtual BOOL ApplyCollisionObject(CollisionObject *co)=0;
  3. Remarks:
  4. Implemented by the Plug-In.
  5. This method is called to add the collision object passed to the list of collision objects operating on this particle system.
  6. Parameters:
  7. CollisionObject *co
  8. Points to an instance of a collision object.
  9. Return Value:
  10. If a particle does not support this method it should return FALSE; otherwise return TRUE.
  11. Sample Code:
  12. BOOL SimpleParticle::ApplyCollisionObject(CollisionObject *co) {
  13. cobjs.Append(1,&co);
  14. return TRUE;
  15. }


 
donc bizarrement fo faire FALSE quand la méthode n'est pas applicable ?

n°342553
chrisbk
-
Posté le 25-03-2003 à 14:33:41  profilanswer
 

vi c ce que je fais, mais Max a l'air de s'en foutre :heink:
 
Et si tu continues tes recherches tu verras qu'il ne semble pas possible de retomber sur le node ayant emis le CollisionObject (surtout ca mon gros pb)

n°347918
chrisbk
-
Posté le 31-03-2003 à 09:04:09  profilanswer
 

je suis un gros blaireau [:dawa]
 
En fait, lors du rendu de mon systeme de particules, max me refile un ptr vers la node de mon systeme. Ensuite il suffit d'utiliser la doc http://www.alrj.org/docs/3D/docmax.html ecrite y'a plus d'un an par un mec super cool mega delire, mais franchement un peu con sur les bords [:dawa] :pfff:
 

n°348110
bjone
Insert booze to continue
Posté le 31-03-2003 à 12:02:37  profilanswer
 

:lol:

n°348113
bjone
Insert booze to continue
Posté le 31-03-2003 à 12:05:02  profilanswer
 

tsé moi j'en suis toujours qu'a l'export et ça va faire des mois que j'y ai pas touché... :(

n°348118
chrisbk
-
Posté le 31-03-2003 à 12:08:19  profilanswer
 

BJOne a écrit :

tsé moi j'en suis toujours qu'a l'export et ça va faire des mois que j'y ai pas touché... :(


 
oué ben perso je serais pas supris que Max soit responsable de 43% des cas d'alcoolisme chez les codeux [:dawa]
 
genre g passe une heure (!!) a comprendre pourquoi mon systeme de particule etait tout moche au rendu. (lumiere calculee n'importe comment)
 
conclusion : J'avais tout mis dans le smoothing group de 0, alors qu'il fallait mettre dans le 1 [:kunks]
 
 
(et pour mon truc je crois qu'il va quand meme falloir que je reecrive les plugs, et pour les modifiers je t'explique pas l'odieux bordel que c'est)
 

n°348164
bjone
Insert booze to continue
Posté le 31-03-2003 à 13:21:26  profilanswer
 

:lol:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [3DS MAX 5] syst de particule + deflecteurs

 

Sujets relatifs
[JAVA][OpenGL][3DS] Animation d'obj[SQL]Preference MAX(id) ou Table
[Linux prog syst] Exception à traiter dans une autre stack[MySQL] Ch'ais pas où caser mon MAX()
[Php/MySQL] - SELECT MAX(.. et GROUP BY, ca va pas :( [RESOLU!!!][Linux] Utiliser les montages de VFS, creer un syst de fichier
SELECT champs2 FROM tbl WHERE champs1='MAX(champs1)'... problème ![Format de fichiers] 3DS, OBJ...
[opengl / 3DS max ][ASP et SQL] Probléme pour récupérer la valeur de la fonction sql MAX
Plus de sujets relatifs à : [3DS MAX 5] syst de particule + deflecteurs


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)