quadproduction / openpype-custom-plugins

Customs Internals Plugins for the pipeline
5 stars 0 forks source link

365: enhancement: Ajout de l'option pour ajouter des img background d… #63

Closed hfarre closed 3 months ago

hfarre commented 4 months ago

…ans la cam blender, et modification des précédentes fonctions pour modifier la dernière img bakcground loaded.

Fix quadproduction/issues#365

BenSouchet commented 3 months ago

Il semble qu'il y ai du code commun avec cette PR: https://github.com/quadproduction/openpype-custom-plugins/pull/64

hfarre commented 3 months ago

Dernier point: Pourquoi avoir ajouter les fichiers add_*qui semblent être des copies des fichiers import_* @BenSouchet Le import permet uniquement d'importer un background image s'il n'y en a pas ou bien d'ecraser le dernier importé. Le add lui, permet de d'ajouter des background image en plus des existantes

hfarre commented 3 months ago

Il semble qu'il y ai du code commun avec cette PR: #64

Yes, je viens de le clean

hfarre commented 3 months ago

Je pense que c'est une piste, mais comment lui fournir c'est là le soucis Car dans le Loader, un bouton fait une action, et chaque bouton doit avoir son .py perso image

Je vais etudier la question, mais là à chaud, je ne vois comment donner 2 comportements différents au même bouton

BenSouchet commented 3 months ago

Je pense que c'est une piste, mais comment lui fournir c'est là le soucis Car dans le Loader, un bouton fait une action, et chaque bouton doit avoir son .py perso image

Je vais etudier la question, mais là à chaud, je ne vois comment donner 2 comportements différents au même bouton

Est-ce lié au fichiers ou aux classes python qu'il trouve? Genre, pouvons-nous mettre deux actions dans un seul fichier? Si oui alors faire une fonction située en dehors des classes dans le même fichier et les deux classes (une pour le Add et une pour le load/replace) appel la fonction avec un bool qui est soit à true pour un replace soit false pour un add

hfarre commented 3 months ago

Je pense que c'est une piste, mais comment lui fournir c'est là le soucis Car dans le Loader, un bouton fait une action, et chaque bouton doit avoir son .py perso image Je vais etudier la question, mais là à chaud, je ne vois comment donner 2 comportements différents au même bouton

Est-ce lié au fichiers ou aux classes python qu'il trouve? Genre, pouvons-nous mettre deux actions dans un seul fichier? Si oui alors faire une fonction située en dehors des classes dans le même fichier et les deux classes (une pour le Add et une pour le load/replace) appel la fonction avec un bool qui est soit à true pour un replace soit false pour un add

En effet, on peut mettre les 2 classes (add et import) dans le même .py, ça semble les reconnaitre et créer 2 bouton distinct. Je vais tenter un truc et j'te tiens au jus

BenSouchet commented 3 months ago

@hfarre Hésite pas à demander conseils à @ccaillot pour toute éventuel question pour simplifier ou réduire les redondances 😉

hfarre commented 3 months ago

@hfarre Hésite pas à demander conseils à @ccaillot pour toute éventuel question pour simplifier ou réduire les redondances 😉

C'est good je pense ! En effet on pouvait bien retrecir le code et optimiser J'en ai profité pour mettre de plus jolies icones : image

BenSouchet commented 3 months ago

Top! Dernier point j'aurais plutôt nommé l'argument bool replace_last_bg et ensuite j'aurais fait:

if replace_last_bg and len(camera.data.background_images):
    background = camera.data.background_images[-1]
else:
    background = camera.data.background_images.new()