pense-bête de bruno sanchiz

Accueil > Blender > blender365 python

blender365 python

Publié le 12 février 2024, dernière mise-à-jour le 20 février 2024, 3 visites, 23644 visites totales.

import bpy

_scene=bpy.data.scenes["Scene"]
_objets=bpy.data.objects
_texte=_objets[2]
_collection=_scene.collection
def SousCollections(collection):
    return collection.children

def SelectionneObjetsDUneCollection(collection):
    return collection.select_all()

def SelectionneUnObjet(obj):
    obj.select_set(True)
def DeselectionneUnObjet(obj):
    obj.select_set(False)

def SelectionneUnSeulObjet(obj):
    for o in bpy.data.objects:
        DeselectionneUnObjet(o)
    SelectionneUnObjet(obj)

def ObjetsContenantMot(mot):
    return [o for o in Objets() if mot in o.name]

MATÉRIAUX


def Materiaux():
    _Materiaux=bpy.data.materials
    return  _Materiaux
def Materiaux_Noms():
    _Materiaux_Noms=[m.name for m in Materiaux()]
    return _Materiaux_Noms

def Materiau_detruire(nom):
    if nom in Materiaux_Noms():
        bpy.data.materials.remove( bpy.data.materials[nom])

bpy.data.materials['texte'].copy()
#bpy.data.materials.new(texte.name)

obj.data.materials["name"].use_nodes=True
obj.data.materials.clear()
texte.active_material=bpy.data.materials[texte.name]  OU obj.data.materials.append(bpy.data.materials["name"])

DIFFUSE BSDF
bpy.data.materials['texte.001'].node_tree.nodes['Diffuse BSDF'].inputs[0]
    .identifier === Color
    .default_value=Vector((1.,0.,0.,1))
bpy.data.materials['texte.001'].node_tree.nodes['Diffuse BSDF'].inputs[1]
    .identifier === "Roughness"
    .default_value=0.5


graph editor

 _texte.animation_data.action === bpy.data.actions['texteAction']
_texte.animation_data.action.fcurves
 _texte.animation_data.action.fcurves[1].data_path === 'location'
texte.animation_data.action.fcurves[0].keyframe_points[0].co === Vector(())
_texte.animation_data.action.fcurves[0].keyframe_points[0].handle_left === Vector(())
 _texte.animation_data.action.fcurves[0].keyframe_points[0].handle_right === Vector(())
_texte.animation_data.action.fcurves[0].keyframe_points[0].interpolation === "LINEAR"|"BEZIER"

def CourbeLineaire(courbe):
    for point in courbe.keyframe_points:
        point.interpolation="LINEAR"
        
for o in ObjetsContenantMot("texte"):
    for courbe in o.animation_data.action.fcurves:
        CourbeLineaire(courbe)

courbe de bézier

PosLocal=CourbeDeBezier.data.splines[0].bezier_points[0].co
GaucheLocal=CourbeDeBezier.data.splines[0].bezier_points[0].handle_left
DroiteLocal=CourbeDeBezier.data.splines[0].bezier_points[0].handle_right

Global=Local+CourbeDeBezier.location

bpy.ops.script.python_file_run(filepath="")

[bruno sanchiz]