[Blender x Python] Créez votre propre fonction et résumé jusqu'à présent

Dans cet article, je vais vous montrer comment créer vos propres fonctions pour faciliter le traitement plus polyvalent.

table des matières

  1. Qu'est-ce qu'une fonction?
  2. Type de fonction
  3. Exemple de code pour créer une fonction
  4. Mots anglais

0. Qu'est-ce qu'une fonction?

Une fonction est comme un périphérique de sortie. Reçoit les informations d'argument et exécute le processus.

Cela ressemble à `` nom de la fonction (argument 1, argument 2, ...) ''. L'argument agit comme un paramètre. En d'autres termes, si vous jouez avec les arguments, le résultat du processus changera.

À cet égard, c'est similaire à la cuisine. Si vous modifiez la quantité de sel (paramètre), le goût (rendement) du plat changera naturellement.

1. Type de fonction

Il existe deux types de fonctions.

** Fonctions fournies par quelqu'un ** et ** Fonctions créées par vous-même **.

1-0. Une fonction préparée par quelqu'un

Les fonctions telles que `` primitive_cube_add () '' qui ajoutent des cubes qui ont été fréquemment utilisés sont des ** fonctions fournies par quelqu'un **.

Vous pourriez penser que c'est un nom de fonction long, tel que `` primitive_cube_add () '', mais je suis sûr que certains oncles ont travaillé dur pour parler et ont créé une fonction avec un nom aussi long. Je vais.

1-1. Fonctions que vous créez vous-même

Je suis reconnaissant d'utiliser les fonctions préparées par mes oncles pour créer mes propres fonctions.

① ** Définition ** ② ** Utiliser **

Procédez dans l'ordre de.

Pour être un peu plus précis,

fonction def():
En traitement

Après avoir ** défini ** la fonction comme

fonction()

Ecrivez.

Jetons un regard concret dans le prochain chapitre.

1-2. Essayez de créer une fonction

Créons une fonction qui fait apparaître un cube.

Tout d'abord, jetons un coup d'œil à la fonction `` primitive_cube_add () '' qui fait apparaître un cube que quelqu'un a préparé.

import bpy

bpy.ops.mesh.primitive_cube_add()

Utilisez ceci pour créer votre propre fonction.

① Définition

Dans l'exemple ci-dessous, vous définissez vous-même une fonction appelée cube ().

import bpy

#Définition de la fonction d'origine
def cube():
    #Une fonction fournie par quelqu'un
    bpy.ops.mesh.primitive_cube_add()

Dans le code ci-dessus, je ** définis ** ma fonction d'origine cube () '' en utilisant def ''. La structure est la suivante.

def Le nom de la fonction que vous créez():
Ce que vous voulez faire lorsque vous appelez une fonction

② Utiliser Appelons la fonction.

cube()

Seulement ça. L'image entière est la suivante.

import bpy

#Définition des fonctions
def cube():
    #Ce que vous voulez faire lorsque vous appelez une fonction
    bpy.ops.mesh.primitive_cube_add()

#Cube de fonctions auto-défini()Appel
cube()

スクリーンショット 2020-11-15 17.25.32.png

2. Exemple de code pour créer une fonction

Je pense que c'est plus facile à comprendre si vous regardez un exemple concret, donc je posterai un exemple de code et une brève explication d'ici.

Créer une fonction pour transformer un objet en fil de fer

import bpy

def cube():
    bpy.ops.mesh.primitive_cube_add()

def wireframe():
    bpy.ops.object.modifier_add(type='WIREFRAME')
    
cube()
wireframe()

スクリーンショット 2020-11-15 15.11.10.png

Utilisez la fonction filaire parmi d'autres fonctions

import bpy

#Une fonction qui fait d'un objet un fil de fer
def wireframe():
    bpy.ops.object.modifier_add(type='WIREFRAME')

#Une fonction qui fait apparaître un cube en fil de fer tout en modifiant sa taille
def wireframe_cube(_size = 2,num = 3):
    for i in range(0,num):
        bpy.ops.mesh.primitive_cube_add(
            size = _size * i
        )
        #Transformez les objets en fil de fer un par un
        wireframe()
    
#La première taille est 1 et le double. Le nombre de cubes est de 10.
wireframe_cube(_size = 1,num = 10)

スクリーンショット 2020-11-15 15.24.31.png

Créer une fonction pour faire apparaître uv_spehre

import bpy

#sphere()Définissez une fonction appelée
#Permet l'ajustement de la douceur et de la position de l'apparence
def uv_sphere(_segments = 32,_location = (0,0,0)):
    bpy.ops.mesh.primitive_uv_sphere_add(
    segments=_segments,
    location = _location
    )

#Faire apparaître 3
uv_sphere()
uv_sphere(_segments = 16,_location = (3,0,0))
uv_sphere(_segments = 3,_location = (6,0,0))

スクリーンショット 2020-11-15 15.03.36.png


Créer une fonction qui organise les cubes dans une ligne

import bpy

#Définition d'une fonction qui fait apparaître n'importe quel nombre de cubes dans une ligne depuis n'importe quel endroit
#Remplacez l'argument par la valeur par défaut
def cube_line_up(start_position = (0,0,0),num = 2,distance = 2):
    for i in range(0,num * distance + 1,distance):
        bpy.ops.mesh.primitive_cube_add(
        #Disposer dans la direction de l'axe X
        location=(start_position[0] + i,start_position[1],start_position[2])
        )

#Cube de fonctions auto-défini()Appel
cube_line_up()
cube_line_up(start_position = (0,-4,0),num = 10,distance = 5)
cube_line_up(start_position = (0,-8,0),num = 4,distance = 3)

スクリーンショット 2020-11-15 14.23.07.png

Créer une fonction pour définir le matériau (verre)

import bpy

#Définition de la fonction qui fait apparaître le cube
def cube():
    bpy.ops.mesh.primitive_cube_add()

#Définition de la fonction qui définit le matériau
def material(name = 'material',color = (0, 0, 0, 1)):
    material_glass = bpy.data.materials.new(name)
    #Rendre le nœud disponible
    material_glass.use_nodes = True
    p_BSDF = material_glass.node_tree.nodes["Principled BSDF"]
    #0→BaseColor/7→roughness(=Rugosité)/15→transmission(=propagation)
    #default_value = (R, G, B, A)
    p_BSDF.inputs[0].default_value = color
    p_BSDF.inputs[7].default_value = 0
    p_BSDF.inputs[15].default_value = 1
    #Ajouter des éléments matériels à un objet
    bpy.context.object.data.materials.append(material_glass)

cube()
material(name = 'Red',color = (1, 0, 0, 1))

スクリーンショット 2020-11-15 16.48.48.png

スクリーンショット 2020-11-13 19.19.02.png

Créer une fonction pour définir le matériau (métal)

import bpy

#Définition de la fonction qui fait apparaître le cube
def cube():
    bpy.ops.mesh.primitive_cube_add()

#Définition de la fonction qui définit le matériau
def material(name = 'material',color = (0, 0, 0, 1)):
    material_glass = bpy.data.materials.new(name)
    #Rendre le nœud disponible
    material_glass.use_nodes = True
    p_BSDF = material_glass.node_tree.nodes["Principled BSDF"]
    #0→BaseColor/4→Metallic(=métal)/7→Roughness(=Rugosité)
    #default_value = (R, G, B, A)
    p_BSDF.inputs[0].default_value = color
    p_BSDF.inputs[4].default_value = 1
    p_BSDF.inputs[7].default_value = 0
    #Ajouter des éléments matériels à un objet
    bpy.context.object.data.materials.append(material_glass)

cube()
material(name = 'Blue',color = (0, 0, 1, 1))

u.png

3. Mots anglais

mots anglais Traduction
function fonction
context le contexte/environnement
append ajouter
default Défaut
add ajouter
distance distance
inputs avoir
principled Principe, principe
line up S'aligner
segments partie/Séparation

Recommended Posts

[Blender x Python] Créez votre propre fonction et résumé jusqu'à présent
Créez vos propres commandes Linux en Python
[LLDB] Créez votre propre commande avec Python
Créez votre propre exception
Résumé des arguments de la fonction Python
Créez votre propre Big Data en Python pour validation
Créer une fonction en Python
Créez votre propre middleware Django
[Python] Créez votre propre bot LINE
[Python] journalisation dans votre propre module
Créez votre propre classe de structure graphique et son dessin avec python
Essayez docker: créez votre propre image de conteneur pour une application Web Python
Créez votre propre service de résolution de noms
[Django] Créez votre propre page d'erreur 403, 404, 500
[OpenCV; Python] Résumé de la fonction findcontours
Créez votre propre caméra virtuelle avec Python + OpenCV et appliquez des effets originaux
Créer un décorateur de fonction Python avec Class
Créez wordcloud à partir de votre tweet avec python3
Utilisez facilement vos propres fonctions en Python
Créez votre propre serveur DNS avec Twisted
Créez un environnement python sur votre Mac
[Python] Empaquetez et distribuez vos propres modules
Créez votre propre valeur composite avec SQLAlchemy
[Python] Enregistrez votre propre bibliothèque dans PyPI
Jusqu'à ce que vous installiez votre propre bibliothèque Python
Publiez votre propre bibliothèque Python sur Homebrew
Obtenez votre propre adresse IP en Python
Résumé Python
fonction python ①
[Python] fonction
Résumé Python
fonction python ②
Python a fini par être reconnu jusqu'à présent.
[Python] Implémentez votre propre classe de type liste à l'aide de collections.UserList
Créez rapidement votre propre module avec setuptools (python)
Importez vos propres modules avec le développement Python de Grasshopper
Créez une roue de votre propre module OpenCV
python: utilisez votre propre classe pour numpy ndarray