Fast Cameras

Ici on parle des scripts

Modérateurs : frez, Yadoob, stilobique, Matpi, ModSquad

Fast Cameras

Message par Ethan Aeris » 19 Mars 2017, 10:32

Hello!

j'ai fait un add on pour gagner du temps sur les caméras panoramiques, et peut être plus tard sur les caméras pour vr,au moins pour le side by side ( oui, je me suis pris un google card like en plastique 12 € :-) ).

c'est basique ,mais ça fait le job :
1 - créer une caméra en 0,0,0 à la bonne rotation
2 - mise en place des paramètres de caméra en panoramique pour le blender render, plus l'équilatéral pour cycles.
3- la caméra crée est mise en principale.
Il n'y a plus qu'à faire le rendu.

ça marche, mais j'aimerais juste pouvoir le catégoriser dans le menu add(shift A) ailleurs que dans mesh .
je sais que c'est dans la ligne (code ci-dessous)
bpy.types.INFO_MT_mesh_add.append(menu_item)

si je remplace mesh par light, ou autre, l'addon se met bien dans la catégorie correspondante(test ok dans catégorie light,etc) ... sauf pour camera qui est toute seule.
Comment puis je créer une catégorie dans ce menu add, s'il vous plaît ?

le lien :
https://gist.github.com/ethanaeris/cb4b ... c1f1ebfb82

le code :
Code : Tout sélectionner
# -*- coding: utf-8 -*-

# ##### BEGIN GPL LICENSE BLOCK #####
#
#  This program is free software; you can redistribute it and/or
#  modify it under the terms of the GNU General Public License
#  as published by the Free Software Foundation; either version 2
#  of the License, or (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software Foundation,
#  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# ##### END GPL LICENSE BLOCK #####

bl_info = {
    "name": "fast_cameras",
    "author": "Laurent Laget",
    "version": (0, 1),
    "blender": (2, 78, 0),
    "location": "Add",
    "description": "Create fast_cameras",
    "warning": "",
    "wiki_url": "",
    "category": "Add",
    }

import bpy

def main(context):
    for ob in context.scene.objects:
        print(ob)

#classe camera_panoramic
class camera_panoramic(bpy.types.Operator):
    """description"""
    bl_idname = "object.camera_panoramic"
    bl_label = "camera_panoramic"
    bl_options = {'REGISTER', 'UNDO'}
   

    def invoke(self, context, event):

        bpy.ops.object.camera_add(view_align=True, enter_editmode=False, location=(0, 0, 0), rotation=(0, -0, 0), layers=(True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))
        bpy.context.object.rotation_euler[0] = 1.5708
       
        bpy.context.object.data.type = 'PANO'
        bpy.context.object.data.cycles.panorama_type = 'EQUIRECTANGULAR'
        bpy.ops.view3d.object_as_camera()

        return {'FINISHED'}


def menu_item(self, context):
       self.layout.operator(camera_panoramic.bl_idname, text="camera_panoramic", icon="PLUGIN")


def register():
    bpy.utils.register_module(__name__)
    bpy.types.INFO_MT_mesh_add.append(menu_item)

   
def unregister():
    bpy.utils.unregister_module(__name__)
    bpy.types.INFO_MT_mesh_add.remove(menu_item)

if __name__ == "__main__":
    register()

Dernière édition par Ethan Aeris le 06 Avr 2017, 09:51, édité 1 fois.
Avatar de l’utilisateur
Ethan Aeris
 
Message(s) : 272
Inscription : 29 Juin 2016, 17:58

Re: Fast Cameras

Message par zeauro » 19 Mars 2017, 12:53

Pour blender101, ils font un addon pour ajouter des scènes de démos, des lights et des cameras.
Tu pourrais t'en inspirer (voire participer).
https://developer.blender.org/T48882
zeauro
 
Message(s) : 972
Inscription : 21 Août 2013, 15:47

Re: Fast Cameras

Message par Ethan Aeris » 19 Mars 2017, 14:55

Merci, ça correspond à ce que je voulais faire.
A première vue, ça va aussi m'apprendre des trucs sur un init.py qui fait appel à d'autres fichiers.py.

Pour participer, l'envie est là, il me faut juste plus de temps à y consacrer et d'expérience.
Avatar de l’utilisateur
Ethan Aeris
 
Message(s) : 272
Inscription : 29 Juin 2016, 17:58

Re: Fast Cameras

Message par zeauro » 23 Mars 2017, 14:04

Tiens. Je viens de voir passer ce commit dans le master.
https://developer.blender.org/rB1600b93 ... ac767ceb12

Ca devrait donc le faire pour la 2.79.
zeauro
 
Message(s) : 972
Inscription : 21 Août 2013, 15:47

Re: Fast Cameras

Message par Ethan Aeris » 01 Avr 2017, 13:02

Oh joie !
Surtout que dans mes essais, quand je créais l'opérateur hors menu, il s'affichait, mais ne se lançait pas.

Donc, testé avec la dernière build. au début ,dans le menu, je ne voyais rien de changé, pas de "dossier" caméra dans le menu ajouter, mais en fait les développeurs ont tout fait en interne pour que le répertoire se fasse dès qu'on ajoute quelque chose.

le script a été modifié en conséquence, et ça marche du tonnerre depuis shift+A ->camera !
https://gist.github.com/ethanaeris/cb4b ... c1f1ebfb82

Merci Zeauro !!
Dernière édition par Ethan Aeris le 06 Avr 2017, 09:51, édité 1 fois.
Avatar de l’utilisateur
Ethan Aeris
 
Message(s) : 272
Inscription : 29 Juin 2016, 17:58

Re: Fast Cameras

Message par Ethan Aeris » 06 Avr 2017, 09:10

Avatar de l’utilisateur
Ethan Aeris
 
Message(s) : 272
Inscription : 29 Juin 2016, 17:58

Re: Fast Cameras

Message par Ethan Aeris » 21 Mai 2017, 12:47

Mise à jour avec gestion des caméras Vr, stéréoscopiques et surtout turntable .
Même si il y a déjà un addon pour ça, je voulais me prouver que je pouvais le faire !

Comment l'addon procède :
Il récupère le nom et les dimensions de l'objet sélectionné, ainsi que la durée totale du nombre de frames.
Il aligne le cursor sur l'objet sélectionné, puis crée une caméra alignée.
Il ajoute une contrainte track to alignée en Z négatif, et Y en up, puis met en objet à suivre l'objet sélectionné.
Il renomme la caméra en camera_Turntable, puis la met en caméra principale.
Il crée un cercle d'un rayon en fonction des dimensions de l'objet récupéré.
il sélectionne la caméra puis le cercle, et les parente en path follow pour la trajectoire, tout en paramétrant les frames dans le path animation,dans le tab curve data en fonction de la durée totale (il peut être changé bien sûr :-) ).
Le chemin étant le cercle, il suffit de l'agrandir plus ou moins pour gérer la distance par rapport à l'objet.

Edit : les vidéos qui vont bien
phpBB [video]


phpBB [video]
Avatar de l’utilisateur
Ethan Aeris
 
Message(s) : 272
Inscription : 29 Juin 2016, 17:58


Retour vers Scripts - Python - OSL

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité