[3D] Quelques suggestions
Re: [3D] Quelques suggestions
Hello Comtois,
Dans mon éditeur de decor 3D, cela permet de coller des entitys les unes aux autres de manière précise avec une fonction magnétisme. Pour l'instant, effectivement je recalcule chaque position des points composant l'Entity pour la placer correctement et ça marche bien (sauf pour l'option scale que je n'ai pas encore intégrée).
Même si le décor est construit en grande partie dans un outil 3D (Deled, Blender...), l'éditeur permet de positionner dans le décor des élements mobiles qui peuvent être touchables, attrapables ou déplaçables par le joueur. Je peux aussi coller entre-elles des briques de décor préfabriquées.
Dans mon éditeur de decor 3D, cela permet de coller des entitys les unes aux autres de manière précise avec une fonction magnétisme. Pour l'instant, effectivement je recalcule chaque position des points composant l'Entity pour la placer correctement et ça marche bien (sauf pour l'option scale que je n'ai pas encore intégrée).
Même si le décor est construit en grande partie dans un outil 3D (Deled, Blender...), l'éditeur permet de positionner dans le décor des élements mobiles qui peuvent être touchables, attrapables ou déplaçables par le joueur. Je peux aussi coller entre-elles des briques de décor préfabriquées.
Only PureBasic makes it possible
Re: [3D] Quelques suggestions
Pour compléter le message précédent sur l'utilisation des coordonnées des points des Entitys.
Mettre un texte en 3D dans le décor.
J'ai construis une police de caractère en mesh et connaitre la taille des caractères-entity me permet de construire les textes en positionnant correctement chaque lettre d'un mot en fonction de sa taille (un "W" est plus large qu'un "i").
C'est en cours, je posterai le zinzin une fois fini...
Mettre un texte en 3D dans le décor.
J'ai construis une police de caractère en mesh et connaitre la taille des caractères-entity me permet de construire les textes en positionnant correctement chaque lettre d'un mot en fonction de sa taille (un "W" est plus large qu'un "i").
C'est en cours, je posterai le zinzin une fois fini...
Only PureBasic makes it possible
Re: [3D] Quelques suggestions
J'ai ajouté ça dans la boucle de l'exemple SkyBox , et ça fonctionne :12) Pouvoir supprimer un skydom, une skybox, ou un fog : pour un fog, on met intensity à zéro et on ne le voit plus, mais pour les autres ?
Code : Tout sélectionner
If KeyboardReleased(#PB_Key_F2)
SkyBox("desert07.jpg")
ElseIf KeyboardReleased(#PB_Key_F3)
SkyBox("")
EndIf
ça modifie la texture, tu ne peux avoir qu'une seule SkyBox13) pouvoir modifier la texture d'un skydom ou d'une skybox une fois créé : le fait de refaire skydom() modifie la texture ou ajoute un deuxième skydom ?
Pour changer de skybox j'ai ajouter un nouveau fichier dans l'exemple SkyBox :
Code : Tout sélectionner
Add3DArchive("Data/Packs/desert.zip", #PB_3DArchive_Zip)
Add3DArchive("Data/Packs/skybox.zip", #PB_3DArchive_Zip)
Code : Tout sélectionner
If KeyboardReleased(#PB_Key_F2)
SkyBox("stevecube.jpg")
ElseIf KeyboardReleased(#PB_Key_F3)
SkyBox("desert07.jpg")
ElseIf KeyboardReleased(#PB_Key_F4)
SkyBox("")
EndIf
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: [3D] Quelques suggestions
Ah super ça, merci Comtois , c'est une bonne nouvelle 

http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Re: [3D] Quelques suggestions
bonsoir,
Quelqu'un saurait créer un mesh avec du morph animation ?
Un truc tout simple, ça serait pour faire des essais avec Ogre et comme je suis nul avec les éditeurs 3D, je ne sais pas faire ça
Ou quelqu'un saurait convertir en mesh cet exemple blender ?
http://jmsoler.free.fr/util/blenderfile ... hing.blend
Quelqu'un saurait créer un mesh avec du morph animation ?
Un truc tout simple, ça serait pour faire des essais avec Ogre et comme je suis nul avec les éditeurs 3D, je ne sais pas faire ça

Ou quelqu'un saurait convertir en mesh cet exemple blender ?
http://jmsoler.free.fr/util/blenderfile ... hing.blend
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: [3D] Quelques suggestions
salutcomtois a écrit :bonsoir,
Quelqu'un saurait créer un mesh avec du morph animation ?
Un truc tout simple, ça serait pour faire des essais avec Ogre et comme je suis nul avec les éditeurs 3D, je ne sais pas faire ça![]()
Ou quelqu'un saurait convertir en mesh cet exemple blender ?
http://jmsoler.free.fr/util/blenderfile ... hing.blend
Je vais regarder ça et tenter d'obtenir un fichier mesh, mais je n'ai vu nullepart qu'on pouvait sortir les morph depuis blender en ogre (je continue de regarder).
Edit :
ok, j'ai trouvé, je t'ai fait un truc super hyper simple : un cube qui devient une pyramide

http://blendman.free.fr/dev/pb/3D/pureb ... apekey.zip
Tu me diras si tout est ok pour toi et surtout comment tu fais pour lancer le morph (les shapekey)

Dernière modification par blendman le dim. 10/juin/2012 9:47, modifié 1 fois.
http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Re: [3D] Quelques suggestions
Je viens de regarder , apparemment c'est possible d'exporter du pose ou morph animations.
http://www.ogre3d.org/tikiwiki/Blender+Exporter
http://www.ogre3d.org/tikiwiki/Blender+Exporter
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: [3D] Quelques suggestions
exact, j'avais édité mon message entre tempscomtois a écrit :Je viens de regarder , apparemment c'est possible d'exporter du pose ou morph animations.
http://www.ogre3d.org/tikiwiki/Blender+Exporter

"ok, j'ai trouvé, je t'ai fait un truc super hyper simple : un cube qui devient une pyramide

http://blendman.free.fr/dev/pb/3D/pureb ... apekey.zip
http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Re: [3D] Quelques suggestions
Je viens de tester ton mesh et malheureusement je ne peux pas créer d'entity avec, j'ai cette erreur :
Sinon ton mesh comporte du pose animation et pas du morph animation.
Mais c'est bien, ça me permettra de valider aussi le pose animation. Pour le pose animation il y a un modèle dans le SDK d'ogre et ce modèle fonctionne, il faut donc que je compare ton modèle avec celui d'ogre.
Faut que j'analyse pourquoi !+ CreateEntity(): OGRE EXCEPTION(2:InvalidParametersException): Index out of bounds. in Mesh::getSubMesh at OgreMesh.cpp (line 213)
Sinon ton mesh comporte du pose animation et pas du morph animation.
Mais c'est bien, ça me permettra de valider aussi le pose animation. Pour le pose animation il y a un modèle dans le SDK d'ogre et ce modèle fonctionne, il faut donc que je compare ton modèle avec celui d'ogre.
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: [3D] Quelques suggestions
bizarre, je l'ai ouvert sans problème avec la 4.60 (et mon éditeur de level 3D).comtois a écrit :Je viens de tester ton mesh et malheureusement je ne peux pas créer d'entity avec, j'ai cette erreur :
Faut que j'analyse pourquoi !+ CreateEntity(): OGRE EXCEPTION(2:InvalidParametersException): Index out of bounds. in Mesh::getSubMesh at OgreMesh.cpp (line 213)
pourtant, j'ai exporté les shapekey (morph), alors, peut être que le script modifie ça en pose animation et non en shapekey (morph).Sinon ton mesh comporte du pose animation et pas du morph animation.
Mais c'est bien, ça me permettra de valider aussi le pose animation. Pour le pose animation il y a un modèle dans le SDK d'ogre et ce modèle fonctionne, il faut donc que je compare ton modèle avec celui d'ogre.
EDIT :
bon, visiblement, blender n'exporte que ça (shape animation qu'il doit convertir en pose animation) ou l'armature (skeleton).
http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Re: [3D] Quelques suggestions
J'ai refait un code plus simple pour tester et cette fois ci j'arrive à ouvrir le mesh et créer une entity , il me reste à animer tout ça.
Pour le morph animation j'ai lu que très peu d'éditeurs permettaient l'export, il faut souvent construire le fichier à la main ou des utilitaires permettent de simplifier les opérations, mais ça passe par du code
http://www.ogre3d.org/tikiwiki/Morph+an ... _animation
Bon ben pas grave, je vais déjà tester ton pose animation, avec l'animation par skeleton ça donnera 2 possibilités
Et je vais essayer de convertir en mesh le fichier xml proposé par le site, ça me permettra quand même d'avoir un fichier pour tester.
Pour le morph animation j'ai lu que très peu d'éditeurs permettaient l'export, il faut souvent construire le fichier à la main ou des utilitaires permettent de simplifier les opérations, mais ça passe par du code

http://www.ogre3d.org/tikiwiki/Morph+an ... _animation
Bon ben pas grave, je vais déjà tester ton pose animation, avec l'animation par skeleton ça donnera 2 possibilités

Et je vais essayer de convertir en mesh le fichier xml proposé par le site, ça me permettra quand même d'avoir un fichier pour tester.
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: [3D] Quelques suggestions
J'ai créé un mesh à partir de l'exemple xml du site, et l'animation morph fonctionne bien, il n'y a rien à faire côté PB, c'est identique à l'animation d'un skeleton.Et je vais essayer de convertir en mesh le fichier xml proposé par le site, ça me permettra quand même d'avoir un fichier pour tester.
Par contre pour le pose animation, c'est pas encore ça.
Pour l'instant je peux lire le nom de l'animation, obtenir le nombre d'animation dispo dans le mesh, mais rien ne bouge ! C'est une question de temps, j'y arriverai

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: [3D] Quelques suggestions
C'est bon j'arrive à animer ton mesh avec la pose animation 

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: [3D] Quelques suggestions
maintenant que la 5.00 est sortie je peux te donner mon code de test Tu peux copier ce code dans mon archive 'exemples', de mémoire les médias nécessaires sont présents.
Code : Tout sélectionner
;Use [PageUp] and [PageDown]
IncludeFile "Screen3DRequester.pb"
Define.f MouseX, MouseY, Pose
#Mesh = 1
Macro Clamp(num, min, max)
If num<min
num=min
ElseIf num>max
num=max
EndIf
EndMacro
If InitEngine3D()
Add3DArchive("Data/Textures", #PB_3DArchive_FileSystem)
Add3DArchive("Data/Models", #PB_3DArchive_FileSystem)
Add3DArchive("Data/Scripts", #PB_3DArchive_FileSystem)
Add3DArchive("Data/Packs/Desert.zip", #PB_3DArchive_Zip)
Parse3DScripts()
InitSprite()
InitKeyboard()
InitMouse()
If Screen3DRequester()
WorldShadows(#PB_Shadow_Modulative)
;Ground
;
CreateMaterial(0, LoadTexture(0, "Dirt.jpg"))
CreatePlane(0, 1500, 1500, 40, 40, 15, 15)
CreateEntity(0,MeshID(0),MaterialID(0))
;- Mesh
LoadMesh(#Mesh, "shapekey.mesh")
; Create a animation state For each vertex pose, using the pose name
Track = 0
KeyFrame = 0
PoseIndex = 0
Animation$ = MeshPoseName(#Mesh, PoseIndex)
CreateVertexAnimation(#Mesh, Animation$, 0) ; Create animation just for this pose
CreateVertexTrack(#Mesh, Animation$, Track) ; Create track for this pose
CreateVertexPoseKeyFrame(#Mesh, Animation$, Track, KeyFrame); Create a keyframe for this pose.
;- Entity
CreateEntity(1, MeshID(#Mesh), #PB_Material_None, 0, 50, 0)
ScaleEntity(1, 3, 3, 3)
StartEntityAnimation(1, Animation$)
;- SkyBox
SkyBox("Desert07.jpg")
;- Camera
CreateCamera(0, 0, 0, 100, 100)
CameraLocate(0, 10, EntityY(1) + 4, -10)
CameraLookAt(0, EntityX(1), EntityY(1), EntityZ(1))
;- Light
CreateLight(0, RGB(255, 255, 255), -40, 100, 80)
AmbientColor(RGB(80, 80, 80))
Repeat
Screen3DEvents()
If ExamineMouse()
MouseX = -MouseDeltaX()/10
MouseY = -MouseDeltaY()/10
EndIf
If ExamineKeyboard()
If KeyboardPushed(#PB_Key_PageDown) And Pose < 1
Pose + 0.01
Clamp(Pose, 0, 1)
ElseIf KeyboardPushed(#PB_Key_PageUp) And Pose > 0
Pose - 0.01
Clamp(Pose, 0, 1)
EndIf
EndIf
; update the pose reference
UpdateVertexPoseReference(#Mesh, Animation$, Track, KeyFrame, PoseIndex, Pose)
; update animation state since we're fudging this manually
UpdateEntityAnimation(1, Animation$)
RotateCamera(0, MouseY, MouseX, 0, #PB_Relative)
RenderWorld()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1
EndIf
Else
MessageRequester("Error", "The 3D Engine can't be initialized",0)
EndIf
End
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: [3D] Quelques suggestions
Salut Comtois,
Je viens de tester le code que tu as posé.
Sur Windows7, le RenderWorld() ne passe pas : Accès mémoire Invalide (tes autres sources fonctionnent).
J'ai bien mis le code dans ton répertoire d'exemple et j'ai vérifié que les data sont bien accessibles via le Add3DArchive.
Lors de la Compil, PB ne trouvait pas la librairie D3dx9_42.dll que j'ai placé dans le répertoire exemples.
As-tu besoin d'éléments complémentaires ?
Je testerai à la maison sur d'autres postes...
Je viens de tester le code que tu as posé.
Sur Windows7, le RenderWorld() ne passe pas : Accès mémoire Invalide (tes autres sources fonctionnent).
J'ai bien mis le code dans ton répertoire d'exemple et j'ai vérifié que les data sont bien accessibles via le Add3DArchive.
Lors de la Compil, PB ne trouvait pas la librairie D3dx9_42.dll que j'ai placé dans le répertoire exemples.
As-tu besoin d'éléments complémentaires ?
Je testerai à la maison sur d'autres postes...
Only PureBasic makes it possible