Raydium 3D Game Engine

Official forum for everything about Raydium, ManiaDrive, MeMak, ...
It is currently Thu Mar 28, 2024 1:36 pm

All times are UTC




Post new topic Reply to topic  [ 17 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: export blender vers tri
PostPosted: Sun Feb 11, 2007 8:29 am 
Offline

Joined: Tue Jan 16, 2007 10:33 am
Posts: 12
Bonjour
L'export d'une strucutre blender en filaire vers un fichier tri dure des heures.C'est vrai que le fichier blender est très "escarpé" (je l'ai obtenu à partir d'une image en niveaus de gris).
Dans la fenêtre console j'ai ceci : ok it's a mesh
frame 0
frame 1 etc...
Actuellement le fichier tri s'écrit sur le disque et il en est à une taille de 800Mo qui continue d'augmenter depuis à peu près 15 heures que j'ai lancé le script python fourni avec raydium.Je ne connais plus la taille exacte de mon fichier ter que j'avais à l'origine.
Merci de votre réponse.


Top
 Profile  
 
 Post subject: Aïe
PostPosted: Sun Feb 11, 2007 1:05 pm 
Offline

Joined: Sun Oct 09, 2005 10:46 pm
Posts: 759
Bonjour,

Je ne suis spécialiste des fichiers tri.

Cependant quelques remarques qui pourraient t'aider.

Le fichier tri est ensuite importé dans raydium pour assurer le rendu de la scène. Si le fichier fait 800Mo, je n'ose imaginer la carte video qu'il va falloir pour afficher quelque chose. Il doit y avoir un maillage beaucoup (c'est un faible mot beaucoup) trop fin.
A mon avis ton fichier ne te servira a rien.
De plus si tu as frame0 ... C'est que tu doit exporter une animation. Est ce bien la manipulation voulue ?

Essaye de décrire ce que tu veux faire. Et le fichier blender source.

Bonne journée
Jacques


Top
 Profile  
 
 Post subject:
PostPosted: Sun Feb 11, 2007 1:54 pm 
Offline

Joined: Tue Jan 16, 2007 10:33 am
Posts: 12
De toutes facon j'ai laissé tomber la construction de ce fichier qui n'en finissait pas.Je pars d'un fichier ter (terragen) que j'exporte vers blender à l'aide d'un script trouvé sur internet .J'ai voulu recommencer la manip avec un fichier plus simple mais là je n'arrive même pas à l'importer dans blender. La console me dit "object shadow not found". Mon but est de finir par un fichier tri afin que je puisse m'en servir dans raydium.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Feb 11, 2007 2:02 pm 
Offline

Joined: Sun Oct 09, 2005 10:46 pm
Posts: 759
Bonjour,

Fait attention a la taille du fichier avant export.

Lance un blender
efface tout a puis x
ajoute un plan
subdive (w) fractal 10 par exemple et rand (10) pour un terrain accidenté
transforme le tout en triangles ctrl-t
tu peux maintenant l'exporter en .tri ce ne durera que quelques secondes.

A+
Jacques


Top
 Profile  
 
 Post subject:
PostPosted: Sun Feb 11, 2007 2:03 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Salut,

Tu donnes peu d'infos, mais je pense que tu utilises le mauvais script d'export pour Raydium : sauf cas particulier (animation MD2), n'utilise pas triEXP-MD2-36.py mais bien triEXP-B2-36.py .

Pour info, 50 Mo pour un fichier .TRI, c'est déjà costaud :)


Top
 Profile  
 
 Post subject:
PostPosted: Sun Feb 11, 2007 5:57 pm 
Offline

Joined: Tue Jan 16, 2007 10:33 am
Posts: 12
En utilisant le script triEXP-b2-36 j'obtiens ceci dans la console :
Ok it's a mesh
File " triEXP-b2-36.py" line 69, in fs_callback
File " triEXP-b2-36.py" line 41, in writefaces
Indexerror : list index out of range.
Je ne cherche pas à exporter d'animation. Mon fichier blender est en filaire.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Feb 11, 2007 6:06 pm 
Offline

Joined: Sun Oct 09, 2005 10:46 pm
Posts: 759
Bonjour,

Verifie que tes faces sont bien mappées ou qu'une couleur leur a été affectée.

A+
Jacques


Top
 Profile  
 
 Post subject:
PostPosted: Sun Feb 11, 2007 6:25 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Le format .tri ne gère que les triangles, comme son nom le laisse penser :)

Je ne sais pas ce qu'est ton "mode filaire", mais tu doit avoir des faces triangulaires (éventuellement CTRL+T avec tous tes points sélectionnés). Fait nous passer un fichier d'exemple si tu galères trop.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Feb 11, 2007 7:18 pm 
Offline

Joined: Sun Oct 09, 2005 10:46 pm
Posts: 759
nouveau script d'export.

Voici une version mise a jour du script d'export qui gere une couleur par defaut si il n'y a pas d'information de couleur pour une face.

Code:
#!BPY

"""
Name: 'Raydium Export (.tri format)'
Blender: 2.36"
Group: 'Export'
Tooltip: 'Export to .tri format with normals'
"""

#import rpdb2;
#rpdb2.start_embedded_debugger("test",True)

import Blender

from Blender import NMesh

class source:
   def __init__(self,filename):
      self.file=open(filename,"w")

   def writeFaces(self):
      scene=Blender.Scene.getCurrent()
      self.file.write("1\n") #tri version
      
      for object in scene.getChildren():
          objtype=object.getType()
          if objtype == "Mesh":
         print "ok, it's a mesh"
         mesh=object.getData()
         vlist=mesh.verts
         for face in mesh.faces:
            if len(face)!=3:
                print "ERROR: NOT A TRIANGLE ONLY MESH ! (select all vertices and use CTRL+T)"
                      for i in range(3): #triangles only ! (CTRL+T)
                          indx=vlist.index(face[i])
                if(face.image):
               u=face.uv[i][0]
               v=face.uv[i][1]
               self.file.write("%f %f %f %f %f %f %f %f %s\n" % (vlist[indx].co[0],vlist[indx].co[1],vlist[indx].co[2],vlist[indx].no[0],vlist[indx].no[1],vlist[indx].no[2],u,v,face.image.name))
                else:
                  if(len(face.col)==0):
                     self.file.write("%f %f %f %f %f %f 0 0 rgb(1,1,0)\n" % (vlist[indx][0],vlist[indx][1],vlist[indx][2],vlist[indx].no[0],vlist[indx].no[1],vlist[indx].no[2]))
                  else:
                     self.file.write("%f %f %f %f %f %f 0 0 rgb(%3.3f,%3.3f,%3.3f)\n" % (vlist[indx][0],vlist[indx][1],vlist[indx][2],vlist[indx].no[0],vlist[indx].no[1],vlist[indx].no[2],face.col[i].r/255.0,face.col[i].g/255.0,face.col[i].b/255.0))
               
# get the face normals
#         self.file.write("GLfloat normals[%d][3] = {\n" % len(mesh.normals) )
#         for normal in mesh.normals:
#            self.file.write("{ %ff, %ff, %ff },\n" % (normal[0],normal[1],normal[2]))
#         self.file.write("};\n\n")

# get the mesh colors
#         if mesh.colors:
#            self.file.write("char OBJ_HAVE_COLORS=1;\n")
#            self.file.write("GLfloat colors[%d][3] = {\n" % len(mesh.colors) )
#            for color in mesh.colors:
#               self.file.write("{ %ff, %ff, %ff },\n" % (color[0],color[1],color[2]))
#            self.file.write("};\n\n")
#         else:
#            self.file.write("char OBJ_HAVE_COLORS=0;\nGLfloat *colors;\n")


   def close(self):
         self.file.flush()
         self.file.close()

def fs_callback(filename):
   if filename.find('.tri', -4) <= 0: filename += '.tri'
   obj=source(filename)
   obj.writeFaces()
   obj.close
   print "Exported to %s. Textures must be .tga, uncompressed, origin NOT at lower-left.\n" % (filename)

#fs_callback("tt.tri")
Blender.Window.FileSelector(fs_callback, "Export Raydium Tri")


Fais un copié collé a la place de l'ancien script.
Fais en bon usage.

Jacques


Top
 Profile  
 
 Post subject:
PostPosted: Sun Feb 11, 2007 7:48 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
ouille : Le problème d'eric n'est probablement pas celui là (pour l'instant :) ).
Cette version devrait cependant rejoindre le SVN (avec une couleur grise plus que du rouge) s'il a été testé.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Feb 11, 2007 8:02 pm 
Offline

Joined: Sun Oct 09, 2005 10:46 pm
Posts: 759
Au cas ou.

Cette erreur je l'avais déjà eu, et le message d'erreur ressemblait bien a celui la.

Le script est corrigé, couleur grise (0.6,0.6,0.6).
Je fais la livraison.

A+
Jacques


Top
 Profile  
 
 Post subject:
PostPosted: Sun Feb 11, 2007 10:27 pm 
Offline

Joined: Tue Jan 16, 2007 10:33 am
Posts: 12
Je vais essayer le script de ouille demain.Je suis bien en triangulaire (Crlt+T).Par contre je n'ai pas du tout compris ce qu'était les faces mapés.
Je vous tiens au courant.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Feb 12, 2007 10:23 am 
Offline

Joined: Tue Jan 16, 2007 10:33 am
Posts: 12
Ton code ne marche pas. Avant même de choisir un fichier à exporter j'ai l'erreur : "IndentationError:unindent does not match any outer indentation level"
Par contre je viens de m'apercevoir qu'au lancement de blender j'ai ceci : "Checking for installed Python...No installed python found
Only built-in modules are availables.Some scripts may not run"

Sinon comment ja fais pour vous passer le fichier blender.Il fait 6mo.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Feb 12, 2007 1:58 pm 
Offline

Joined: Sun Oct 09, 2005 10:46 pm
Posts: 759
bonjour,

python a l'air sensible de l'indentation, le copier collé ne lui convient surement pas.

Essaye de récupérer le fichier dans la dernière mise à jour:
http://freeway.raydium.org/data/raydium_nightly_svn.tar.gz
Normalement le fichier corrigé a été importé hier.

"Checking for installed Python...No installed python found
Only built-in modules are availables.Some scripts may not run"
:
ce n'est pas grave, sur ma machine ca marche aussi. Les fonctions internes suffisent.

Sinon utilise l'ancien script.

Une fois ton objet crée et triangulé
Passe en mode uv face select
sélectionne bien toutes tes faces (A)
dans l'onglet texture face choisi une couleur et clique sur set vert color
ton objet doit changer de couleur.
passe en mode object et essaye l'export.

Tiens moi informé du résultat.

A+
Jacques


Top
 Profile  
 
 Post subject:
PostPosted: Mon Feb 12, 2007 7:49 pm 
Offline

Joined: Tue Jan 16, 2007 10:33 am
Posts: 12
En faisant comme tu dis tout marche nickel J'ai pu ensuite charger ce fichier dans raydium et c'est ok'ai pris le dernier scipt que tu as donné en lien mais peut être qu'avec celui fiurni dans raydium c'était pareilEn tou.t cas c'était bien une question de couleur des faces.Merci encore


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 17 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 10 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group