Page 1 sur 2

Un papillon

Publié : dim. 30/juin/2013 15:07
par falsam
Un mesh servant de chemin et une texture scrollant sur ce mesh pour obtenir cet effet. Contrairement à la cascade j'ai préféré utiliser les fonctionnalité de PB plutot qu'un script.material.

Vous trouverez le source PB et les médias associés (Texture et Mesh) en téléchargeant le fichier ci-dessous :
Cascade 3D.zip (Source)

Il me semblait qu'il y avait une fonctionnalité pour mettre en valeur le maillage du mesh, mais je ne suis pas arrivé à la retrouver. Si quelqu'un s'en souvient ou si je la retrouve, je modifierais le code en conséquence. Une combinaison de touche permettra d'activé ou pas cette fonctionnalité.

Re: Un papillon

Publié : dim. 30/juin/2013 15:57
par SPH
Super !

Re: Un papillon

Publié : dim. 30/juin/2013 16:01
par falsam
SPH a écrit :Super !
Content que ça te plaise :)
j'avoue que je découvre les rotations de textures depuis hier et ça me plait bien aussi.

Re: Un papillon

Publié : dim. 30/juin/2013 18:04
par Backup
falsam a écrit : Il me semblait qu'il y avait une fonctionnalité pour mettre en valeur le maillage du mesh, mais je ne suis pas arrivé à la retrouver.
WorldDebug(#PB_World_DebugBody) ?

Re: Un papillon

Publié : dim. 30/juin/2013 18:13
par falsam
Merci Dobro mais ça ne me montre pas le maillage d'un mesh.

Re: Un papillon

Publié : dim. 30/juin/2013 18:23
par Fred

Re: Un papillon

Publié : dim. 30/juin/2013 18:27
par falsam
C'est bien ça que je voulais. Merci Fred :)

MaterialShadingMode(#Material, #PB_Material_Phong|#PB_Material_Wireframe)

Si une transparence est appliquée avec MaterialBlendingMode() il faut la commenter.

Re: Un papillon

Publié : dim. 30/juin/2013 19:16
par comtois
il est bien ton papillon, comment ça te vient des idées pareilles ? je n'ai toujours pas compris comment fonctionnait l'animation :P

Re: Un papillon

Publié : dim. 30/juin/2013 19:52
par Ar-S
Pareil que comtois. Mais le rendu est vraiment pas mal.
je vois pas comment le ScrollMaterial() peu générer ce mouvement.
Concernant ton mesh, c'est juste 2 surfaces planes ? Une seule ? J'ai pas réussi à le prévisualiser avec blender (je pensais qu'il ouvrait les .mesh).

Re: Un papillon

Publié : dim. 30/juin/2013 20:12
par G-Rom
la texture bouge sur une surface ondulé les gars :mrgreen:

Re: Un papillon

Publié : dim. 30/juin/2013 21:07
par falsam
G-Rom a écrit :la texture bouge sur une surface ondulé les gars :mrgreen:
Oui.

le code modifié pour voir le Mesh.
j'ai commenté la ligne MaterialBlendingMode(Materiel, #PB_Material_AlphaBlend) pour annuler la transparence et ajouté MaterialShadingMode(Materiel, #PB_Material_Phong|#PB_Material_Wireframe) pour voir le Mesh.

Code : Tout sélectionner

;Papillons : Rotation et defilement d'une texture dans une entité

InitEngine3D()
InitKeyboard()
InitSprite()

Add3DArchive("Data/Papillons", #PB_3DArchive_FileSystem)

Window = OpenWindow(#PB_Any,0,0,1024,768,"Papillons")
OpenWindowedScreen(WindowID(window),0,0,1024,768)

;
; Ambience Lumiére blanche
AmbientColor(RGB(255, 255, 255))
CreateLight(#PB_Any,RGB(255, 255, 255), 0,10,100)

;
; Le papillon
Mesh = LoadMesh(#PB_Any, "Path.mesh")
TransformMesh(Mesh, 0,0,0, 1.70, 1.70,1.70, 20,0,0) 
Texture = LoadTexture(#PB_Any, "Papillons9.png")
Materiel = CreateMaterial(#PB_Any,TextureID(Texture))
;MaterialBlendingMode(Materiel, #PB_Material_AlphaBlend) ;Transparence sur le Materiel
ScrollMaterial(Materiel, 0.28, 0, #PB_Material_Animated, 0) ;Scrolling de la texture 
Entity = CreateEntity(#PB_Any, MeshID(Mesh), MaterialID(materiel))


MaterialShadingMode(Materiel, #PB_Material_Phong|#PB_Material_Wireframe)


;
;Camera 
Camera = CreateCamera(#PB_Any,0,0,100,100)
CameraBackColor(Camera, RGB(145, 182, 201))
MoveCamera(camera,0,0,4)
CameraLookAt(camera,0,0,0)

While #True
  
  event = WindowEvent()
  
  ExamineKeyboard()  
  
  If event = #PB_Event_CloseWindow Or KeyboardPushed(#PB_Key_Escape)
    Break
  EndIf  
  
  RenderWorld()
  FlipBuffers()
Wend 

Re: Un papillon

Publié : dim. 30/juin/2013 21:14
par Ar-S
Ah mais quelle escroquerie ! :mrgreen:
J'étais à mille lieux de voir ça comme ça. ! Enorme 8)

Re: Un papillon

Publié : dim. 30/juin/2013 21:21
par falsam
Ha ha ha ha ha :D Mais j'avoue que ça me plait bien.

je cherche le même moyen pour faire bouger de l'herbe mais là j'ai un peu mal à la tête. Peut être qu'un jour on verra apparaître la notion de vent dans Ogre ainsi qu'une notion d'entité flexible.

Re: Un papillon

Publié : dim. 30/juin/2013 21:36
par G-Rom
Via un vertex shader , tu bouges ce que tu veut , regarde sur google , tu devrais voir un exemple de cela sur le site d'ogre.

Re: Un papillon

Publié : dim. 30/juin/2013 21:41
par falsam
G-Rom a écrit :Via un vertex shader
Une notion que je ne connais absolument pas. Je vais regarder. Merci G-Rom.