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: Orbiter War has begun !  (Read 11027 times)

0 Members and 1 Guest are viewing this topic.

Offline korben62

  • Hero Member
  • *****
  • Posts: 561
  • Karma: 0
17 April 2007, 00:10:40
version 2 du bullet dll
(j'ai pas encore mis les explosions Dan ni le hud)
mais le systéme de réaction proportionelle à la masse marche
pour les rotations j'ai mis des random
je continue la programmation pour utiliser le cross section au lieu du size, mais méme comme ça marche trés bien.
sur la vidéo je prend pour cible le sankukai puis l' ISS j'ai un peu exagéré les effets en modérant
le rapport de masses
la vidéo n'est pas de trés bonne qualité (c'est mon 1er essais avec camstudio)

http://www.dailymotion.com/korben62/video/2914959




Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15410
  • Karma: 265
  • Hein, quoi !?
    • FsPassengers
Reply #1 - 17 April 2007, 00:18:08
YESSS :top:

Dan


Offline yoann

  • Legend
  • ******
  • Posts: 1914
  • Country: France fr
  • Karma: 9
Reply #2 - 17 April 2007, 00:21:41
mouai, c'est super top,  c'estune grande avancé pour orbiter, mais pour moi (avi perso) ca s'aparente plus a une
gestion de collision qui fait cruelement defaut a orbiter, notament lors des dock si on arrive trop vite par ex... (au lieu
de passé a travers, et que si on va trop vite ca affiche "game over" ou "crew was killed" ...un truc simpa quoi !!!      )

edit, ouai que donc j'ai pas fini j'ai pas fait gafe...- donc c'est bien en gestion de collision, mais pour moi, tant que ya pas de BOOM, et plein de debri partout (mais qui reste pas trop longtemp, apres ca fait perdre du fps...) et bas que c'est pas marant quoi... (je me fait gamin la :):):)  )



Message modifié ( 17-04-2007 00:25 )

__________________________________
    Luke, je suis ton pere            kchuuu  pchiiiii

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15410
  • Karma: 265
  • Hein, quoi !?
    • FsPassengers
Reply #3 - 17 April 2007, 00:28:48
Ca va venir les booms... :) (je suppose)

Dan


Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 25
  • Criiii Crii Crii
Reply #4 - 17 April 2007, 00:37:36
YES !!! Bravo Korben ! :hot:
Sur ISS, ça ne paraissait pas évident mais sur la première séquence, c'est top !
Brainstorm va être content aussi ... pour de chouettes images de booms jette un oeuil
dans les dossiers du jeu StarWars, elles sont très bien ( pour commencer )


Pic

Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #5 - 17 April 2007, 00:38:30
C'est énorme ! ;) J'vais avoir besoin de ton aide pour mon projet ;) Meshland power ou conception maison ?


Offline korben62

  • Hero Member
  • *****
  • Posts: 561
  • Karma: 0
Reply #6 - 17 April 2007, 01:45:11
Oui c'est ce que je voulais montrer, la réaction est proportionelle au rapport des masses. l'ISS+ DG3 a une masse
plus importante que le sankukai. Et aussi que le dll marche sur n'importe quel vaisseau avec un truc bien plus simple
que meshland
pour les boum , je vais travailler dessus c'est du fignolage


C'est pas vraiment une gestion de collision car en fait l'utilisation du size determine une sphére d'impact autour du
cog d'un vaisseaux , quand le projectile entre dans cette sphére j'applique une réaction au vaisseau cible
donc le systéme n'est pas adapté a un "j'ai raté le dock" la c'est meshland avec un vessel/vessel

Et pis (corrige moi Dan si je dis une connerie) le fps ne tiens pas tant au nb de vaisseaux présent mais pluto a la
complexité de leur mesh, pour les explosions je n'envisage que quelques gros debrits, le reste sera une sphére
texturée en expension




Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15410
  • Karma: 265
  • Hein, quoi !?
    • FsPassengers
Reply #7 - 17 April 2007, 02:02:58
Quote
korben62 a écrit:
Et pis (corrige moi Dan si je dis une connerie) le fps ne tiens pas tant au nb de vaisseaux présent mais pluto a la
complexité de leur mesh, pour les explosions je n'envisage que quelques gros debrits, le reste sera une sphére
texturée en expension

Vé,

Cela dis Orbiter a un probleme, si je fais F9 pour afficher les noms mon framerate prend un méchant coup dans les
dents avec 20 débris. Bon ca tient pas tellement au mesh qu'a l'affichage des textes d'infos.

Pour débris une vingtaine de poly avec une très petite texture par objet et 5-15 debris(voir DGIV) et quelques gros
trucs devraient faire l'affaire. Si ils sont très sombre on vois pas grand chose dans l'espace, peut etre des trucs
incandescent (rouge jaune) ca donnerait mieux ?  En fait chui idiot evidemment que ca donnerais mieux, meme nickel !

Si c'est pour faire des étincelles pourquoi pas simplement 2 poly double face (4) avec une textures ALPHA dessus.
C'est ce que les jeux utilisent ((sauf qu'ils n'ont que deux poly il font toujours face a l'utilisateur)

Désolé de reflechir en meme temps que j'ecris :)

En fait il faudrais 8 poly avec un texture alpha...



Le noir c'est transparent, un losange=2 poly mais il faut les doubler pour avoir les deux faces donc deux losanges =8
poly.

Comme ca il peut "tourner" on le verra toujours (sinon ca fait plat) Dans les jeux ils utilisent le mem principe mais avec
deux poly et en billboard (qui tourne pour rester toujours face a l'utilisateur)

Dan


Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 25
  • Criiii Crii Crii
Reply #8 - 17 April 2007, 02:36:37
Et une séquence d'images comme ça sur un mesh ...
Géré comme un exhaust pour que l'image soit toujours face au spectateur quel
qu'ait été l'angle de ton point d'impact.
Pour reproduire l'effet d'un gif animé avec une expansion légère du mesh entre
l'affichage de chaque image.
Comme des sprites en fait dont la taille serait calculée en fonction de la posiution
dans l'espace en trois dimensions.















Message modifié ( 18-04-2007 05:48 )

Pic

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15410
  • Karma: 265
  • Hein, quoi !?
    • FsPassengers
Reply #9 - 17 April 2007, 02:48:04
Ah ouais un exhaust j'avais pas pensé c'est des billboard en fait... (chui con j'en ai mis pour les strobes du DGII y a
des années ;) )

Donc: un objet avec 9 réacteur a la meme place avec 9 exhaust et une "image" sur chacun, le ship fait 0 poly (j'ai un
mesh comme ca pour qui le veut qui fait pas d'erreur)

Au spawnage le truc allume les réacteurs 1 par 25eme de secondes et voila... (fait deux secondes)
et il s'auto detruit après en ballancant des débris losange en passant (millieu d'anim)

Et comme tu le spawn en mettant la taille dans sont nom tu a des explosion a gogo
avec la taille que tu veux...

(exemple: tu spawn avec le nom "Explo_200" le ship fait GetName au clbkclass cap, recupere le chiffre
apres le "_" (C++ atoi() ) et il sait quel taille il devra avoir d'exhaust) Tout auto, reste plus qu'a le crée au bon
moment.

Dan


Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 25
  • Criiii Crii Crii
Reply #10 - 17 April 2007, 03:02:01
Une question que je me pose, existe t'il des possibilités d'analyser la couleur de chaque pixel présent sur une scène
avec un moteur de rendu 3D et de calculer une nouvelle couleur en superposant à ce pixel celui présent à cette place
sur un fichier que l'on veut afficher .... c'est pas clair mon histoire, mais en quelque sorte afficher un DDS sur une
scène en mode "produit" par exemple à la manière de photoshop...

Ca pourrait rendre de meilleurs effets car la couleur des explosions sensées être semi transparentes serait affectée
par le fond présent ... plus réaliste quoi ...



Message modifié ( 17-04-2007 04:12 )

Pic

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15410
  • Karma: 265
  • Hein, quoi !?
    • FsPassengers
Reply #11 - 17 April 2007, 03:11:50
Quote
picto a écrit:
Une question que je me pose, existe t'il des possibilités d'analyser la couleur de chaque pixel présent sur une scène
avec un moteur de rendu 3D et de calculer une nouvelle couleur en superposant à ce pixel celui présent à cette place
sur un fichier que l'on veut afficher .... c'est pas clair mon histoire ...

Hem... tu veut dire transparent quoi :ptdr:

Ouais mais ca perdrait peut etre un peu en intensité de couleur ?

Dan


Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 25
  • Criiii Crii Crii
Reply #12 - 17 April 2007, 03:15:53
MEUH NON !
Je veux dire produit !!!
Une couleur plus une couleur = une troisième couleur !
Une couleur plus du transparent = une seconde VALEUR ! et non pas une autre couleur ...
même si vous vous appellez ça une couleur parce que définie par trois valeurs numériques ... :pfff:


Pic

Offline Coussini

  • Legend
  • ******
  • Posts: 3275
  • Country: Canada ca
  • Karma: 64
Reply #13 - 17 April 2007, 03:22:08
PICTO C'est un PRO :love:


Coussini "Orbiter lovers"



Que dieu vous éloigne du Covid-19

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15410
  • Karma: 265
  • Hein, quoi !?
    • FsPassengers
Reply #14 - 17 April 2007, 03:22:33
je connais produit j'tuilise pour Skin DGIV.. mais ca donnerais pas bien ca a mon avis...
De toute facon produit pas possible sur les tex Orbiter...

Dan


Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 25
  • Criiii Crii Crii
Reply #15 - 17 April 2007, 04:18:39
Produit c'était un exemple :sad:
Transparent c'est déjà pas mal ... ;)
Mais ça peut poser des problèmes si la texture est à
cheval entre le ciel noir et une planète claire non ?


Pic

Offline korben62

  • Hero Member
  • *****
  • Posts: 561
  • Karma: 0
Reply #16 - 17 April 2007, 10:14:34
Quote
Donc: un objet avec 9 réacteur a la meme place avec 9 exhaust et une "image" sur chacun, le ship fait 0 poly
(j'ai un
mesh comme ca pour qui le veut qui fait pas d'erreur)

Oui comme ça les texture sont déja chargées  

Par contre je comprend pas bien l'utilité d' 3éme mesh puisque j'en ais déja un le bullet

ajouter les 9 exhaust au bullet et utiliser le timstep pour les allumer alternativement
SI je modifie aussi les coordonnées/vitesses du bullet de maniére a ce qu'il reste collé a sa cible
au momment de l'explosion
Ca permet de faire d'une pierre 2 coups le méme systéme créé les explosion a l'impact, ces bullet la sont detruits et
Le bullet coup fatal lui a tout le temps de lire l'etat de sa cible et de modifier les paramétres de son explosion, voir
de recharger de nouvelles textures
Et comme la destruction de la cible oapideletevessel(Vhandle) c'est lui qui la provoque je recopy les
paramétre vitesse/rotation de la cible pour les appliquer au bullet par un defsetstate

se serais bien dans l'optique de ce que je veut obtenir, le bullet DLL fait tout
les explosions intermédiaires
l'explosion finale "ou les"
l'ecriture des etats pour le bullet suivant
la génerations des debrits

J'aime bien ton explosion Picto




Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 25
  • Criiii Crii Crii
Reply #17 - 17 April 2007, 11:54:06
Er ben c'est  kâdô :) .... click droit ... enregistrer sous .... :)


Pic

Offline Extincteur

  • Legend
  • ******
  • Posts: 1170
  • Karma: 0
Reply #18 - 17 April 2007, 14:55:29
on s'entre-tue dans l'espace!mais c'est une grande avance! :lol:



Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 25
  • Criiii Crii Crii
Reply #19 - 17 April 2007, 15:01:37
C'est à ça que l'on reconnait l'Homme civilisé !  :lol:
Que serait'on sans la possibilité de trucider notre prochain n'importe ou ?


Pic

Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #20 - 18 April 2007, 16:26:58
Bientôt, on va dégommer du spit ;) héhé ou du messerschmitt ;) Picto, si ça te dis, je te fais un code au ptit oignons
sur le même principe que le me109, une fois que tout est OPS pour moi ;)


Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 25
  • Criiii Crii Crii
Reply #21 - 18 April 2007, 18:16:59
Oui, c'est bien à ça que je pensais, mais garde le mesh pour tes expériences.
Ca pourrait être un addon évolutif comme ton nova, si d'autres warbirds sont produits plus tard.


Pic

Offline korben62

  • Hero Member
  • *****
  • Posts: 561
  • Karma: 0
Reply #22 - 18 April 2007, 22:58:06
Quote
mon projet  Meshland power ou conception maison ?

C'est quoi ?:wonder:




Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #23 - 18 April 2007, 23:00:45
Autant pour moi, je me suis mal exprimé, je me demandais si tu utilisas toujours mehsland, ou que tu avais fait un
truc à ta sauce ? bref, je suppose que c'est la 2ème réponse ;)


Offline korben62

  • Hero Member
  • *****
  • Posts: 561
  • Karma: 0
Reply #24 - 19 April 2007, 00:08:20
Oui en fait j'ai une autre idée
Comme tu a pu voir  le code du bullet scanne tout les vaisseaux existant pour en extraire le plus proche
par comparaison de leur distance par rapport au bullet
quand cette distance est inferieure ou égale je detruits le bullet
Maintenant j'ai appliqué a la cible une réaction
C'est a dire que j'ajoute à la vitesse initiale de la cible la (vitesse relative cible/projectile) x (masse cible / masse
projectile) x coéfficient modérateur(pour la simulation).
Comme ça l'effet est différent selon le sens de déplacement de la cible

vs.rvel.x = vs.rvel.x +(VTRel.x*RapportMasse*0.7);
vs.rvel.y = vs.rvel.y +(VTRel.y*RapportMasse*0.7);
vs.rvel.z = vs.rvel.z +(VTRel.z*RapportMasse*0.7);

Ce qui est rigolo c'est que si j'injecte le méme calcule au bullet en remplaçant les + par des - & en inversant le
rapport des masse
les deux engins se ......repoussent

dans l'exemple pour la rotation j'ai utilisé des nombres aléatoires

Mais je travaille sur une autre solution, je récupére cette fois les coordonnées relative du projectile
dans le repére de la cible de maniére a calculer la vitesse angulaire selon les 3 axes

par simple produit vectoriel vitesse linéaire (m/s) = vitesse angulaire(rad/s) x distance projetée à l'axe (m)

pour la distance projetée a l'axe, je vais utiliser les vitesse relatives pour eviter de calculer les angles , et donc des
distances ortogonales

donc le calcul sera du méme type
vrad.x = (VTRel.x / rpos.x)
vrad.x = (VTRel.x / rpos.x)
vrad.x = (VTRel.x / rpos.x)

vs.vrot.x =  vs.vrot.x + (vrad.x * RapportMasse)
vs.vrot.y =  vs.vrot.y + (vrad.y * RapportMasse)
vs.vrot.z =  vs.vrot.z + (vrad.z * RapportMasse)