Collision et Gravité
- microdevweb
- Messages : 1800
- Inscription : mer. 29/juin/2011 14:11
- Localisation : Belgique
Re: Collision et Gravité
@Falsam, je penses également que créer un jeux seul s'avère être une opération quasi impossible.
Faire le modelling,riging,animation de personnages ainsi que les décores et codé tout cela. Chapeau à celui qui y arive
Faire le modelling,riging,animation de personnages ainsi que les décores et codé tout cela. Chapeau à celui qui y arive
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Work at Centre Spatial de Liège
Re: Collision et Gravité
Joli rendu en tout cas. Bravo
@++
@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Re: Collision et Gravité
je me suis pas trop attardé sur ton code, mais il me semble que tu pourrai faire plus simple pour les particules :
tu crées l’émetteur une fois pour toute, et tu l'active/desactive suivant tes besoins avec
DisableParticleEmitter
pour ce qui est de la gravité : l'unité est le m.s -2, donc elle dépend de l'unité de longueur
autrement dit, si tu veux avoir une force de gravité réaliste avec tes entités, tu dois te soucier de leur taille
l'unité de longueur du moteur 3d est le mètre, donc sinbad doit faire environ 2m de haut pour chutter de façon réaliste
tu crées l’émetteur une fois pour toute, et tu l'active/desactive suivant tes besoins avec
DisableParticleEmitter
pour ce qui est de la gravité : l'unité est le m.s -2, donc elle dépend de l'unité de longueur
autrement dit, si tu veux avoir une force de gravité réaliste avec tes entités, tu dois te soucier de leur taille
l'unité de longueur du moteur 3d est le mètre, donc sinbad doit faire environ 2m de haut pour chutter de façon réaliste
Re: Collision et Gravité
Pour la valeur de gravité terrestre, quand on chute, on gagne chaque seconde 35,32 kilomètre par heure si l'atmosphère n'existait pas.
avec v, la vitesse et a l'accélération, on a :
1) Hypothèse:
v = 35,32 km.h{-1} (kilomètre/heure)
2) Conversion en mètres/seconde (m/s ou m.s{-1} )
v = 9,81 m.s{-1}
3) Vitesse gagnée par seconde (accélération)
a = 9,81 m.s{-1}.s{-1}
4) Simplification
a = 9,81 m.s{-2} (se lit "mètre par seconde au carré")
D'où le "-2" indiqué par Guillot, que je salue au passage depuis la planète Gibi.
avec v, la vitesse et a l'accélération, on a :
1) Hypothèse:
v = 35,32 km.h{-1} (kilomètre/heure)
2) Conversion en mètres/seconde (m/s ou m.s{-1} )
v = 9,81 m.s{-1}
3) Vitesse gagnée par seconde (accélération)
a = 9,81 m.s{-1}.s{-1}
4) Simplification
a = 9,81 m.s{-2} (se lit "mètre par seconde au carré")
D'où le "-2" indiqué par Guillot, que je salue au passage depuis la planète Gibi.
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Collision et Gravité
Non pas dans cet exemple car je fais une traînée de 10 particules.Guillot a écrit :je me suis pas trop attardé sur ton code, mais il me semble que tu pourrai faire plus simple pour les particules :
tu crées l’émetteur une fois pour toute, et tu l'active/desactive suivant tes besoins avec
DisableParticleEmitter
Si Sinbad s’arrête de courir, je libère les particules du dernier émetteur au premier émetteur.
La taille de Sinbad est de 6 unités. Si tu le mets en situation avec la mer. la surface ondulante est démesuré.Guillot a écrit :donc sinbad doit faire environ 2m de haut pour chutter de façon réaliste
Cet exemple met Sinbad en situation. J'ai ajouté une variable Scale afin de redimensionner la scène à l’échelle souhaitée.
■ Sinbad de base fait 6 unités et la mer ne peut pas être redimensionnée.
La variable Scale se trouve à la ligne 10 initialisée à 1.
Fais le test sans rien touché puis initialise la variable Scale à 15 puis 33.
Code : Tout sélectionner
EnableExplicit
;Police
Global FontInfo = LoadFont(-1, "Arial", 12)
;Textures
Global MatGround, MatBox, MatBuoy
;Entities
Global Scale = 1
Global Camera, CameraHeight = 2, Player, PlayerSpeed, CurrentAnimation.s, Angle = 180, Distance = 10
Global Ground
;Sprite
Global Bottom
;Init engine
If Not (InitEngine3D() And InitSprite() And InitKeyboard())
End
EndIf
OpenWindow(0, 0, 0, 0, 0, "", #PB_Window_BorderLess | #PB_Window_Maximize)
OpenWindowedScreen(WindowID(0), 0, 0, WindowWidth(0), WindowHeight(0))
;The elements are in the examples folder of PureBasic
Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Water", #PB_3DArchive_FileSystem)
Add3DArchive(#PB_Compiler_Home + "Examples/3d/Data/Textures", #PB_3DArchive_FileSystem)
Add3DArchive(#PB_Compiler_Home + "Examples/3D/Data/Packs/desert.zip", #PB_3DArchive_Zip)
Add3DArchive(#PB_Compiler_Home + "Examples/3D/Data/Packs/waterworld.zip", #PB_3DArchive_Zip)
Add3DArchive(#PB_Compiler_Home + "Examples/3D/Data/Packs/Sinbad.zip", #PB_3DArchive_Zip)
Parse3DScripts()
KeyboardMode(#PB_Keyboard_International | #PB_Keyboard_AllowSystemKeys)
EnableWorldPhysics(#True)
EnableWorldCollisions(#True)
WorldGravity(-10)
;-[2D] Create ou load sprite
Bottom = CreateSprite(-1, ScreenWidth(), 150, #PB_Sprite_AlphaBlending)
;-[3D] Create ou load 3D element
;-Textures & material
MatGround = CreateMaterial(-1, TextureID(LoadTexture(-1, "Floor02.jpg"))) ;Ground
ScaleMaterial(MatGround, 0.5, 0.5)
MatBox = CreateMaterial(-1, TextureID(LoadTexture(-1, "Caisse.png"))) ;Box
;-Camera
Camera = CreateCamera(-1, 0, 0, 100, 100)
;Sky and fog
SkyBox("desert07.jpg")
;-Light and shadow
CreateLight(0, RGB(255, 255, 255), -100 * Scale, 500 * Scale, 100 * Scale)
;WorldShadows(#PB_Shadow_Additive) ;Fontionne pas
WorldShadows(#PB_Shadow_TextureModulative)
;-Sea
Sun(0, 10000, 10000, RGB(255, 255, 255))
CreateWater(Camera, 0, 0, 0, 0, #PB_World_WaterSmooth | #PB_World_WaterSun | #PB_World_WaterFoam)
;-Ground
Ground = CreateEntity(-1, MeshID(CreateCube(-1, 1)), MaterialID(MatGround), 0, 1, 0)
ScaleEntity(Ground, 100 * Scale, 2 * Scale, 100 * Scale)
CreateEntityBody(Ground, #PB_Entity_StaticBody)
;-Player
Player = CreateEntity(-1, MeshID(LoadMesh(#PB_Any, "sinbad.mesh")), #PB_Material_None, 0, 7 * Scale/2, 0)
ScaleEntity(Player, Scale, Scale, Scale)
CreateEntityBody(Player, #PB_Entity_ConvexHullBody, 1, 1, 1)
EntityAngularFactor(Player, 0, 1, 0)
Repeat
;-
;-[3D] Rendering
If ExamineKeyboard()
;-keyboard events : Distance and move
If KeyboardPushed(#PB_Key_LeftControl) And KeyboardPushed(#PB_Key_Up)
Distance - 5
ElseIf KeyboardPushed(#PB_Key_LeftControl) And KeyboardPushed(#PB_Key_Down)
Distance + 5
ElseIf KeyboardPushed (#PB_Key_Up)
PlayerSpeed = 10 * Scale
CurrentAnimation = "RunBase"
Angle = 180
ElseIf KeyboardPushed (#PB_Key_Down)
PlayerSpeed = -10 *Scale
Angle = 0
CurrentAnimation = "RunBase"
Else
CurrentAnimation = "IdleTop"
PlayerSpeed = 0
EndIf
;-keyboard events : Rotation around player and turn
If KeyboardPushed(#PB_Key_LeftControl) And KeyboardPushed(#PB_Key_Left)
Angle - 5
ElseIf KeyboardPushed(#PB_Key_LeftControl) And KeyboardPushed(#PB_Key_Right)
Angle + 5
ElseIf KeyboardPushed (#PB_Key_Left)
RotateEntity(Player, 0, 3, 0, #PB_Relative)
CurrentAnimation = "RunBase"
ElseIf KeyboardPushed (#PB_Key_Right)
RotateEntity(Player, 0, -3, 0, #PB_Relative)
CurrentAnimation = "RunBase"
EndIf
;Escape
If KeyboardReleased(#PB_Key_Escape)
Break
EndIf
EndIf
DisableEntityBody(Player, #False) ; Wake up entity (BugWare)
MoveEntity(Player, 0, 0, PlayerSpeed, #PB_Absolute|#PB_Local)
;Play animation
If EntityAnimationStatus(Player, CurrentAnimation) = #PB_EntityAnimation_Stopped
StartEntityAnimation(Player, CurrentAnimation)
EndIf
CameraFollow(Camera, EntityID(Player), Angle, EntityY(Player) + CameraHeight * Scale, Distance * Scale, 0.25, 1, #True)
RenderWorld(50)
;-[2D] Rendering
StartDrawing(SpriteOutput(Bottom))
DrawingFont(FontID(FontInfo))
DrawingMode(#PB_2DDrawing_AlphaChannel)
Box(0, 0, ScreenWidth(), SpriteWidth(Bottom), RGBA(0, 0, 0, 110))
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(10, 10, ". : : Help : : .")
DrawText(10, 40, "Arrow keys - Move player.")
DrawText(10, 70, "Ctrl + Up / Ctrl + Down - Distance between camera and player.")
DrawText(10, 100, "Ctrl + Left ou Ctrl + Right - Turn around the player.")
StopDrawing()
DisplayTransparentSprite(Bottom, 0, ScreenHeight() - SpriteHeight(Bottom))
FlipBuffers()
Until WaitWindowEvent(1) = #PB_Event_CloseWindow
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Collision et Gravité
@Falsam
Si le perso fait hPhys = 2 mètres comme suggéré par Guillot.
Si le perso fait hVirt = 6 unités, comme tu l'indiques.
Un scale primaire Scale1 peut être calculé.
Scale1 = hVirt / hPhys
Scale1 = 6 / 2
Sans pouvoir tester de suite, vu tes explications, tu testes "à tâtons" les proportions réalistes Perso/Vague. Et je ne pense pas qu'il y ait d'autres solutions.
Tu obtiens donc un scale secondaire Scale2 obtenu à tâtons.
Le résultat de la déformation (scale) usuelle est :
Scale0 = Scale1 * Scale2
Je vois que tu utilises 10 au lieu de 9.81 (c'est 3/4 km/h d'erreur cumulée chaque seconde de chute)
g = -9.81 * Scale0
ou approximativement
g = -10 * Scale0
Avec :
Si le perso fait hPhys = 2 mètres comme suggéré par Guillot.
Si le perso fait hVirt = 6 unités, comme tu l'indiques.
Un scale primaire Scale1 peut être calculé.
Scale1 = hVirt / hPhys
Scale1 = 6 / 2
Sans pouvoir tester de suite, vu tes explications, tu testes "à tâtons" les proportions réalistes Perso/Vague. Et je ne pense pas qu'il y ait d'autres solutions.
Tu obtiens donc un scale secondaire Scale2 obtenu à tâtons.
Le résultat de la déformation (scale) usuelle est :
Scale0 = Scale1 * Scale2
Je vois que tu utilises 10 au lieu de 9.81 (c'est 3/4 km/h d'erreur cumulée chaque seconde de chute)
g = -9.81 * Scale0
ou approximativement
g = -10 * Scale0
Avec :
Code : Tout sélectionner
WorldGravity(g)
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Collision et Gravité
testes et tu pourras constater.Ollivier a écrit :Sans pouvoir tester de suite, vu tes explications, tu testes "à tâtons" les proportions réalistes Perso/Vague.
Dans ce code ça n'avait pas d'importance mais dans un autre (non publié ici) c'est évident qu'il faut que je multiplie la gravité par scale. Merci pour ce rappel.Ollivier a écrit :g = -10 * Scale0
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Collision et Gravité
@Falsam
Je tâcherai d'apporter un message de retour dès que je pourrai tester. Ça commence à faire un sacré paquet de contributions de différents auteurs à tester... (sur deux ans environ !)
Je tâcherai d'apporter un message de retour dès que je pourrai tester. Ça commence à faire un sacré paquet de contributions de différents auteurs à tester... (sur deux ans environ !)
Re: Collision et Gravité
salut falsam
j'ai modifié la gestion des particules de ton code
IMPORTANT :
1) pour que le fader fonctionne correctement il faut specifier
DisableMaterialLighting(MatSmoke, 1)
2) dans CreateParticleEmitter les parametres 'height' et 'depth' son inversés
la 3d contient beaucoup d'erreurs et d’imprécisions qui rendent son apprentissage penible
faudrai qu'un jour on se decide a faire un correctif complet
perso, j'avais commencé une liste, mais j'ai jamais pris le temps de faire les choses sérieusement ...
j'ai modifié la gestion des particules de ton code
IMPORTANT :
1) pour que le fader fonctionne correctement il faut specifier
DisableMaterialLighting(MatSmoke, 1)
2) dans CreateParticleEmitter les parametres 'height' et 'depth' son inversés
la 3d contient beaucoup d'erreurs et d’imprécisions qui rendent son apprentissage penible
faudrai qu'un jour on se decide a faire un correctif complet
perso, j'avais commencé une liste, mais j'ai jamais pris le temps de faire les choses sérieusement ...
Code : Tout sélectionner
;[PB 5.60 Minimum]
EnableExplicit
;Font
Global FontInfo = LoadFont(-1, "Arial", 12)
;Material
Global MatGround, MatBox, MatSmoke
;Entities
Global Camera, Player, PlayerSpeed, CurrentAnimation.s, Angle = 0, Distance = 200, Action
Global Ground, Box
;Dust emiter / Emetteur de poussieres
Global NewList Emiters()
;Sprite
Global Bottom
;Init engine
If Not (InitEngine3D() And InitSprite() And InitKeyboard())
End
EndIf
OpenWindow(0, 0, 0, 0, 0, "", #PB_Window_BorderLess | #PB_Window_Maximize)
OpenWindowedScreen(WindowID(0), 0, 0, WindowWidth(0), WindowHeight(0))
;The elements are in the examples folder of PureBasic
Add3DArchive(#PB_Compiler_Home + "Examples/3d/Data/Textures", #PB_3DArchive_FileSystem)
Add3DArchive(#PB_Compiler_Home + "Examples/3D/Data/Packs/desert.zip", #PB_3DArchive_Zip)
Add3DArchive(#PB_Compiler_Home +"Examples/3D/Data/Packs/Sinbad.zip", #PB_3DArchive_Zip)
Parse3DScripts()
KeyboardMode(#PB_Keyboard_International | #PB_Keyboard_AllowSystemKeys)
EnableWorldPhysics(#True)
;-[2D] Create ou load sprite (Help)
Bottom = CreateSprite(-1, ScreenWidth(), 150, #PB_Sprite_AlphaBlending)
;-[3D] Create ou load 3D element
;-Textures
MatGround = CreateMaterial(-1, TextureID(LoadTexture(-1, "Dirt.jpg"))) ;Ground material
MatBox = CreateMaterial(-1, TextureID(LoadTexture(-1, "Caisse.png"))) ;Box materiel
MatSmoke = CreateMaterial(-1, TextureID(LoadTexture(-1, "smoke.png"))) ;Particule materiel
MaterialBlendingMode(MatSmoke, #PB_Material_AlphaBlend)
DisableMaterialLighting(MatSmoke, 1)
;-Camera
Camera = CreateCamera(-1, 0, 0, 100, 100)
;-Sky and fog
SkyBox("desert07.jpg", RGB(255, 255, 255), 1, 900, 6000)
Fog(RGB(255, 255, 255), 1, 100, 1000)
;-Light and shadow
CreateLight(0, RGB(255, 255, 255), -100, 500, 100)
WorldShadows(#PB_Shadow_Additive)
;-Ground
Ground = CreateEntity(-1, MeshID(CreatePlane(-1, 1500, 1500, 1, 1, 20, 20)), MaterialID(MatGround))
CreateEntityBody(Ground, #PB_Entity_StaticBody)
;-Box
Box = CreateEntity(-1, MeshID(CreateCube(-1, 20)), MaterialID(MatBox), 0, 15, 0)
CreateEntityBody(Box, #PB_Entity_BoxBody, 1, 1, 1)
;-Player
Player = CreateEntity(-1, MeshID(LoadMesh(#PB_Any, "sinbad.mesh")), #PB_Material_None, 10, 40, -40)
ScaleEntity(Player, 5, 5, 5)
CreateEntityBody(Player, #PB_Entity_ConvexHullBody, 1, 3, 20)
EntityAngularFactor(Player, 0, 1, 0)
RotateEntity(Player, 0, -120, 0)
;- Dust emiter / Emetteur de poussiére
CreateParticleEmitter(0, 10, 10,0, #PB_Particle_Box)
ParticleMaterial(0, MaterialID(MatSmoke))
ParticleSize(0, 20, 20)
ParticleEmissionRate(0, 20)
ParticleEmitterDirection(0,0,1,0)
ParticleVelocity(0, #PB_Particle_Velocity, 20)
ParticleTimeToLive(0, 1, 1)
ParticleColorFader(0,0,0,0,-1)
Repeat
;-
;-[3D] Rendering
If ExamineKeyboard()
;-Test collision
Debug "EntityCollide(Ground, Player) " + Str(EntityCollide(Ground, Player))
;-keyboard events : Distance and move
If KeyboardPushed(#PB_Key_LeftControl) And KeyboardPushed(#PB_Key_Up)
Distance - 5
ElseIf KeyboardPushed(#PB_Key_LeftControl) And KeyboardPushed(#PB_Key_Down)
Distance + 5
ElseIf KeyboardPushed (#PB_Key_Up)
PlayerSpeed = 50
CurrentAnimation = "RunBase"
Angle = 180
Action = #True
ElseIf KeyboardPushed (#PB_Key_Down)
PlayerSpeed = -50
Angle = 0
CurrentAnimation = "RunBase"
Action = #True
Else
CurrentAnimation = "IdleTop"
PlayerSpeed = 0
Action = #False
EndIf
;-keyboard events : Rotation around player and turn
If KeyboardPushed(#PB_Key_LeftControl) And KeyboardPushed(#PB_Key_Left)
Angle - 5
ElseIf KeyboardPushed(#PB_Key_LeftControl) And KeyboardPushed(#PB_Key_Right)
Angle + 5
ElseIf KeyboardPushed (#PB_Key_Left)
RotateEntity(Player, 0, 3, 0, #PB_Relative)
CurrentAnimation = "RunBase"
ElseIf KeyboardPushed (#PB_Key_Right)
RotateEntity(Player, 0, -3, 0, #PB_Relative)
CurrentAnimation = "RunBase"
EndIf
If KeyboardReleased(#PB_Key_Escape)
Break
EndIf
EndIf
If Action
DisableEntityBody(Player, #False) ; Wake up entity (BugWare)
;Move player to new position
MoveEntity(Player, 0, 0, PlayerSpeed, #PB_Absolute|#PB_Local)
EndIf
;Play animation
If EntityAnimationStatus(Player, CurrentAnimation) = #PB_EntityAnimation_Stopped
StartEntityAnimation(Player, CurrentAnimation)
EndIf
;End of dust if the player does not move or not in contact with the ground
MoveParticleEmitter(0,EntityX(Player), 0 ,EntityZ(Player),#PB_Absolute)
DisableParticleEmitter(0,Bool(action=0))
CameraFollow(Camera, EntityID(Player), Angle, EntityY(Player) + 20, Distance, 0.05, 1, #True)
RenderWorld(50)
;-
;-[2D] Rendering
StartDrawing(SpriteOutput(Bottom))
DrawingFont(FontID(FontInfo))
DrawingMode(#PB_2DDrawing_AlphaChannel)
Box(0, 0, ScreenWidth(), SpriteWidth(Bottom), RGBA(0, 0, 0, 110))
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(10, 10, ". : : Help : : .")
DrawText(10, 40, "Arrow keys - Move player.")
DrawText(10, 70, "Ctrl + Up / Ctrl + Down - Distance between camera and player.")
DrawText(10, 100, "Ctrl + Left ou Ctrl + Right - Turn around the player.")
StopDrawing()
DisplayTransparentSprite(Bottom, 0, ScreenHeight() - SpriteHeight(Bottom))
FlipBuffers()
Until WaitWindowEvent(1) = #PB_Event_CloseWindow
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Collision et Gravité
Effectivement c'était stupide ma façon de faire !! Pourquoi n'ai je pas créer l’émetteur de particules avant la boucle événementielle ? j'ai cherché compliqué quand on peut faire simple. Merci pour ce correctif. En plus l'effet est bien plus joli.
Le code du premier message est corrigé.
Le code du premier message est corrigé.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Collision et Gravité
Invalid memory access ligne 127 :falsam a écrit :le code du premier message est corrigé.
Code : Tout sélectionner
RenderWorld(50)
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Collision et Gravité
Dans les options de compilation, ajoute OpenGl à la ligne Librairie sous systeme et teste de nouveau.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Collision et Gravité
Ton code marche sur mon I7 mais pas sur mon portable neuf w10...
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Re: Collision et Gravité
je viens de jeter un oeil, je ne vois pas d'erreur, chaque paramètre me semble correctement affecté, c'est quoi le problème exactement ?Guillot a écrit : 2) dans CreateParticleEmitter les parametres 'height' et 'depth' son inversés
Code : Tout sélectionner
(emitter)->setWidth (width);
(emitter)->setHeight(height);
(emitter)->setDepth (Depth);
[EDIT]
Si c'est inversé, c'est au niveau de wrapper de Fred, dans ce cas faut faire un rapport de bug.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Re: Collision et Gravité
teste la commande, tu verras
ouai, ça doit juste être une inversion de parametre (height avec width ou depth)
les bugs et les imprécisions de la doc, y'en a tellement en 3d que je voulais faire une liste complete plutot que d'y aller au cas par cas
faudra que je trouve le temps un de ces 4...
ouai, ça doit juste être une inversion de parametre (height avec width ou depth)
les bugs et les imprécisions de la doc, y'en a tellement en 3d que je voulais faire une liste complete plutot que d'y aller au cas par cas
faudra que je trouve le temps un de ces 4...