See site in english Voir le site en francais
Website skin:
home  download  forum  link  contact

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Author Topic: E.V. NOVA Project - Addon disponible chez mustard !!!  (Read 44911 times)

0 Members and 1 Guest are viewing this topic.

Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #50 - 17 September 2006, 18:39:44
Bon, histoire de vous donner une idée, ça fait une boule de feu grossissant rapidement, et elle part très rapidement.
Grossièrement ça donne ça :




Bien sûr, tout est très fluide et je trouve l'anim vraiment très réaliste ! ;)
Voilà, j'espère que ça vous plaira, je vais travailler sur d'autres effets.



Message modifié ( 17-09-2006 18:41 )


Offline Extincteur

  • Legend
  • ******
  • Posts: 1170
  • Karma: 0
Reply #51 - 17 September 2006, 19:25:30
c'est super bravo ce n'est pas les eaust de base en diametre elever et sans longeur?



Offline Momo

  • Legend
  • ******
  • Posts: 2682
  • Karma: 1
Reply #52 - 17 September 2006, 20:04:15
:applause::applause::applause:
j'aime bien! bon courage pour la suite!


Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #53 - 17 September 2006, 20:51:38
Quote
extincteur a écrit:
c'est super bravo ce n'est pas les eaust de base en diametre elever et sans longeur?


Pour l'instant, oui. C'est une boule quoi ! :) Mais faut que je bosse la texture de surface pour qu ça fasse sympa ! ;)



Offline korben62

  • Hero Member
  • *****
  • Posts: 561
  • Karma: 0
Reply #54 - 18 September 2006, 04:06:54
Ah zut j'etais sur que c'etais la la liberation

comme quoi "errare humanum est"

dis brainstorm , j'etais en train de me demander , en voyant tes explosions , si on pourrais pas bricoler un truc
avec mesland et les tirs. histoire que ça ne reste pas que de belles explosions , tu vois ou je veut en venir!!!!




Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #55 - 18 September 2006, 09:03:30
Quote
korben62 wrote:
Ah zut j'etais sur que c'etais la la liberation

comme quoi "errare humanum est"

dis brainstorm , j'etais en train de me demander , en voyant tes explosions , si on pourrais pas bricoler un truc
avec mesland et les tirs. histoire que ça ne reste pas que de belles explosions , tu vois ou je veut en venir!!!!



:) Carrément, ça peut être fendard ! ;) TJe suppose que tu souhaiterais utiliser Meshland pour l'explosion des vaisseaux ? Ca
pourrait être l'éclate ! ;) Bien sûr, le plus chaud sera je pense la détection d'un thrust au sein d'un vaisseau. Pour
l'instant, j'ai juste créer un thrust qui grossit et se déplace. Mais il n'est pas autonome à proprement parler, dans le sens
où si je tourne le vaisseau en même temps que la boule avance, on voit la boule suivre l'axe du vaisseau alors qu'elle
devrait poursuivre sa direction de départ.
Si ça t'intéresse, je t'envois les sources du vaisseau sur lequel je bosse pour le moment et tu en fais ce que tu en veux ;)
Dis moi si ça t'intéresse et je t'envois ça ce soir ... (A ce moment, si tu peux me filer ton @ email par MP .... :) )
Je trouve ça intéressant de bosser en parallèle sur des effets visuels, ça va être pratique pour nos projets respectifs qui
ont pourtant le même but ! Vu que tu t'éclates comme moi dans le domaine de la science fiction et du futuriste, je pense
qu'on va bien se marrer ! :)



Offline korben62

  • Hero Member
  • *****
  • Posts: 561
  • Karma: 0
Reply #56 - 18 September 2006, 10:53:56
Oui, justement j'y avais reflechis pour le sankukai
utiliser les thruster comme projectiles impose déja une programmation fastidieuse, conserver la direction du tir
l'est encore plus,
Il y a quelque temps( avant le crach de ma machine)  j'avais bossé sur une espéce de torpille à "homing"
J'ai utilisé l'idée pour le SANKUKAI, le largage et l'allumage des thruster se font a partir du SANKUKAI
qui deviennent des projectiles en "fire & forget"
Comment je vois la chose
utiliser meshland.lib pour detecter la collision de la torpille et du vaisseaux
la torpille etant un vaisseaux elle méme, géré comme un attachement du type SRB des STS qu'on ajoute avec un
addmesh. Avec ou sans homing (on pourais en prendre le controle a la maniére d'un maverick)
pour les tir au canon (plus simples en programation car il n'y a pas de homing)
ce sont aussi des mesh du type SRB des STS qu'on ajoute avec un addmesh
Dans les 2 cas les projectiles possédent tous les effets thruster

le plus dur c'est d'intégrer le meshland.lib et une gestion des dommages
et de programmer le homing (un genre d' "autopilot") je vois la chose comme ça
créer un MFD ou l'on choisis une cible et qui declanche le tir de la torpille

Je pense qu'on peut commencer par le plus simple le tir au cannon
je vais avoir besoin des mesh aussi




Offline korben62

  • Hero Member
  • *****
  • Posts: 561
  • Karma: 0
Reply #57 - 18 September 2006, 11:18:14
A partir de la on peut tout immaginer
Pourquoi pas un "energy shield" un mesh semi-transparent entourant le vaisseaux, qui s'allume et  dont l'efficacité
diminue à chaque impact.
J'ai vu un truc dans ce gout la sur un engin qui ressemblait au vaisseaux du "capitaine flam"




Offline Extincteur

  • Legend
  • ******
  • Posts: 1170
  • Karma: 0
Reply #58 - 18 September 2006, 12:31:12
Quote
brainstorm a écrit:
Quote
korben62 wrote:
Ah zut j'etais sur que c'etais la la liberation

comme quoi "errare humanum est"

dis brainstorm , j'etais en train de me demander , en voyant tes explosions , si on pourrais pas bricoler un truc
avec mesland et les tirs. histoire que ça ne reste pas que de belles explosions , tu vois ou je veut en venir!!!!



:) Carrément, ça peut être fendard ! ;) TJe suppose que tu souhaiterais utiliser Meshland pour l'explosion des
vaisseaux ? Ca
pourrait être l'éclate ! ;) Bien sûr, le plus chaud sera je pense la détection d'un thrust au sein d'un vaisseau. Pour
l'instant, j'ai juste créer un thrust qui grossit et se déplace. Mais il n'est pas autonome à proprement parler, dans le
sens
où si je tourne le vaisseau en même temps que la boule avance, on voit la boule suivre l'axe du vaisseau alors qu'elle
devrait poursuivre sa direction de départ.
Si ça t'intéresse, je t'envois les sources du vaisseau sur lequel je bosse pour le moment et tu en fais ce que tu en
veux ;)
Dis moi si ça t'intéresse et je t'envois ça ce soir ... (A ce moment, si tu peux me filer ton @ email par MP .... :) )
Je trouve ça intéressant de bosser en parallèle sur des effets visuels, ça va être pratique pour nos projets respectifs
qui
ont pourtant le même but ! Vu que tu t'éclates comme moi dans le domaine de la science fiction et du futuriste, je
pense
qu'on va bien se marrer ! :)

ce cerait demancielle!! et puit avec omp...



Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #59 - 18 September 2006, 18:06:32
J'avais une idée à ce sujet. Conserver la direction comme objet indépendant est à mon avis impossible pour un thrust. En revanche, la création d'un mesh (même si petit qu'il ne serait pas visible) mais avec des propriétés spécifiques devient gérable
et autonome ! ;)Y'a un truc à soulever la dessous ! Bref, je fais un pack, et je t'envois mes sources dans qqs minutes,
dès que tu es inspiré fais moi signe :)



Message modifié ( 18-09-2006 18:06 )


Offline korben62

  • Hero Member
  • *****
  • Posts: 561
  • Karma: 0
Reply #60 - 18 September 2006, 20:21:04
Ok, je vais pas pouvoir m'en occuper avant ce week end ( à moins que l'idée ne me démange trop..... une nuit
blanche?....... je vois deja comment je vais faire)




Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #61 - 18 September 2006, 20:36:22
Super ! ;) J'ai hate de voir ce que tu es capable d'en faire ! ;) Cava claquer pour les futurs vaisseaux :)



Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #62 - 18 September 2006, 23:13:03
Bon, je suis content, j'ai réussi à intégrer du son avec orbitersoundSDK ! ;) Un tir laser carrément plus réaliste du
coup ;) Je sens que je vais me faire plaisir ! :)



Offline korben62

  • Hero Member
  • *****
  • Posts: 561
  • Karma: 0
Reply #63 - 19 September 2006, 01:07:18
Bon j'ai craqué, j'ai commencé a programmer des rafales de mesh (un cylindre avec juste un thruster main)
en utilisant la methode des SRB d'atlantis "oapicreatevesselex"
mais (mort de rire) a partir de 1000 prunneaux balancés un peu dans toutes les directions,  ca commence a ramer sec
sur mon thurion
y va falloir que je  les detruise quand ils sont a bout de carburant LOL...............




Offline korben62

  • Hero Member
  • *****
  • Posts: 561
  • Karma: 0
Reply #64 - 19 September 2006, 02:44:11
Trouvé la solution ! le probléme c'est que les mesh avaient tous le méme nom, j'ai ajouté un increment
probléme réglé





Voila le code miracle pour balancer une gerbe de prunneaux en fire & forget
pour le vaisseaux modéle class:bullet , j'ai utilisé le code du shuttlePB en l'épurant (avec juste un th_main & en
remplaçant shuttlePB par bullet) et en mettant une zolie texture

c'est encore plus simple que d'utiliser uniquemant des thruster


void monvaisseau::firebullet (void)
{
   VESSELSTATUS2 vs;
   VESSELSTATUS2::FUELSPEC fuel;
   VESSELSTATUS2::THRUSTSPEC thrust;
   memset (&vs, 0, sizeof(vs));
   vs.version = 2;
   GetStatusEx (&vs);
   vs.flag = VS_FUELLIST | VS_THRUSTLIST;
   VECTOR3 ofs = { 1.5, 1.3,6.7};;
   VECTOR3 ofs2 = {-1.5, 1.3,6.7};;
   VECTOR3 rofs, rvel = {vs.rvel.x, vs.rvel.y, vs.rvel.z};
   VECTOR3 vel = {0,-1,0};
   Local2Rel (ofs, vs.rpos);
   GlobalRot (vel, rofs);
   vs.rvel.x = rvel.x+rofs.x;
   vs.rvel.y = rvel.y+rofs.y;
   vs.rvel.z = rvel.z+rofs.z;
   vs.vrot.x = 0.0;
   vs.status = 0;
   char name[256];
   char name2[256];
   char cbuf[256];
   nbr = nbr +1;// increment
   sprintf(cbuf, "%d", nbr);// entier vers chaine de carractére (int nbr)
   strcpy (name, GetName()); strcat (name,  cbuf);//concaténe le nom du vaisseaux plus l'incrément
   oapiCreateVesselEx (name, "bullet", &vs);
   OBJHANDLE hV = oapiGetVesselByName (name);
   VESSEL *v = oapiGetVesselInterface (hV);
   v->SetThrusterGroupLevel (THGROUP_MAIN, 1.0);
   Local2Rel (ofs2, vs.rpos);
   vs.arot.z -= 1.5*PI;
   nbr = nbr +1;
   sprintf(cbuf, "%d", nbr);
   strcpy (name2, GetName()); strcat (name2,  cbuf);
   oapiCreateVesselEx (name2, "bullet", &vs);
   OBJHANDLE hV2 = oapiGetVesselByName (name2);
   VESSEL *v2 = oapiGetVesselInterface (hV2);
   v2->SetThrusterGroupLevel (THGROUP_MAIN, 1.0);
}



faut en core que j'améliore le code du shuttlepb (bullet) pour qu'il s'autodetruise quand il est à bout de carburant
et pis aprés je buche le meshland.lib
et aussi dans celui la les prunneaux ont pour nom monvaisseau1, monvaisseau2............monvaisseauN.
C'est pratique car on pourras savoir qui a touché quoi , mais pas top car si un autre monvaisseau1 existe
ça fiche le bordel.
Bon m'enfin pour une soirée c 'est pas mal deja
m'en va pioncer maintenent




Offline korben62

  • Hero Member
  • *****
  • Posts: 561
  • Karma: 0
Reply #65 - 19 September 2006, 03:08:11
Ah oui

VECTOR3 ofs = { 1.5, 1.3,6.7};;
VECTOR3 ofs2 = {-1.5, 1.3,6.7};;
 
sont les positions de depart des projetiles pour 2 canons

demain, si j'ais le temps, je vais regarder pour mettre un ecran autour de ton vaisseau (genre ecran qui bouffe de
l'energie quand on l'active *ricannement) voir plusieurs avant, arriére , dessus, dessous etc.........




Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #66 - 19 September 2006, 18:17:24
Franchement, c'est mortel !!! ;) J'adoorrreee les boules de feu ! :) Comme je l'ai dit, pour ma part, j'ai trouvé le moyen
d'utiliser orbitersoundSDK pour générer du son quand je veux. Genre, j'ai mis un bang sonique dès le passage du mur
du son (340 m/s) et un effet sonore lors du tir d'un canon, c'est vraiment très simple ! ;)



Offline Momo

  • Legend
  • ******
  • Posts: 2682
  • Karma: 1
Reply #67 - 19 September 2006, 21:21:58
Trop cool!!! sa va donné! bravo pour le concept!


Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #68 - 19 September 2006, 21:44:19
Merki ! ;) La on est parti, on nous arretera pas visiblement ! ;) J'ai réussi à mettre en oeuvre le code dont m'a fait
profiter korben. Franchement, ça rend terrible !! L'avantage, c'est qu'au final, le jour où l'on voudra intégrer un
système de tête chercheuse, ça sera faisable vu qu'un module est créé pour le projectile. Pour l'instant, on
expérimente à nos niveaux mais néanmoins en complète collaboration d'un point de vue technique.
Le seul soucis pour le moment est la destruction du mesh une fois qu'il n'est plus à portée.... j'ai testé 2 ou 3 trucs
mais bon, c'est pas ça, je bosse dessus.... Pour le son, je commence à maitriser, il faut dire qu'il n'y a pas beaucoup
de code à utiliser. L'avantage, c'est que pour une animation, on peut coller le son correspondant.
Un autre exemple, lorsque le vaisseau passe le mur du son en vol atmosphérique, je déclenche un wav qui reproduit
un double bang sonique ! :) Et l'effet est terrible ! ;) Tout devient possible ! ;)



Offline korben62

  • Hero Member
  • *****
  • Posts: 561
  • Karma: 0
Reply #69 - 20 September 2006, 03:08:07
Voila  le code d 'autodestruction à ajouter dans le cpp du vaisseau "bullet"

chaque projectiles est effacé quand son fuelmass atteind 0

void bullet::clbkPostStep (double simt, double simdt, double mjd)
{
char name[256];   
strcpy (name, GetName());
OBJHANDLE hV = oapiGetVesselByName (name);
if (GetFuelMass() == 0)
{   
oapiDeleteVessel(hV);
}

je me demande si plus tard on pourrais pas utiliser ça pour evaluer l'efficacité du projectile.
plus il et loin, moins il est efficace.




Offline korben62

  • Hero Member
  • *****
  • Posts: 561
  • Karma: 0
Reply #70 - 20 September 2006, 03:41:31
ah oui

dans le code de tir, juste aprés chacune des  2 lignes "sprintf(cbuf, "%d", nbr);"
ajouter "strcat (cbuf, "bullet");"

comme ça  strcat (name, cbuf); et strcat (name2, cbuf);
vont produire un nom de projectile de la forme "monvaisseauXbullet" ou X est le numero
de projectileh


Ah de plus, le code de projectile est aussi la solution pour le probléme que tu avais avec hermes;
création de vaisseaux indépendants aprés destruction d'un mesh; et il est beaucoup plus rapide que le code que tu
m'avais donné à tester.




Offline korben62

  • Hero Member
  • *****
  • Posts: 561
  • Karma: 0
Reply #71 - 20 September 2006, 03:53:14
Ah ch....e j'allais oublier, j'ai teste le code sur un  vieil athlon 1700, au dessus de 150 projectiles tirés en une seule
salve.
ça rame de façon ignoble. Il va falloir limiter  les salves a une 20aine de projectiles,puis detecter la destruction
du 20iéme avant d'authoriser la salve suivante, sinon dommage les petites config.




Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #72 - 20 September 2006, 17:59:19
Niquel pour la destruction ! Ca marche impec ! ;) Pour le pb de conflit en cas de 2 vaisseau identiques, j'avais anticipé
ton post ;) Renommage du bullet avec le nomdu vaisseau comme tu l'as dit ! :) Ca a vraiment de la gueule, je pense
que ça plaira aux amateurs d'effets spéciaux ! ;)
Maintenant, je suis tenté par la création d'une tête chercheuse mais là, l'algo risque d'être chaud à trouver ! ;)



Offline korben62

  • Hero Member
  • *****
  • Posts: 561
  • Karma: 0
Reply #73 - 20 September 2006, 22:57:39
oui mais contrairement au reel, il y a plus de facilité car a tout instant on connais avec exactitude la
potition/vitesse/trajectoire de la cible, ce n'est pas un vrai pilote automatique




Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #74 - 20 September 2006, 23:09:47
C'est vrai mais il n'y a pas de source de chaleur utilisable comme pour un vrai missile à tête chercheuse ;)
Quoique comme tu dois le savoir, les "anciens" missiles devaient être guidés par le pilote qui devait garder
continuellement "locké" l'aéronef jusqu'à impact. Donc, ça reste un peu le même principe, sauf que nous, on triche un
peu :D