Blender

Blender est un logiciel libre très riche. Il peut servir à de nombreuses utilisations autour de la 3D et de l'animation (jeux vidéos, imagerie 3D, CAO, montage vidéo, architecture, film d'animation, …). Son ergonomie est naturellement complexe, ne vous découragez pas et lisez les ressources suivantes.

Ressources

Prise en main

Modélisation

python

la console python

ctrl c / ctrl v
  1. copier (ctrl c) au survol de n'importe quel element* de menu bouton ;
  2. coller (ctrl v) dans la console python ;
  3. touche entrée pour executer le code
bpy.ops.mesh.primitive_cylinder_add()
bpy.context.object.location.x = 3.654

pour les paramètres, faire la copie depuis la fenêtre “info” dans laquelle chaque action est traduite en script python

acceder par nom d'objet
steveX = bpy.data.objects["Monkey"].location.x

context

Thing	Attribute
The current active object	   .active_object
The current selection	           .selected_objects
The current scene	           .scene
The currently selected pose bones  .selected_pose_bones
bpy.context.active_object.name
bpy.context.active_object.modifiers['Skin'].branch_smoothing

créer une variable pour acceder context sans retaper sans cesse :

C = bpy.context
//means that: C.active_object = bpy.context.active_object
>>> C.object.active_material 
bpy.data.materials['Material.001']
  • Tout est objet
  • Les noms se réfère aux objets
  • Utiliser le context
  • Descendre.dans.les.objets.avec.des.points

Listes

for ob in bpy.context.selected_objects:
    print(ob.name)
 
for ob in bpy.context.selected_objects:
    ob.name = ob.name.upper()

select all hidden objects that have '.00' in their name.

import bpy
 
# Selectionner les objects cachés qui ont '.00' dans leur nom :
bpy.ops.object.select_all(action='DESELECT')
for ob in bpy.context.scene.objects:
    if not ob.hide:
        continue
 
    if '.00' not in ob.name:
        continue
 
    ob.select = True
    ob.hide = False

# boucle for

import bpy
 
# Create 600 tiny Monkeys rows of 25, having 1 unit between each Monkey.
for idx in range(600):
    x = idx % 25
    y = idx // 25
    bpy.ops.mesh.primitive_monkey_add(radius=0.2, location=(x, y, 1))

modulo et entiers

idx	idx % 4	idx // 4
0	0	0
1	1	0
2	2	0
3	3	0
4	0	1
5	1	1
6	2	1
7	3	1
import bpy

# Create 600 tiny Monkeys in rows of 25, having 1 unit between each Monkey.
for idx in range(600):
    x = idx % 25
    y = idx // 25
    bpy.ops.mesh.primitive_monkey_add(radius=0.2, location=(x, y, 1))
    bpy.ops.object.modifier_add(type='SUBSURF')
    bpy.ops.object.shade_smooth()

Moteur de jeu

inspiration jeu vidéo

Montage Vidéo

BLENDER & PYSERIAL

  • dowload py-serial
  • a faire ! : trouver ou est lancé la version python intégrée a Blender
  • a faire ! : declarer chemin vers pyserial

ADDONS SYMPAS