Blender to agk

Arkeos chronicle est un jeu en 2d, il utilise des sprites. Mais peut-être que dans une prochaine version ou un projet j’utiliserai des modèles 3d dans le jeu.

 

Voici donc un tutoriel pour exporter un objet 3d ou une animation de blender vers agk.

1) créer ou importer l’objet 3d dans blender.

  •  Ne pas avoir trop de faces (pour un personnage entre 500 et 3000 environ), s’il le faut, réduisez le nombre de faces.
  • Réaliser un uvmapping correct. Déplier l’uv  : en mode édition, panneau outil/uv tools, utiliser unwrapp. Si besoin, modifier l’uv mapping, pour éviter d’avoir des faces qui se chevauchent.
  • Créer la texture : vous pouvez peindre sur le modèle,  y compris des photos,  ou utiliser l’outil « bake », dans le panneau render, tout en bas.

Si votre objet n’est pas animé,  allez directement au 3) exporter le modèle

2) Animation dans blender

C’est une étape délicate. Agk permet d’importer divers formats : .dae, .x sont les deux formats qui semblent les mieux. Cependant, agk ne supporte pas les scales.

Il faut donc faire attention à ne surtout jamais les utiliser dans blender. Sinon, vous devrez sans doute convertir le modèle avec un outil de conversion 3d comme ultimate unwrapp 3d (environ 60 €) ou open3dmodel (gratuit et open source).

 

Attention  :

  •  Avant de créer l’armature, vérifier bien la taille de votre modèle, si besoin,  exporter le en .obj et tester sa taille dans agk. Agrandissez le modèle en mode édition et non en mode objet. Sinon, ensuite, vous devrez appliquer le scale avec les touches ctrl +a / apply scale.
  • Placer votre modèle au centre de la vue, idem pour l’armature. Car lors de l’export, ce sera là le pivot de l’objet.

 

Pour l’animation dans blender :

  • Créer l’armature,  en créant les os à la main. Il n’est pas possible hélas d’utiliser rigify à cause des scales qu’il contient. Pour agrandir un bone, ne pas utiliser le scale, mais tirer sur la tête de l’os par exemple.
  • Il semble qu’on ne puisse pas utiliser la cinématique inverse (ik solver) ou les autres modifiers de bones, sinon, ça insère du scale sur l’armature.
  • Une fois mise en place, parenter le modèle 3d avec l’armature ,  sélectionner le modèle 3d puis l’armature puis appuyer sur ctrl +p, choisir automatic weight si possible, ou use enveloppe.
  • Si besoin, modifier le weight painting pour que tout soit correct. Sélectionner le modèle, et passer en mode weight paint et selectionner chaque vertex group, puis modifier le weight, dans le panneau de gauche (touche t).
  • Quand c’est ok, on peut animer. Ouvrir l’écran dopesheet, pour avoir accès aux clefs d’animation si besoin. Attention : n’utiliser qu’une seule action pour toutes vos animations, car blender n’exporte que la première action (export en .dae)
  • Ensuite animer votre modèle en bougeant les os ou en faisant des rotations, jamais de scale ! Bouger un os puis appuyer sur la touche i pour insérer une clef, choisir locrot.
  • Il est possible d’activer l’autokey. Mais dans les préférences utilisateur, attention à cocher la case « only channel available », pour ne jamais insérer de scale.
  • Lorsque votre animation est terminée,  vous allez pouvoir exporter. Vous pouvez nettoyer certains channels, dans l’écran dopesheet. Selectionner toutes les clefs, puis appuyer sur x, choisissez « clean channels ».

 

3) exporter pour agk

Votre objet 3d et son animation sont prêts. Vous pouvez l’exporter :

  • Vérifier que le modèle 3d et l’armature sont bien au centre de la vue.
  • Selectionner le modèle et l’armature, si c’est un objet animé.
  • Menu file / export : pour animation, choisir collada (dae) ou .x. Pour un objet normal, le format .obj, .x ou autre devrait fonctionner.
  • Export .obj : Apply Modifiers, Include Edges, Include Normals, Include UV, Objects as OBJ objects
  • Export .dae :
  • Export .x : exports meshes, normals, uv coordinnates, export skin weights, amatures bones, rest position, animation, animation as animationset.

4) importer le modèle 3d dans agk (appgamekit)

  • Utiliser Loadobjectwithchildren ().
  • use the frame for your animation.For example, in blender, you should have :
    Total frames (for 10 animation of 20 frames) : 200 frames
    – frame 0 to 20 : walk
    – frame 21 to 40 : run
    – frame 41 to 60 : die
    and so…

    In AppGameKit, you can use :
    walk -> framend = 20 /200 or 0.1 -> PlayObjectAnimation(objid, » »,0,0.1,1,0)
    Run -> framend = 40 /200 or 0.2 -> PlayObjectAnimation(objid, » »,21/200,0.2,1,0)
    die -> framend = 60 /200 or 0.3 -> PlayObjectAnimation(objid, » »,41/200,0.3,1,0)
    and so.

Et voilà !

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s