Requête/Idée Scripts 3DS Max like(Modeling-Selection-Pivot)

Ici on parle des scripts

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

Re: Requête/Idée Scripts 3DS Max like(Modeling-Selection-Piv

Message par pistiwique » 20 Avr 2016, 10:26

Pour l'opération sur le pivot, il y a moyen de coder un truc pour le translate et le rotate qui utilise les mêmes raccourci et qui pourrait donner quelque chose de presque similaire.
En gros, tu ajoutes un empty baptisé "Custom_Gizmo". Quand tu appuis sur "G", si il y a le "Custom_Gizmo" dans la scène, il fait les manip en fonction de lui.
Si il n'est pas dans la scène, le translate serait un translate normal.
Pareil pour le rotate.
Avatar de l’utilisateur
pistiwique
 
Message(s) : 590
Inscription : 10 Août 2014, 10:35
Localisation : le sud ou il fait trop chaud

Re: Requête/Idée Scripts 3DS Max like(Modeling-Selection-Piv

Message par Shogunato » 21 Avr 2016, 15:18

Salut les gars.

Je me lance aussi dans la bataille.

Y a t'il moyen de faire un toggle sur une fonctions au lieu de lancer un hotkey ?

Par exemple j'utilise à fond le Border select. J'aime pas trop le rappeler à chaque fois via un hotkey. Est il possible de le lancer une bonne fois pour toute via un hotkey afin de ne pas le rappeler toute les 2sec et toggler à nouveau quand j'en ai + besoin ?

Trop habitué aà max moi aussi :lol:
Avatar de l’utilisateur
Shogunato
 
Message(s) : 48
Inscription : 01 Oct 2013, 09:01

Re: Requête/Idée Scripts 3DS Max like(Modeling-Selection-Piv

Message par pistiwique » 21 Avr 2016, 17:57

Un truc dans ce genre la ?

Code : Tout sélectionner
import bpy
from bpy.props import IntProperty, FloatProperty
 
 
class ModalOperator(bpy.types.Operator):
    """Move an object with the mouse, example"""
    bl_idname = "object.modal_operator"
    bl_label = "Test Custom Select Border"
 
 
    def modal(self, context, event):
 
        if event.type == 'LEFTMOUSE':
            if event.value == 'CLICK':
                bpy.ops.view3d.select_border('INVOKE_DEFAULT')
            else:
                return {'PASS_THROUGH'}
 
        elif event.type in {'MIDDLEMOUSE', 'WHEELUPMOUSE', 'WHEELDOWNMOUSE'}:
            return {'PASS_THROUGH'}
 
        elif event.type in {'RIGHTMOUSE', 'ESC'}:
            return {'FINISHED'}
 
        return {'RUNNING_MODAL'}
 
    def invoke(self, context, event):
        if context.object:
            bpy.ops.object.mode_set(mode='EDIT')
 
            context.window_manager.modal_handler_add(self)
            return {'RUNNING_MODAL'}
        else:
            self.report({'WARNING'}, "No active object, could not finish")
            return {'CANCELLED'}
 
 
def register():
    bpy.utils.register_class(ModalOperator)
 
 
def unregister():
    bpy.utils.unregister_class(ModalOperator)
 
 
if __name__ == "__main__":
    register()


Lance le dans le text_editor et dans menu de recherche tape Test Custom Select Border
Il suffit ensuite de faire 1 click gauche pour activer le select_border et pour sortir du modal, il suffit de faire ESC ou clic droit.
Bon c'est juste un test et je ne sais pas si c'est exactement ça que tu souhaites mais en tout cas, je trouve ça pratique :lol:
Avatar de l’utilisateur
pistiwique
 
Message(s) : 590
Inscription : 10 Août 2014, 10:35
Localisation : le sud ou il fait trop chaud

Re: Requête/Idée Scripts 3DS Max like(Modeling-Selection-Piv

Message par cedric » 21 Avr 2016, 18:02

Pisti est en flamme !!!!
Cédric Lepiller, Freelance 3D Pitiwazou.com, Mes Addons, Asset Management, Speedflow
Avatar de l’utilisateur
cedric
Administrateur
 
Message(s) : 7049
Inscription : 03 Août 2013, 21:36

Re: Requête/Idée Scripts 3DS Max like(Modeling-Selection-Piv

Message par pistiwique » 21 Avr 2016, 18:28

Dans l'idéal, il faudrait que dès qu'on appuis sur clic gauche, il mette le rectangle de sélection direct, ça serait bien cool ça^^
Avatar de l’utilisateur
pistiwique
 
Message(s) : 590
Inscription : 10 Août 2014, 10:35
Localisation : le sud ou il fait trop chaud

Re: Requête/Idée Scripts 3DS Max like(Modeling-Selection-Piv

Message par Shogunato » 22 Avr 2016, 09:45

salut

Merci bien pour ton aide c'est vraiment super !!! ;)

Je dois mal m'y prendre j'ai une erreur quand je lance le script.
Image

Voici une explication plus précise de ce que je recherche :

Par default j'utilise le border select en permance via cet fonction
Image

Mais du coup malheureusement il override la selection de base. C'est aà dire quand tu clic sur un vertex on peut le déplacer dans la foulé sans repasser par le tool de translate. Un clic and drag grosso modo
Je pense qu'il sagit de cette fonction dans la section 3D view
Image

Donc le top ça serait d'avoir un toggle entre les 2 ou bien alors un simple toggle on/off sur le border ou l'autre fonction.
Ou encore mieux, que les 2 fonctionnent ensemble surtout, tout comme max ou maya :mrgreen: :mrgreen: :mrgreen:
La je serai vraiment dans un monde parfait :mrgreen: :mrgreen:
Avatar de l’utilisateur
Shogunato
 
Message(s) : 48
Inscription : 01 Oct 2013, 09:01

Re: Requête/Idée Scripts 3DS Max like(Modeling-Selection-Piv

Message par pistiwique » 22 Avr 2016, 17:46

Houla, ça risque d'être un peu plus compliqué là ^^
Avatar de l’utilisateur
pistiwique
 
Message(s) : 590
Inscription : 10 Août 2014, 10:35
Localisation : le sud ou il fait trop chaud

Re: Requête/Idée Scripts 3DS Max like(Modeling-Selection-Piv

Message par pistiwique » 30 Avr 2016, 14:08

Hello.
Pour me changer un peu les idées, je me suis amusé à taper ce tout petit addon pour essayer de pallier à tes "soucis" en ce qui concerne l'opération sur le pivot.
Il est très loin d'être parfait mais si il peut t'aider, c'est déjà pas mal^^.
Le fonctionnement est simple, il suffit que l'objet actif de ta sélection soit un empty pour que, quand tu appuis sur "G" pour le translate ou "R" pour le rotate, l'action se fasse par rapport à l'empty.
J'ai également ajouter un panel "Custom Tools Panel" (oui le nom est pourrit :lol: ) dans l'onglet "Tools" du panel T pour pouvoir placer facilement l'empty sur la sélection que tu sois en mode objet (dans ce cas la, l'empty sera placé sur la sélection) ou en mode édit (dans ce cas la, si tu as une face de sélectionnée, l'empty sera placé dessus et orienté en fonction de la normal de la face).
Il y a également un petite case à cocher pour qu'une fois l'action fini la sélection soit inversée.
Dis moi ce que t'en penses et on verra ce qu'il est possible d'améliorer, ajouter.... en fonction du temps que j'aurai... ;).
Avatar de l’utilisateur
pistiwique
 
Message(s) : 590
Inscription : 10 Août 2014, 10:35
Localisation : le sud ou il fait trop chaud

Précédent

Retour vers Scripts - Python - OSL

Qui est en ligne ?

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