Outils pour utilisateurs

Outils du site


issue156:python

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
issue156:python [2020/04/29 11:23] auntieeissue156:python [2020/04/29 14:46] (Version actuelle) andre_domenech
Ligne 3: Ligne 3:
 If you aren't aware of Blender, I'll give you a quick introduction as to what it is, what it does, and how to do something simple, before we get into the programming aspects. I will say from the start, I am just learning how to do things with Blender from Python (and I'm not really that good with Blender by itself), so bear with me.** If you aren't aware of Blender, I'll give you a quick introduction as to what it is, what it does, and how to do something simple, before we get into the programming aspects. I will say from the start, I am just learning how to do things with Blender from Python (and I'm not really that good with Blender by itself), so bear with me.**
  
-Alors que je m'impose le confinement, je me suis à nouveau retrouvé devant la question de ce que je vous présenterais ce mois-ci. Je suis quasi certain que je ne répéterai pas ici ce j'ai déjà présenté. Ce mois-ci, nous explorerons Blender et ses possibilités de scripts en Python.+Alors que je m'impose le confinement, je me suis à nouveau retrouvé devant la question de ce que je vous présenterai ce mois-ci. Je suis quasi certain que je ne répéterai pas ici ce que j'ai déjà présenté. Ce mois-ci, nous explorerons Blender et ses possibilités de scripts en Python.
  
 Si vous ne connaissez pas Blender, je vous présenterai succinctement ce dont il s'agit, à quoi il sert, et comment faire quelque chose de simple, avant de rentrer dans les aspects de programmation. Pour commencer, je dirai que j'apprends juste comment faire des choses avec du Python dans Blender (et, pour ma part, je ne suis pas vraiment à l'aise avec Blender) ; aussi, soyez indulgents.  Si vous ne connaissez pas Blender, je vous présenterai succinctement ce dont il s'agit, à quoi il sert, et comment faire quelque chose de simple, avant de rentrer dans les aspects de programmation. Pour commencer, je dirai que j'apprends juste comment faire des choses avec du Python dans Blender (et, pour ma part, je ne suis pas vraiment à l'aise avec Blender) ; aussi, soyez indulgents. 
Ligne 16: Ligne 16:
 https://www.blender.org/download/** https://www.blender.org/download/**
  
-D'après leur site Web (blender.org), « Blender est une suite de création 3D, Open Source et gratuite. Elle supporte l'ensemble des activités de la 3D modélisation, accessoirisation, animation, simulation, rendu, composition et suivi du mouvement, montage vidéo et pipeline d'animation 2D. »+D'après leur site Web (blender.org), « Blender est une suite de création 3D, Open Source et gratuite. Elle supporte l'ensemble des activités de la 3D modélisation, accessoirisation, animation, simulation, rendu, composition et suivi du mouvement, montage vidéo et pipeline d'animation 2D. »
  
-Je suis sûr que vous avez déjà entendu parlé de « Big Buck Bunny », mais avez-vous entendu parler de l'Agent 327 ?+Je suis sûr que vous avez déjà entendu parler de « Big Buck Bunny », mais avez-vous entendu parler de l'Agent 327 ?
  
 https://www.youtube.com/watch?v=mN0zPOpADL4 https://www.youtube.com/watch?v=mN0zPOpADL4
Ligne 27: Ligne 27:
 https://docs.blender.org/api/current/change_log.html** https://docs.blender.org/api/current/change_log.html**
  
-Autre chose, avant de commencer. Blender a toujours fait des modifications et les tutoriels disponibles sont rarement à jour. En fait, beaucoup de ces tutoriels (et beaucoup d'ouvrages) sont écrits et publiés sur la base d'une présentation ou d'une pré-version qui est modifiée plusieurs fois avant la vraie publication de cette version. Un bon exemple est quand un tutoriel (pour Blender 2.8.x) fait référence à des modifications dans les préférences en y accédant par le menu Fichier > Préférences utilisateur. Ça n'existe plus. C'est en fait situé dans Édition > Préférences. Je suis ici démuni pour vous indiquer un bon endroit où vous trouveriez touts les changements comme celui-là. De nombreux appels d'API ont changé aussi ; ainsi, vous devriez garder sous le coude la documentation sur les API quand vous essayez de vous former sur ce sujet à partir d'un tutoriel ou d'un livre. La référence sur les API de Blender 2.8.2a est située à : https://docs.blender.org/api/. Par chance, la documentation sur les API a un enregistrement des modifications depuis la précédente version (la 2.7.9) sur https://docs.blender.org/api/current/change_log.html+Autre chose, avant de commencer. Blender a toujours fait des modifications et les tutoriels disponibles sont rarement à jour. En fait, beaucoup de ces tutoriels (et beaucoup d'ouvrages) sont écrits et publiés sur la base d'une présentation ou d'une pré-version qui est modifiée plusieurs fois avant la vraie publication de cette version. Un bon exemple est quand un tutoriel (pour Blender 2.8.x) fait référence à des modifications dans les Préférences en y accédant par le menu Fichier > Préférences utilisateur. Ça n'existe plus. C'est en fait situé dans Édition > Préférences. Je suis ici démuni pour vous indiquer un bon endroit où vous trouveriez tous les changements comme celui-là. De nombreux appels d'API ont changé aussi ; ainsi, vous devriez garder sous le coude la documentation sur les API quand vous essayez de vous former sur ce sujet à partir d'un tutoriel ou d'un livre. La référence sur les API de Blender 2.8.2a est située à : https://docs.blender.org/api/. Par chance, la documentation sur les API a un enregistrement des modifications depuis la précédente version (la 2.7.9) sur https://docs.blender.org/api/current/change_log.html
  
 **Now, on with the fun! **Now, on with the fun!
Ligne 43: Ligne 43:
 Maintenant, amusons-nous ! Maintenant, amusons-nous !
  
-Téléchargez Blender et extrayez-le dans le dossier convenable puis lancez-le avec une commande dans le terminal :+Téléchargez Blender et extrayez-le dans le dossier convenablepuis lancez-le avec une commande dans le terminal :
  
 $ ./blender $ ./blender
Ligne 51: Ligne 51:
 C'est le « nouveau projet » par défaut, et il contient trois objets : un cube, une caméra et un éclairage. C'est le « nouveau projet » par défaut, et il contient trois objets : un cube, une caméra et un éclairage.
  
-Je dois vous dire, tout de suite, que Blender N'est PAS quelque chose que vous pouvez apprendre en un jour ou une semaine. Cependant, si vous voulez vraiment l'apprendre, en une semaine, avec les bons tutoriels (et ceci N'en est PAS un), vous pouvez le maîtriser et devenir efficace. Vous aurez TOUJOURS besoin d'avoir votre clavier et votre souris sous la main, car Blender utilise les deux quelque soit l'action. Nous nous lancerons dans l'aspect programmation dans quelques minutes. Pour le moment, faisons quelque chose de notre scène Blender (en bas à gauche). +Je dois vous dire, tout de suite, que Blender N'est PAS quelque chose que vous pouvez apprendre en un jour ou une semaine. Cependant, si vous voulez vraiment l'apprendre, en une semaine, avec les bons tutoriels (et ceci n'en est PAS un), vous pouvez le maîtriser et devenir efficace. Vous aurez TOUJOURS besoin d'avoir votre clavier et votre souris sous la main, car Blender utilise les deux quelle que soit l'action. Nous nous lancerons dans l'aspect programmation dans quelques minutes. Pour le moment, faisons quelque chose de notre scène Blender (en bas à gauche). 
  
 **I took a screenshot of Blender, opened it into Inkscape, and labeled the camera and light for you (I think the cube is fairly obvious), and showed the three axes for you in order to help you understand the ways things will move. **I took a screenshot of Blender, opened it into Inkscape, and labeled the camera and light for you (I think the cube is fairly obvious), and showed the three axes for you in order to help you understand the ways things will move.
Ligne 75: Ligne 75:
 LARGE DISCLAIMER: While I've been a user off and on of Blender for many years and a Python programmer for almost 15 years, until I started working on this month's article, I've never tried to do anything that mixed the two. You are learning what I am learning almost in real time, but without the pain.** LARGE DISCLAIMER: While I've been a user off and on of Blender for many years and a Python programmer for almost 15 years, until I started working on this month's article, I've never tried to do anything that mixed the two. You are learning what I am learning almost in real time, but without the pain.**
  
-Effectuons un peu de codage...+Effectuons un peu de codage
  
 Sur votre écran, passez sur l'onglet Fenêtre de script, qui devrait être proche du centre de l'écran en haut. Vous devriez voir quelque chose qui ressemble à l'image en bas à droite. Sur votre écran, passez sur l'onglet Fenêtre de script, qui devrait être proche du centre de l'écran en haut. Vous devriez voir quelque chose qui ressemble à l'image en bas à droite.
Ligne 100: Ligne 100:
 Cependant, du fait du changement dans les API depuis que ça a été écrit, quand j'ai essayé de les faire tourner, il a refusé ; aussi, je l'ai transformé en une version plus simple. Cependant, du fait du changement dans les API depuis que ça a été écrit, quand j'ai essayé de les faire tourner, il a refusé ; aussi, je l'ai transformé en une version plus simple.
  
-Utilisez Texte > Nouveau pour que l'éditeur vous permette de saisir notre code. Voici le programme lui-même...+Utilisez Texte > Nouveau pour que l'éditeur vous permette de saisir notre code. Voici le programme lui-même :
  
 import bpy import bpy
Ligne 140: Ligne 140:
 C'est plutôt sans intérêt ; aussi, je ne le montre pas ici, mais c'est important de montrer comment créer un objet à partir du code. C'est plutôt sans intérêt ; aussi, je ne le montre pas ici, mais c'est important de montrer comment créer un objet à partir du code.
  
-Maintenant, démarrons un nouveau script pour quelque chose de beaucoup plus intéressant... +Maintenant, démarrons un nouveau script pour quelque chose de beaucoup plus intéressant.
 Nous l'appelerons test2.py. Nous l'appelerons test2.py.
  
-Nous commencerons par importer la bibliothèque et utiliserons la fonction clear_scene que nous avons créé dans test1.py (voir page suivante, en haut à gauche). +Nous commencerons par importer la bibliothèque et utiliserons la fonction clear_scene que nous avons créée dans test1.py (voir page suivante, en haut à gauche). 
  
 **Now we need to define a number of variables for our program. This will include the extents (size of our “world”), the count of cubes that we will create (on each layer), the spacing between each cube, and the size of each cube. The comments within the original code should be enough to help you understand what is happening. **Now we need to define a number of variables for our program. This will include the extents (size of our “world”), the count of cubes that we will create (on each layer), the spacing between each cube, and the size of each cube. The comments within the original code should be enough to help you understand what is happening.
Ligne 214: Ligne 213:
 Le reste de notre programme sera comme la fin de test1.py, parce que nous créons une lampe et une caméra dans la scène (page suivante). Le reste de notre programme sera comme la fin de test1.py, parce que nous créons une lampe et une caméra dans la scène (page suivante).
  
-Quand nous lançons notre programme, ça prend un peu de temps. Sur ma machine, ça dure environ une minute et demi. Rien ne se passe sur l'écran de Blender, mais, si vous regardez la fenêtre du terminal, vous verrez la sortie des déclarations print qui montrent que quelque chose se passe vraiment. Souvenez-vous que nous créons 1000 cubes (10 x 10 x 10) ainsi que l'éclairage et la caméra.+Quand nous lançons notre programme, ça prend un peu de temps. Sur ma machine, ça dure environ une minute et demi. Rien ne se passe sur l'écran de Blender, mais, si vous regardez la fenêtre du terminal, vous verrez la sortie des déclarations print qui montrent que quelque chose se passe vraiment. Souvenez-vous que nous créons 1 000 cubes (10 x 10 x 10) ainsi que l'éclairage et la caméra.
  
 À droite, le résultat de test2.py est présenté tel qu'il est rendu. À droite, le résultat de test2.py est présenté tel qu'il est rendu.
Ligne 227: Ligne 226:
 Until next month; stay safe, healthy, positive and creative!** Until next month; stay safe, healthy, positive and creative!**
  
-Comme toujours, j'ai téléversé ces deux programmes sur pastebin...+Comme toujours, j'ai téléversé ces deux programmes sur pastebin :
  
 Test1.py Test1.py
issue156/python.1588152195.txt.gz · Dernière modification : 2020/04/29 11:23 de auntiee