Gracias Gracias:  0
Resultados 1 al 1 de 1

Tema: Como añadir y dar valor a coordenadas uv de una malla

  1. #1
    Senior Member
    Fecha de ingreso
    Feb 2008
    Mensajes
    109

    Cómo añadir y dar valor a coordenadas uv de una malla

    Hola estoy pasando un viejo script de blender 2.49 que hice para leer un archivo muy simple que contiene una malla.

    Ya he adaptado todo el código excepto la parte en la que leo de mi archivo las coordenas uv y se las paso a la malla creada. Mi problema es que en no se como se le añaden ahora coordenadas uv a una maya mediante script y se fina sus valores.

    La parte del script que no logré traducir son estas líneas que deje comentadas en el script:
    for que in range(len(malla[i].polygons)):
    #malla[i].faces[q].mode = Blender.Mesh.FaceModes['TWOSIDE']
    #malla[i].faces[q].transp = Blender.NMesh.FaceTranspModes['ALPHA']
    #malla[i].faces[q].uv=Mathutils.Vector(uv[aa[q]]), Mathutils.Vector(uv[bb[q]]), Mathutils.Vector(uv[cc[q]])
    print(i)

    Nuevo:
    Código:
     import bpy
    
    def read_some_data(context, filepath, use_some_setting):
     print("running read_some_data...")
     file = open(filepath, 'r',encoding='utf-8')
     
     print(file.readline())
     file.readline()
     cffType=file.readline().replace('Type=','')
     print(cffType)
     scene_name=cffType
     sc=bpy.data.scenes.new(scene_name)
     
     
     for scrn in bpy.data.screens:
     if scrn.name == 'Default':
     bpy.context.window.screen = scrn
     
     bpy.context.screen.scene=sc
     
     numeroparts=int(file.readline().replace('Number of blocks=',''))
     print(numeroparts)
     numerovertxpart=[]
     numerofacexpart=[]
     file.readline()
    	
    	
    	
     for i in range(0,numeroparts):
     line=file.readline()
     print(line.split()[0])
     print(line.split()[1])
     numerovertxpart.append(int(line.split()[0]))
     print(numerovertxpart[i])
     numerofacexpart.append(int(line.split()[1]))
     print(numerofacexpart[i]) 	
    	
    	
    	
    	
    	
    	
    
    	
     malla=[]
     ob=[]
     for i in range(0,numeroparts):
     malla.append(bpy.data.meshes.new(name="2k_Part"+str(i)))
     uv = []
     xyz= []
     for j in range(0,numerovertxpart[i]):
     line=file.readline()
     x,y,z,u,v=float(line.split()[0].replace(',','.')),float(line.split()[1].replace(',','.')),float(line.split()[2].replace(',','.')),float(line.split()[3].replace(',','.')),float(line.split()[4].replace(',','.'))
     uv.append((u,v))
     xyz.append((x,y,z))
     print(x,y,z)
     #malla[i].vertices.add(1)
     #malla[i].vertices[i].co=(float(x),float(y),float(z))
    		
     aa = []
     bb = []
     cc = []
     faces= [] 	
    		
     for j in range(0,numerofacexpart[i]):
     line=file.readline()
     a,b,c=int(line.split()[0]),int(line.split()[1]),int(line.split()[2])
     faces.append((a,b,c))
     aa.append(a)
     bb.append(b)
     cc.append(c)
     print(a,b,c)
     
     malla[i].from_pydata(xyz, [], faces)
     
     
     
    	
    	
     for que in range(len(malla[i].polygons)):
     #malla[i].faces[q].mode |= Blender.Mesh.FaceModes['TWOSIDE']
     #malla[i].faces[q].transp = Blender.NMesh.FaceTranspModes['ALPHA']
     #malla[i].faces[q].uv=Mathutils.Vector(uv[aa[q]]), Mathutils.Vector(uv[bb[q]]), Mathutils.Vector(uv[cc[q]])
     print(i)
    	
    		
    		
     scn =bpy.context.scene
     objeto=bpy.data.objects.new('Part' +str(i), malla[i])
     objeto.modifiers.new('Subsurf',type='SUBSURF')
     objeto.modifiers.new('Subsurf',type='SUBSURF')
     scn.objects.link(objeto)
     scn.update()
     
     
     
     file.close()
    
     # would normally load the data here
     
     return {'FINISHED'}
    
    # ImportHelper is a helper class, defines filename and
    # invoke() function which calls the file selector.
    from bpy_extras.io_utils import ImportHelper
    from bpy.props import StringProperty, BoolProperty, EnumProperty
    from bpy.types import Operator
    
    class ImportSomeData(Operator, ImportHelper):
     """This appears in the tooltip of the operator and in the generated docs"""
     bl_idname = "import_test.cff_import" # important since its how bpy.ops.import_test.some_data is constructed
     bl_label = "Import CFF"
    
     # ImportHelper mixin class uses this
     filename_ext = ".cff"
    
     filter_glob = StringProperty(
     default="*.cff",
     options={'HIDDEN'},
     )
    
     # List of operator properties, the attributes will be assigned
     # to the class instance from the operator settings before calling.
     use_setting = BoolProperty(
     name="Example Boolean",
     description="Example Tooltip",
     default=True,
     )
    
     type = EnumProperty(
     name="Example Enum",
     description="Choose between two items",
     items=(('OPT_A', "First Option", "Description one"),
     ('OPT_B', "Second Option", "Description two")),
     default='OPT_A',
     )
    
     def execute(self, context):
     return read_some_data(context, self.filepath, self.use_setting)
    
    # Only needed if you want to add into a dynamic menu
    def menu_func_import(self, context):
     self.layout.operator(ImportSomeData.bl_idname, text="Text Import Operator")
    
    def register():
     bpy.utils.register_class(ImportSomeData)
     bpy.types.INFO_MT_file_import.append(menu_func_import)
    
    def unregister():
     bpy.utils.unregister_class(ImportSomeData)
     bpy.types.INFO_MT_file_import.remove(menu_func_import)
    
    if __name__ == "__main__":
     register()
    
     # test call
     bpy.ops.import_test.cff_import('INVOKE_DEFAULT')
    Última edición por jor1980; 01-04-2014 a las 12:15

Temas similares

  1. Blender Cómo seleccionar vértices por valor de un eje
    Por vinylatex en el foro Modelado
    Respuestas: 5
    Último mensaje: 08-05-2016, 15:41
  2. Como añadir mas cosas a MIx
    Por if4uu en el foro Materiales y Texturizado
    Respuestas: 1
    Último mensaje: 08-05-2012, 15:03
  3. Blender Como añadir coordenadas uv a un vertice en blender
    Por jor1980 en el foro Programación y Scripts
    Respuestas: 1
    Último mensaje: 24-05-2009, 06:54
  4. Como Cambiar Coordenadas En Max
    Por GERMANO2006 en el foro Modelado
    Respuestas: 9
    Último mensaje: 11-03-2008, 12:25
  5. añadir un vertex a mi malla
    Por Gepetto en el foro Modelado
    Respuestas: 2
    Último mensaje: 15-03-2006, 23:35

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •