Aller au contenu


ModelToOBJ


2 réponses à ce sujet

#1 Matse

  • Moderateur
  • 3 592 messages

Posté 05 octobre 2006 - 01:56

Yop !

Voici un petit bout de code permettant d'exporter un modèle contenu dans un W3D au format .OBJ

A mettre en script d'animation et à appeler comme ça : modelToObj(member("monW3D").model(x)) (où "x" est le numéro ou le nom du modèle à exporter)

Chaque modèle est exporté dans le dossier où se trouve votre animation, nommé nomDuModel.obj

J'ai eu beau fouiller les specs du format OBJ c'est un joyeux bazar et j'ai pas trouvé comment exporter plusieurs modèles à la suite dans un même fichier .obj... si quelqu'un sait comment faire postez à la suite et je mettrai le code à jour.

CODE

on ModelToOBJ mModel
  
  crlf = numToChar(13) & numToChar(10)
  
  data = "# file generated by ModelToOBJ export script by Matse" & crlf
  
  put "g" && mModel.name & crlf after data
  
  mModel.addModifier(#meshDeform)
  meshCount = mModel.meshDeform.mesh.count
  -- vertices
  repeat with i = 1 to meshCount
    vertexCount = mModel.meshDeform.mesh[i].vertexList.count
    repeat with j = 1 to vertexCount
      vert = mModel.meshDeform.mesh[i].vertexList[j]
      put "v" && vert.X && vert.Y && vert.Z & crlf after data
    end repeat
  end repeat
  
  -- faces
  repeat with i = 1 to meshCount
    vertexCount = mModel.meshDeform.mesh[i].face.count
    repeat with j = 1 to vertexCount
      face = mModel.meshDeform.mesh[i].face[j]
      put "f" && face[1] && face[2] && face[3] & crlf after data
    end repeat
  end repeat
  
  -- write file to hard disk
  io = Xtra("fileIO").new()
  tPath = the moviePath & mModel.name & ".obj"
  io.openFile(tPath, 0)
  tError = io.status()
  if NOT tError then io.delete()
  
  io.createFile(tPath)
  io.openFile(tPath, 0)
  io.writeString(data)
  io.closeFile()
  
end


#2 karlsigiscar

    Ceinture Verte

  • Members
  • 68 messages

Posté 05 octobre 2006 - 03:56


Super Matse !

Reste plus qu'a exporter les shaders en exportant un fichier .mtl et ce sera le top du top !

Cordialement,
Karl.


#3 Matse

  • Moderateur
  • 3 592 messages

Posté 05 octobre 2006 - 04:30

Yop Karl !

Ouais c'est vrai... j'en avais pas besoin quand je l'ai écrit mais je mets ça sur ma ToDo icon_mrgreen.gif





1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS - Tel. 0826 466 613 - Fax. 01 72 70 31 38

FFP