J'ai décidé d'utiliser l'image de rendu de Blender pour le brouillon du dessin animé. On suppose que l'image de rendu pour chaque image clé sera collée dans le logiciel de création de dessins animés en correspondance avec "1 image = 1 image clé".
Normalement, les cadres de dessin animé ont des proportions différentes pour chaque image. Cependant, Blender ne vous permet pas de définir la résolution de chaque image clé. Vous devez avoir la même résolution pour toutes les images clés ou basculer manuellement image par image. Les deux sont peu pratiques.
J'ai donc réfléchi à la manière de définir la résolution de chaque image clé. Blender vous permet de définir une chaîne de ** marqueurs ** sur les images clés, j'ai donc décidé d'y enregistrer le rapport hauteur / largeur de la résolution.
Dans le manga à lecture horizontale générale, la taille verticale et horizontale du cadre est indéfinie, mais cette fois, il s'agit d'un manga à lecture verticale, et on suppose que la largeur du cadre est toujours constante à 2480px. La méthode de spécification simultanée de la hauteur et de la largeur est complétée à la fin.
Y = 2480 * 1,5 = 3720 px
.Dans le panneau Montage, appuyez sur M pour ajouter un marqueur à l’image clé et sur Ctrl + M pour entrer le rapport hauteur / largeur comme nom du marqueur.
Cette fois, entrez la valeur de «Y / X». Par exemple, X: Y = 4: 3 est "0,75", 1: 1 est "1", 1: 2 est "2".
À propos, plusieurs marqueurs peuvent être définis dans une image, mais dans ce programme, la première valeur trouvée est utilisée comme rapport hauteur / largeur.
Ouvrez ensuite le panneau Editeur de texte et entrez le code suivant.
set_resolution_from_marker.py
import bpy
RESOLUTION_X = 2480
DEFAULT_RATIO = 1.0
def find_ratio_from_current_keyframe():
#Recherchez le jeu de marqueurs pour l'image clé actuelle à partir de tous les marqueurs
marker_items = bpy.context.scene.timeline_markers.items()
current = bpy.data.scenes["Scene"].frame_current
markers = [item[0] for item in marker_items if item[1].frame == current]
#Renvoie le ratio par défaut si le marqueur n'existe pas
if len(markers) < 1:
print(f"No marker is set to current keyframe. Now ratio is {DEFAULT_RATIO}.")
return DEFAULT_RATIO
print("Found marker(s): ", markers)
#Convertit la chaîne de marqueur en nombre et la renvoie
for m in markers:
try:
ratio = float(m)
print("Ratio is set to ", ratio)
return ratio
except ValueError as e:
print(e)
continue
#Renvoie le ratio par défaut s'il n'y a pas de marqueurs pouvant être convertis en nombres
print(f"Marker is set to current keyframe but not valid number. Now ratio is {DEFAULT_RATIO}.")
return DEFAULT_RATIO
def update_resolution(scene):
scene.render.resolution_x = RESOLUTION_X
scene.render.resolution_y = RESOLUTION_X * find_ratio_from_current_keyframe()
#Définir le rappel pour mettre à jour la résolution lors du changement d'images clés
bpy.app.handlers.frame_change_pre.append(update_resolution)
ℹ️ Bref commentaire
update_resolution ()
chaque fois qu'une image clé change pour changer la résolution.Exécutez "Exécuter le script (Alt + P)" dans le panneau de l'éditeur de texte.
Après cela, la résolution X et Y est définie automatiquement chaque fois que vous changez d'images clés.
Cette fois, c'était un cas un peu particulier de "X = 2480px fixed", mais si vous voulez définir X et Y en même temps, vous pouvez facilement le gérer en changeant la notation du marqueur et le script Python.
Par exemple, écrivez «1280,720» dans le marqueur, divisez la chaîne par des virgules dans un script Python et affectez la première valeur à X et la deuxième valeur à Y.
Je ne pouvais pas le faire. Cela est dû au fait que le pilote ne peut définir aucune des valeurs sous la propriété Scene, y compris la résolution.
Je n'ai pas trouvé de rappel pouvant être appelé à ce moment-là: déçu: Désolé de vous déranger, mais veuillez utiliser les touches fléchées pour faire avancer l'image clé d'une unité et la reculer.
Recommended Posts