Work In Progress : alouatta Concours 3DVF - Les Univers de Jules Verne : jc et 29 utilisateurs inconnus Aego Obi Wan | Reprise du message précédent : Héhé, merci
Bon, après experience avec d'autres prog là , je maintiens que c'est une categorie ou y'a réellement un paquet de gens pas très sympas/ cooperatifs/ comprehensifs, comme vous voulez
Heureusement qu'on se conduit pas comme ça avec les mecs qui ont des probs en 3D nous ( d'autant plus que sur Max ou Maya, y'a une doc et des tutos plein le net, avec VB.Net, demmerde toi, surtout quand tu sais même pas comment s'appelle la fonction )
Bon, je pose une tite question ici alors, si y'en a des plus sympas dans la comunauté :
Imaginons que je veuille jouer un son : je dois déclarer ma fonction, puis l'appeler plus loin d'après ce que j'ai pigé ( c'est pas du VB en fait, mais du VB.Net, j'ai cru piger que c'étais assez different...)
J'ai tenté cette forme là :
Private Declare Function mciExecute Lib "winmm.dll" Alias "mciExecute" (ByVal lpszName As String) As Long
Public Sub Jouer(Fichier as string)
mciExecute("play " & Fichier)
End Sub
Et plus loins j'ai ça :
If infos.Hit andalso infos.Object.Name = "Cible05" Then
Cible05.setAnimationRange(0, 20) ' on determine le range
Cible05.loopAnimation = false ' on dit que ça ne boucle pas
Cible05.AnimationActualKey = 0 ' on remet l'anim à la frame 0
Cible05.animated = true ' on joue l'anim
Cible04.Pickable = true
Cible05.Pickable = false
Jouer("D:\Nova\sons\Cibles.wma" )
End if
Mon prob est que ça ne laisse pas le temps a mes anims de se terminer quand ça joue le son, et que les cibles qui doivent rotater de 180°, c'est assez aléatoire ( une tourne a 160°, l'autre à 100° et la dernière à 90° disons )
J'ai vu une commande pour jouer en ar plan un son :
Private Const SND_ASYNC = &H1 'Joue le son en arrière-plan.
Private Const SND_FILENAME = &H20000 'Le son provient d'un fichier externe
Private Const SND_LOOP = &H8 ' Répète le son jusqu'au prochain appel de PlaySound
Private Const SND_PURGE = &H40 'Stop la lecture du fichier
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Mais si je tente de faire de cette manière pour la déclaration, ça ne marche pas
De plus, le SDK de Nova indique :
Public Function New( _
ByVal filename As String, _
ByVal id As String _
)
Pour indiquer la fonction et ça pour jouer :
Public Sub Play() Tout ça bien entendu que je ne sais pas utiliser
Rien que ça, je suis sur qu'un prog le fait en quelques minutes, ça m'énnerve d'autant plus que je pose la question partout depuis une semaine et qu'on me réponde quasi pas ( en gros comme si un mec viens sur le forum pour qu'on lui fasse un texte en relief pour son site internet parce qu'il a jamais touché un soft 3D de sa vie, pis on lui dit demmerde toi, t'as qu'a apprendre à utiliser 3DS Max )
J'ai d'autres trucs qui coincent, mais bon, après, c'est assez spécifique à Nova et à ce que je tente de faire, faut quelqu'un qui l'ait donc  Message édité par Aego le 16-07-2006 à 01:10:18 ---------------
www.aego-prod.fr
|
ptichat Team 3DVF | T'as pensé a demander sur le forum hfr ? |
Aego Obi Wan | Oué, j'avais survolé, j'y suis retourné, ce qui m'a permis de trouver un lien intéressant, mais j'en ai marre, l'est 3 plombes du mat, et le code m'emmerde à un point...
J'ai tout de même trouvé que mon prob venait du fait qu'il y a une ruse pour coller les sons en buffer de manière à pouvoir en lire plusieurs en même temps, juste je trouve 20 codes pour lire des sons, tous différents, et aucun marche sur mon script, on verra demain
Ce qui m'énnerve, c'est que je vois qu'au final, je vais être obligé de me recoller de la prog pour 3 mois d'utilisation d'un soft ( qui ne sera plus agencé comme ça sur le prochain ) et que ça me resservira jamais ( Ca me rappelle le temps que j'ai passé sur Lingo ou Javascript )
Le jour ou enfin on pourras faire un truc avec des interractions propres sans prog, les mecs vont tout eclater ( et c'est pas si compliqué au final d'ailleur d'après mon experience actuelle sur Nova là , ils sont réellement sur une super bonne voie pour y arriver, 'core un petit effort et ça va le faire, leur manque juste un chieur comme moi avec des idées tordues pour foutre les pattes là ou ils ont pas pensé, huhu ( d'ailleur tiens, je passe un message, je suis libre en ce moment, et très peu cher, huhu  Message édité par Aego le 16-07-2006 à 03:19:27 ---------------
www.aego-prod.fr
|
leghola | Hello,
désolé, je suis codeur VB mais je suis sur un projet perso actuellement donc si c'est un VRAI "petit projet" on peut trouver un créneau (ca fait pas de mal de coder autre chose).
Mais, je ne code pas du tout sur Vertice et apparement, meme si il est un bon moteur, il sembe tres cher. Si tu souhaite passer a TV3D, alors on peut voir ce qu'on peut faire.
Pour interpréter des sons sans peter les anims, avec tv3d je te fais ca très rapidement après je sais pas trop ce que tu souhaites.... On peut peut etre s'arranger .. Tu as besoin d'un codeur et moi d'un graphiste ....
++
Nico. |
Aego Obi Wan | Pour simplifier, je réalise un article sur Nova pour 3DVF, et ce soft m'intéresse professionnellement, me suis donc retrouvé bêtatesteur dessus...ce qui est génial ( équipe Française, gens motivés, excellent soft, le pied quoi
Juste, j'ai un projet de film ( Tamini, visible dans ma galerie ), que je verrais bien adapté dans un jeu style Amerzone, et je pense qu'on peu faire ça avec Nova
Me suis donc attelé un petit jeu ( visible sur le wip ici, et bientôt en ligne sur 3DVF avec mon article ), pour tester un peu les interractivités possibles, ce qui manque, et si on peu esperer combler les manques en script en attendant les éventuelles modifs de la prochaine version
J'avais matté aussi pour faire ça avec le SandBox editor du FarCryEngine, qui semble très puissant, mais lui pour le moment, je l'ai pas, Nova oué
J'ai jette un oeil sur TV3D oué, je le trouve assez complexe, mais je n'ai que survolé, mes dernières expériences en mod sont sur des moteurs de jeux ( Serious Editor, HL Engine et le vieux Unreal Engine ), ça m'avait un peu refroidit, je ne suis pas codeur
Message édité par Aego le 16-07-2006 à 13:43:48 ---------------
www.aego-prod.fr
|
mousenet | salut oui je pense aussi que le probleme de
l'anim est du au son car tout acces a des donnees
sur disque dur arrete l'executable en cours.
Deux possibilité donc soit tu charge le son au prelancement
dans la ram du pc (mais meme la je pense qu'il faudra qu'il
tourne en parrallele avec l'animation), soit t'attend que l'anim soit fini pour
lancer le son , c'etait simple euh essaie un truc de ce genre If infos.Hit andalso infos.Object.Name = "Cible05" Then Cible05.setAnimationRange(0, 20) ' on determine le range Cible05.loopAnimation = false ' on dit que ça ne boucle pas Cible05.AnimationActualKey = 0 ' on remet l'anim à la frame 0 Cible05.animated = true ' on joue l'anim Cible04.Pickable = true Cible05.Pickable = false while Cible05.AnimationActualKey = 0
Jouer("D:\Nova\sons\Cibles.wma" ) endwhile
End if a+ Message édité par mousenet le 16-07-2006 à 19:40:39
|
mousenet | oups essaie ca alors:
If infos.Hit andalso infos.Object.Name = "Cible05" Then Cible05.setAnimationRange(0, 20) ' on determine le range Cible05.loopAnimation = false ' on dit que ça ne boucle pas Cible05.AnimationActualKey = 0 ' on remet l'anim à la frame 0 Cible05.animated = true ' on joue l'anim Cible04.Pickable = true Cible05.Pickable = false
End if if Cible05.AnimationActualKey = 20 then
Jouer("D:\Nova\sons\Cibles.wma" ) endif
a+ Message édité par mousenet le 17-07-2006 à 08:21:15
|
Aego Obi Wan | Ben oué, mais ton truc là me jouera le son près mon animation, ça m'arrange pas ( d'autant qu'il y a plusieurs sons en même temps sur une des actions.. )
Y'a pas un truc au niveau de la declaration pour effectuer ça ( par rapport au 2e bout de code que j'ai mis, j'ai l'impression que c'est possible non de jouer en ar plan ? ) ---------------
www.aego-prod.fr
|
mousenet | ah ben oui , si tu veut jouer plusieurs son , va
falloir apprendre la programmation asynchrone, desolé mais j'y connais rien la dessus
a+ |
leghola | Hello,
Tu peux passer via un timer-event en vb6... C'ets pas tres propre mais bon c'est une solution. Tu gères une condition dans ton timer pour voir toutes les X ms si ta musique tourne, si non, tu la lances. Normalement Vernice doit être capable de faire 2 trucs en meme temps j'espère !
En prog pure, on aurait utiliser des threads, des routines mémoires qui s'executent en parallele.
Bon sinon, en TV3D, ca aurait donné un truc comme ca :
Code :
- Option Explicit
- Private TV8 As TVEngine
- Private Modele As TVMesh
- Private Scene As TVScene
- Private TextureFactory As TVTextureFactory
- Public Tvsound As TVSoundMP3
- Private DoLoop As Boolean
- Private Sub cmdQuit_Click()
-
- DoLoop = False
- End Sub
- Private Sub Form_Load()
- Set TV8 = New TVEngine
- TV8.Init3DWindowedMode Picture1.hWnd
- TV8.DisplayFPS = True
- Set Scene = New TVScene
-
- Set Modele = New TVMesh
- Set Modele = Scene.CreateMeshBuilder
- Set Modele = Scene.CreateMeshBuilder
- Modele.Load3DSMesh "tank.3ds", False
- TextureFactory.LoadTexture "Modele.bmp", "Modele", , , TV_COLORKEY_NO
- Modele.SetTexture GetTex("Modele" )
- Modele.SetPosition 0, 0, 10
-
- Set Tvsound = New TVSoundMP3
- Tvsound.Load (chemin1 & "ambiance1.mp3" )
-
- Form1.Show
- DoLoop = True
- Main_Loop
- End Sub
- Private Sub Form_Unload(Cancel As Integer)
- DoLoop = False
- Main_Quit
- End Sub
- Private Sub Main_Loop()
-
- Do
- DoEvents
- TV8.Clear
- Scene.RenderAllMeshes
- TV8.RenderToScreen
-
- If Tvsound.Play = False Then Tvsound.Play
- Loop Until DoLoop = False
-
- End
- End Sub
|
simple non ???
++
Nico
|
Aego Obi Wan | Simple, si tu le dis
Je regarde si c'est bricolable sur Nova, mais bon, je crois qu'au final, le jeu sera balancé comme ça, j'en ai plein le dos d'attendre depuis 2 semaines qu'on daigne me filer 3 pov lignes de code pour terminer mon script, et j'ai pas envie d'apprendre VB.net
'merci en tout cas ( pour ta scène au fait, j'ai un tit probs avec les .3ds a résoudre, sinon, je t'ai fait un truc avec du normal map ) ---------------
www.aego-prod.fr
|
leghola | oki aego, si tu le souhaites, si tu veux tester TV3D, tu peux me donner ton projet avec les spécificités que tu souhaites et je te ferais le prog (si c'ets une anim ave cune musique et un déplacement genre FPS j'en ai pour une soirée ... )
++ |
mousenet | et si tu faisait ca , non ? comme ca a chaque cycle de ton exe tu relance un coup l'animation
puis au second cycle le son.... If infos.Hit andalso infos.Object.Name = "Cible05" Then
Cible05.setAnimationRange(0, 20) ' on determine le range
Cible05.loopAnimation = false ' on dit que ça ne boucle pas
Cible05.AnimationActualKey = 0 ' on remet l'anim à la frame 0
Cible05.animated = true ' on joue l'anim
Cible04.Pickable = true
Cible05.Pickable = false
Jouer("D:\Nova\sons\Cibles.wma" )
End if
if Cible05.animated = false then pause_sound("D:\Nova\sons\Cibles.wma" )
Cible05.animated = true
else
resume_sound("D:\Nova\sons\Cibles.wma" )
endif
a+  Message édité par mousenet le 19-07-2006 à 22:31:12
|
mousenet | MDR nan mais c'etait une suggestion a toi de regler tout ca
a toi de retrouver les vrai commande dans le fichier d'aide et de les declarer bien-sur a+ Message édité par mousenet le 19-07-2006 à 22:44:35
|
|