Vai al contenuto
Loki

Raccolta Script, E Piccole Funzioni Per Softimage Xsi

Recommended Posts

In questa discussione, vorrei raccogliere un po i vari Script che vi vengono in mente o che conoscete, utili a semplificarci la vita su Softimage|XSI.

Vorrei che sia solo una raccolta di codici... niente commenti se non rivolti a perfezionare codici esistenti, chiedere spiegazioni sul funzionamento, segnalare bug.

Per le richieste, potete tranquillamente aprire normali discussioni dove chiedete ciò che volete... una volta ottenuta la risposta, l'utente che vi genera il codice può riportarlo anche qui in copia, per incrementare la collezione.

In questo modo, la sezione sarà più ordinata, facile da consultare ed espandere :)

L'idea è nata poco fa... stavo spiegando in Chat a Tiranno come fare il Cap con Softimage|XSI, procedura non proprio immediata.

Per intenderci:

Andare in modalità Edge (tasto "I")

Selezionare tutti gli edge del bordo da "cappare"

Premere Ctrl+D per duplicarli

Premere Ctrl+Canc per collassarli

Andare in modalità Point (tasto "T")

Selezionare il point al centro del cap ottenuto

Premere Canc per eliminarlo e pulire il Cap

Beh un po si è spaventato, come era successo anche a me le prime volte. Ora è una procedura comune con cui mi trovo piuttosto bene, ma per semplificargli la vita, ho pensato di scrivere un paio di righe di Script da consigliargli e magari da tenere in un bottoncino in qualche Toolbar di XSI.

Come fare? Beh prima di passare al codice (che sarà banalissimo in questo caso), spiego un po, per chi è agli inizi, come personalizzare una Toolbar e familiarizzare un po con lo Script Editor.

Creazione di una Toolbar personale

La creazione è semplice, basta andare su View -> New Custom Toolbar

Ora che è stata generata a video, dobbiamo salvarla, per poterla richiamare in seguito.

Facciamo un click destro all'interno della Toolbar appena creata e clikkiamo su Save As...

Diamole un nome, magari utile a riconoscere il genere di pulsanti che andremo a metterci (ad es. Modeling Tools)

Lo Script Editor

In XSI, come in gran parte dei programmi di grafica 3D, ogni volta che compiamo un'azione, dalla semplice selezione di un oggetto, all'estrusione di una faccia, il programma visualizza il codice che genera quell'azione.

Non è altro che un linguaggio di Script, che può essere costantemente visualizzato e quindi copiato e in caso personalizzato a nostro piacere, in modo da poter essere salvato e richiamato quando vogliamo.

Tutto ciò è possibile farlo grazie allo Script Editor, attivabile premendo Alt+4.

Questa finestra è divisa orizzontalmente in due parti:

La parte superiore (grigia) dove il programma scrive di volta in volta tutte le stringhe di codice ad ogni azione che viene eseguita.

La parte inferiore (bianca) dove l'utente puù scrivere righe di codice ed eseguirle una volta completate, tramite il pulsante "Run Script" che si trova in alto a destra (oppure premendo F5)

Creazione di un Pulsante nella Toolbar

Capito come creare una Toolbar e come funziona lo Script Editor, possiamo iniziare fin da subito a creare dei pulsanti, nei quali storare le varie funzioni che ci interessa poter richiamare alla semplice pressione del pulsante.

Per farlo, basta un semplice drag & drop, ovvero selezionare il codice con il mouse da qualunque fonte (Script Editor, File di testo o anche selezionandolo da questo Forum) e poi trascinarlo sopra la Toolbar in cui vogliamo inserirlo.

Fatto ciò, Softimage visualizzerà una piccola finestra dove vi permette di scegliere tra due opzioni:

Script Button - Genererà un pulsante contenente il codice che abbiamo selezionato e trascinato

Script Command (external file) - Vi permette di creare un pulsante che punterà ad uno specifico file di testo, nel quale metterete il vostro codice.

Nel nostro caso, scegliamo la prima opzione, Script Button.

Otterremo una nuova finestra, dove possiamo personalizzare il nostro pulsante, scrivendo il nome che vogliamo visualizzare, l'eventuale bitmap, le dimensioni del pulsante.

Salvataggio della Toolbar

Cosa importante, ogni volta che applicate modifiche alla Toolbar, è bene salvarle.

XSI vi chiederà se volete farlo non appena chiuderete la Toolbar oppure poco prima di uscire da XSI, ma come sempre, è bene farlo appena si può ;)

Per farlo, solito click destro su uno spazio vuoto della Toolbar e click su Save.

Editare un pulsante esistente

Per farlo basta anche qui un click destro sul pulsante, Customize Button... e tornerete alla finestra di editing del pulsante, dove potete modificare tutto quello che volete, codice compreso.

Il primo Script: Capping Holes

DuplicateMeshComponent

ApplyTopoOp "Collapse"

SelectGeometryComponents ".pnt[LAST]"

ApplyTopoOp "DissolveClean"

Per essere utilizzato è necessario aver selezionato tutti gli Edge che sono di contorno al buco.

Per una selezione veloce: Alt+Destro sull'oggetto... scegliete Select Edge Loop (around corner)... clikkate su un edge.

Questo è tutto... qualcosa di veramente molto, molto semplice. Ma spesso utile a velocizzare tante cose.

Ora lo spazio è tutto vostro, se conoscete Script utili, inseriteli pure.

Una volta collezionato un buon numero di Script, riorganizzerò la sezione magari siddividendoli per categoria, in una pagina unica.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

E speriamo che non sia l'ultimo :D

Grazie Loki ;)

P.S. Suggerisco a tutti gli utenti di provare XSI assolutamente (si modella che è una meraviglia)

Non ci credevo...

CIAUZZ...

:devil: :devil:

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

SetValue "*.*.*.camdisp.xraytype", 1

ToggleValue "xrayshaded",  "*.camdisp,Views.*.*.camdisp"
Attiva/Disattiva la visualizzazione Ghost in tutte le Viewport
ToggleValue "wireontopunsel", "*.camdisp,Views.*.*.camdisp"
Attiva/Disattiva la visualizzazione Wire negli oggetti non selezionati in tutte le Viewport
ToggleValue "currenttime", "*.camvis,Views.*.*.camvis"

ToggleValue "selectioninfo", "*.camvis,Views.*.*.camvis"

ToggleValue "sceneinfo", "*.camvis,Views.*.*.camvis"

ToggleValue "transforminfo", "*.camvis,Views.*.*.camvis"

ToggleValue "gridrulervis", "*.camvis,Views.*.*.camvis"

ToggleValue "refreshrate", "*.camvis,Views.*.*.camvis"

Attiva/Disattiva la visualizzazione delle informazioni sugli oggetti in scena e selezionati, attiva i righelli e il pannellino SRT in viewport.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Inviata (modificato)

Ctrl+D (duplica) ha una duplica funzione, specie nella selezione Polygons: Duplicare o Estrudere

Per scegliere quale delle due funzioni vogliamo attivare ad ogni Ctrl+D, bisogna andare nel pannello Preferenze di XSI.

A volte però, serve passare spesso dalla modalità Duplica alla modalità Estrudi... per farlo, ho crato 2 Pulsanti:

Duplicate:

SetValue "preferences.duplicate.polygons", 0
Extrude:
SetValue "preferences.duplicate.polygons", 1

Poteva essere comodo un Toggle, così da utilizzare un solo pulsante... ma così non potevo sapere se era attiva una o l'altra funzione. In questo caso, nel dubbio, premo il tasto che mi interessa e son certo di avere quella funzione attiva.

(se conoscete un metodo per cambiare il nome di un pulsante a seconda della funzione attiva ve ne sarei grato... ma dubito sia possibile)


Modificato da Loki

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Questi sono tre semplicissimi scripts che uso moltissimo per modellare (la loro utilita' e' in parte diminuita con l'inserimento della modalita' tweak component...); mi consentono mediante una picking session di utilizzare il frame di un qualsiasi componente per le trasformazioni. Naturalmente bisogna mantenere impostato "Ref." come sistema di riferimento.

point:

	PickElement "point","Pick point","Pick point",ee,button,0

	if button <> 0 then

		SetTransientReferencePlane ee

	end if
edge:
	PickElement "edge","pick","none",ee,button,2

	if button <> 0 then

		SetTransientReferencePlane ee

	end if
poly:
	

	PickElement "polygon","Pick poly","Pick poly",ee,button,2

	if button <> 0 then

		SetTransientReferencePlane ee

	end if
Questo invece imposta le camere user delle 4 viewports in orthographic anziche' perspective. Credo che sto script sia utile solo a me... Mi sembra strano che xsi non consenta di salvare questa impostazione, comunque se ho realizzato lo script (molto tempo fa, purtroppo non ho voglia di ricontrollare i dettagli) un motivo doveva esserci... Magari che sono stordito...
	SetValue "Views.ViewA.UserCamera.camera.proj", 0

	SetValue "Views.ViewB.UserCamera.camera.proj", 0

	SetValue "Views.ViewC.UserCamera.camera.proj", 0

	SetValue "Views.ViewD.UserCamera.camera.proj", 0

Io sinceramente per questioni di ordine e portabilita' consiglio di realizzare i comandi custom su files a parte e fare puntare ad essi i pulsanti. Questi sono snippets estratti da tali files, se a qualcuno dovesse interessare, naturalmente, posso postare i files completi :)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Io sinceramente per questioni di ordine e portabilita' consiglio di realizzare i comandi custom su files a parte e fare puntare ad essi i pulsanti. Questi sono snippets estratti da tali files, se a qualcuno dovesse interessare, naturalmente, posso postare i files completi :)

Grazie della collaborazione :)

Una cosa... uso XSI non da molto, per cui alcune cose ancora non le conosco alla perfezione (magari!!!).

Vorrei chiederti come mai preferisci salvarli su file.

Io per il discorso portabilità, mi salvo sempre la cartella user, a cui faccio puntare nuove installazioni di XSI col comando File -> Migrate Preferences

Ma come detto, la mia esperienza con questo software è relativamente bassa, quindi vorrei capire vantaggi e svantaggi dei due metodi di salvataggio delle personalizzazioni.

(Utile a me, ma credo un po a tutti)

Grazie :)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
Vorrei chiederti come mai preferisci salvarli su file.

Io per il discorso portabilità, mi salvo sempre la cartella user, a cui faccio puntare nuove installazioni di XSI col comando File -> Migrate Preferences

Effettivamente mi sono espresso in modo grossolano, piu' che portabilita' intendevo "flessibilita'": mantenendo gli scripts come custom commands anziche' come codice sciolto proprio di uno script button hai la possibilita' eventualmente di associarli a shortkeys o ad eventi come la selezione od il cambio di frame, oltre che naturalmente richiamarli da altri scripts.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Per chi ritiene scomodo che XSI crei le primitive sempre all'origine, c'è una piccola Toolbar da installare che permette d creare delle primitive standard nel punto in cui vogliamo. Basta scegliere la primitiva e clikkare il punto in scena in cui vogliamo sia posizionata.

DOWNLOAD

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Sito

Script gratuito che permette la generazione di città più o meno complesse. Ha diversi parametri tra cui quello di indicare la complessità degli edifici

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora

  • Navigazione recente   0 utenti

    Non ci sono utenti registrati da visualizzare in questa pagina.

×