Vai al contenuto
Loki

Sezionare Oggetti In Xsi (come Con Scalpel)

Recommended Posts

Ciao gente

In vista di una futura ripresa del mio WIP sull'AS-350 con Softimage|XSI, vorrei chiedervi come risolvere questo mio piccolo dubbio.

AS 350 B3 Structure

AS 350 B3 Structure (section)

Come potete vedere, nel WIP iniziato in Max avevo usato Scalpel come plugin per sezionare alcune parti della struttura.

L'utilità di questa plugin è che mi permette in modo automatico di sezionare un oggetto, fare un cap delle sezioni ed assegnare in automatico un diverso materiale ai poligoni della sezione.

Ora, qualche utente di XSI saprebbe dirmi se esiste una plugin simile o comunque un sistema per ottenere la medesima cosa?

Notare che se si tratta di un singolo rendering, potrei anche usare delle booleane o degli slice tools e "cappare" ed editare i materiali a mano nelle sezioni, ma l'intenzione mia sarebbe quella di animare il piano di sezione e quindi avrei bisogno di automatizzare il processo di Cap e Materiale.

Attendo utili info :)


Modificato da [Satan]

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Ciao,

non ho XSI sotto mano, ma penso che tu possa animare il piano di knife (Edit-polygon->knife) per quanto riguarda lo spostamento della sezione.

Per cancellare la parte che non ti interessa utilizzi il delete polygons above o under a seconda dalla maschera dell'operatore.

Per il materiale devo pensarci un attimo....

MAT

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Ciao Killer

Grazie intanto dell'aiuto.

Quello che tu mi dici è identico a Slice che mi hanno appena consigliato, solo più pratico nel senso che creo graficamente la linea di sezione. Ti ringrazio, non lo conoscevo ancora e mi sarà utilissimo.

Ora mi rimangono due problemi:

1° Siccome devo assegnare questo tool a più oggetti, quando lo faccio e vado a generare il piano che poi dovrò animare, me ne crea uno solo per un singolo oggetto. Per generare gli altri devo editare le opzioni di Slice per ogni singolo oggetto...il che si rivela scomodo quando avrò 200 e passa pezzi. E da come ho visto non funziona coi Group.

2° Una volta impostate le sezioni... come faccio a fare il cap ed assegnare alla sezione un materiale differente? (sempre in automatico visto che si tratta di animare)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Nel frattempo ho trovato una possibile soluzione che devo però ancora capire.

Il primo tentativo non è andato a buon fine purtroppo... ma credo dipenda dal fatto che sono ancora troppo principiate con XSI.

Si tratta di uno shader chiamato BoolTrace. Trovi tutto qui: http://binaryiris.com/main/?id=BoolTrace

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Allora..

Quando hai un sacco di oggetti puoi fare un Merge che ha un simpatico tastino nel menu che ti permette di mantenere tutti i materiali e le textures anche se il risultato è un oggetto unico.

Per quanto riguarda il materiale... credo ci sia solo un "trucco", ma è da testare....

Appena ho un attimo provo e poi ti faccio sapere...

MAT

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Fantastico il Merge!!!

Credevo che creasse una mesh unica perdendo quindi l'indipendenza degli oggetti.... ma se lascio gli originali e li ruoto, li scalo, li traslo... qualunque cosa gli applico insomma, aggiorna anche la geometria generata dal Merge e le relative modificazioni a lei applicate.

Mitico!!! Ogni volta scopro cose fantastiche!! :lol:

Ora mancherebbe solo il cap automatico e la differenziazione del materiale :P

Ti ringrazio infinitamente per l'aiuto ^_^

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Di nulla, figurati!! :)

Occhio a muovere i componenti dopo il merge perchè se sono pesanti dopo un po' diventa XSI suscettibile e tende a schiantarsi. Quando hai raggiunto il risultato desiderato, schiaccia..... delete and freeze... mi sembra.

Per quanto riguarda il materiale dinamico... allora... un po' macchinoso e furbesco, ma sembra funzionare.

1. fai una copia dell'oggetto

2. applica il deformer PUSH che ti fà una sorta di scala/offset

3. applica alla copia dell'oggetto un materiale constant (ad es. rosso)

4. freezza i 2 oggetti

5. fai il merge come ti ho detto prima e usa il delete and freeze...

6. applica il knife

7. anima il knife

Quando fai il knife vedrai anche le facce interne dell'oggetto nella viewport,ma nel render, non essendo il materiale constant influenzato dalla luce, ti dà l'impressione che le facce sul piano di taglio siano piane...

Fai qualche prova, io ne ho fatta una veloce ed è accettabile.

MAT

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Ciao Killer

Non ho più sperimentato, dando precedenza al lavoro (questo dello Slice serve solo per il mio futuro WIP)

Comunque ho ricevuto una risposta in XSIBase che in parte sfrutta la tua idea dell'uso di un materiale constant, ma tutto realizzato via shader, senza slice e duplicazioni.

Ti incollo lo script che genera scena e materiale, così te lo guardi.

E' fenomenale, seppur presenterà problemi per quello che vorrò fare... ho proprio bisogno di un Cap "fisico" a cui applicare uno specifico materiale in alcuni dettagli :mellow:

NewScene

CreatePrim "Sphere", "MeshSurface"

CreatePrim "Grid", "MeshSurface"

SetValue "grid.grid.ulength", 200

SetValue "grid.grid.vlength", 200

MakeLocal "grid.Scene_Material", siDefaultPropagation

SetValue "Sources.Materials.DefaultLib.Scene_Material1.Phong.transparency.red", 1

SetValue "Sources.Materials.DefaultLib.Scene_Material1.Phong.transparency.green", 1

SetValue "Sources.Materials.DefaultLib.Scene_Material1.Phong.transparency.blue", 1

SetValue "Sources.Materials.DefaultLib.Scene_Material1.Phong.transparency.alpha", 1

SetValue "Sources.Materials.DefaultLib.Scene_Material1.Phong.diffuse_inuse", False

SetValue "Sources.Materials.DefaultLib.Scene_Material1.Phong.specular_inuse", False

MakeLocal "sphere.Scene_Material", siDefaultPropagation

CopyPaste , "Shaders\Texture\Switch\Front_back.Preset", "TransientObjectContainer"

CopyPaste , "Shaders\Texture\Switch\Boolean_switch.Preset", "TransientObjectContainer"

CopyPaste , "Shaders\Texture\State\Scalar_state.Preset", "TransientObjectContainer"

SetValue "TransientObjectContainer.Scalar_state.mode", 4

SIConnectShaderToCnxPoint "Sources.Materials.DefaultLib.Scene_Material2.Phong", "TransientObjectContainer.Boolean_switch.input1", False

SIConnectShaderToCnxPoint "Sources.Materials.DefaultLib.Scene_Material2.Phong", "TransientObjectContainer.Boolean_switch.input2", False

SIConnectShaderToCnxPoint "TransientObjectContainer.Scalar_state", "TransientObjectContainer.Boolean_switch.switch", False

SIConnectShaderToCnxPoint "TransientObjectContainer.Boolean_switch", "TransientObjectContainer.Front_back.front", False

SIConnectShaderToCnxPoint "TransientObjectContainer.Front_back", "Sources.Materials.DefaultLib.Scene_Material2.surface", False

SIConnectShaderToCnxPoint "Sources.Materials.DefaultLib.Scene_Material2.Front_back", "Sources.Materials.DefaultLib.Scene_Material2.shadow", False

SIConnectShaderToCnxPoint "Sources.Materials.DefaultLib.Scene_Material2.Front_back", "Sources.Materials.DefaultLib.Scene_Material2.Photon", False

SetValue "sphere.visibility.primray", False

Provalo, per certi usi è fenomenale e soprattutto di una leggerezza unica!


Modificato da [Satan]

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Figurati, ho solo riportato un aiuto che mi è stato dato, nulla di mano mia :)

Ma son contento di condividere queste conoscenze, anche per stimolare un po questi XSIiani spesso molto silenziosi (perchè so che ce ne sono... è solo che son timidi) :P

Buone feste anche a te e grazie ancora ;)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Ciao.. ho notato questa discussione.. e mi ha direi attirato..

sei riuscito a raggiungere il risultato sperato?

Sto studiando anche io XSI da qualche mese.. purtroppo non costantemente.. ma seguo vari tutorial..

Su low-poly.it ho trovato un buon esperto di XSI..si chiama Fabio Leporelli..

mi sembra lavori per una società di FX a londra...

prova a chiedere a lui.. per quesiti banali mi risposto molto velocemente dimostrando generosità e disponibilità.. magari venisse qui sul forum :-)

Ciao

Finora su XSI ho seguito il tutorial sulla casetta in cartone.. originario per Max.. ma adattato..alla grande direi.. ho problemi di texturing però.. più di confusione che altro..

Ciao.. spero di scambiare molte opinione su XSI..

ho visto i tuoi lavori.. davvero davvero notevoli..

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Grazie ennx :)

Per quanto riguarda questo mio problema, una soluzione comoda e veloce l'ho trovata via shader grazie a Mental Ray.

Sopra trovi uno script che ti genera una scena e lo shader. Se poi lo analizzi vedi che è semplicissimo eppure veramente efficace.

Ma sono pignolo e se dico che voglio il cap... voglio il cap!! :lol:

Per questo ho approfondito ed al momento son giunto ad una soluzione artigianale ma che XSI mi permette di gestire veramente alla grande: le booleane!

La tecnica consiste in un mix tra Slice e booleane e funziona così:

Genero una Polymesh di tutto il complesso di oggetti che mi interessa selezionate con il comando Merge. Questo mi permette di avere una Polymesh unica ma dipendente dall'insieme di oggetti che l'ha generata.

Ora non mi resta che duplicarla ottenendone quindi due... ad una delle queli applico uno Slice facendo generare in automatico il plane di taglio.

Fatto ciò creo un box enorme che comprende tutta la mesh da selezionare e lo scalo fino a farlo diventare quasi un piano (dico quasi perchè se scalato a 0 la booleana lo tratta come un piano e non come un volume).

Linko questa sottile lamina generata al plane dello slice e genero una booleana di tipo intersection tra la seconda polymesh e il box che ho appiattito.

Essendo linkati, mi basterà muovere e ruotare il plane dello Slice per cambiare l'orientamento della booleana... ottenendo quindi un cap automatico. Cap che in realtà avrebbe uno spessore, ma essendo uno spessore prossimo allo 0, in rendering risulta invisibile :)

Fabio Leporelli lo conosco... di fama, non di persona.

Mi sono imbattuto nel suo nome quando ho trovato un link a Ricciolo Nero, che non è altro che il suo sito e che contiene alcuni tutorial in italiano per XSI

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Wow.. molto ingegnosa come soluzione.. davvero.. caspita però..

Fammi capire una cosa però.. non ho ancora esaminato il comando Slice.. il comando merge lo conosco...

Linko questa sottile lamina generata al plane dello slice e genero una booleana di tipo intersection tra la seconda polymesh e il box che ho appiattito.

vuoi dire che fai un link della lamina al movimento dello slice?

e perchè fai una booleana di tipo intersection?

così in pratica crei l'intersezione tra il pezzo.. e la lamina.. restano solo le parti in cui si intersecano..

ti serve solo a creare i cap no?

Come fai a nascondere la parte che dovrebbe essere tagliata dal piano?

Sto facendo confusione? :TeapotBlinkRed::)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

No, nessuna confusione, hai capito benissimo come funziona :)

Lo Slice funziona così: Selezioni il tuo oggetto, poi vai in Model -> Modify -> PolyMesh -> Slice Polygons

Ti apre una finestra dove puoi decidere l'orientamento del piano, creare una griglia di riferimento e connetterla a questo modificatore (è il Plane di cui parlavo io) e decidere anche il numero di tagli, spaziatura ecc.

In fondo poi trovi l'opzione per decidere se sconnettere gli Edge, oppure cancellare i poligoni superiori o quelli inferiori al piano di sezione, eliminando quindi la parte che non ci interessa.

La scelta dell'intersect come booleana serve perchè in questo modo, l'oggetto tagliato con lo Slice potrà avere il suo materiale, mentre la parte del cap ottenuta con la booleana potrà avere un diverso materiale.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Buongiorno.. adesso ho capito.. ieri sera a casa ho fatto delle prove..

solo non sono riuscito a vincolare L'oggetto CAP (l'intersezione) con il taglio dello slice..

ho provato con dei Link With dei parametri

posx

post

posz

rotx

roty

rotz

del Custom plane..

Non ho usato il comando "Grid and connect".. non mi ricordo se è scritto così ora...

Puoi creare un esempio con un cubo.. usando lo slice e il cap..e posti la scena? Per studiarla..

Ora io avrei dei problemini di rendering.. vengo da Cinema 4D dove tutto è più a portata di mano..

Dove posso postare i miei dubbi per avere delle risp?

Su Generale (principianti) ho creato un post per avere chiarezza sui Render Pass di XSI.. ma nessuno ha risp.. sembra quasi che nessuno lo usi.. mentre so che non è così.. :-)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

L'uso del Grid and Connect è fondamentale perchè solo così ti crea in scena un piano di sezione, al quale puoi linkare il Cap

Ti ho messo la scena a questo LINK

Per quanto riguarda l'altro tuo post, l'ho letto ma non so darti risposta. Ho iniziato da pochissimo e la parte dei Pass ancora devo studiarmela.

Gli utenti di XSI ce ne sono, ma son pochi ancora... e penso che più che per il software in se, a rendere poco usato XSI è Mental Ray, che a differenza di VRay o Maxwell, non metti li due parametri, anche a culo e qualcosa di decente esce fuori... ma richiede un po di studio in più e di conoscenze. Ma permette poi un'elasticità che gli altri se la scordano

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Beh..che dire..grazie per la scena.. appena torno dal lavoro la studio subito..

Sul Render ho studiato.. il Final Gathering.. come applicarlo.. come mettere Ambient Occlusion su tutta la scena tramite partizione.. però non avendo mai fatto 3D.. solo modellazione su Cinema... so già che avrò..ed ho tutt'ora difficoltà con il texturing.. uff :-).. spero di imparare insieme a voi..

anche se voi lo farete più velocemente di me.. eheh..

Eheh..Nel pomeriggio posto la scena della casetta in cartone.. originario per 3ds max.. adattato.. hai sempre molta esperienza con max.. di 3D ne sai..questo volevo dire..

Ti ringrazio..

ah.. posterò i miei quesiti sui render.. nell'area Texturing e Render

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Ciao.. rieccomi qui.. ho analizzato la tua scena..

posso farti delle domande?

1 - Io ho collegato l'intersezione al plane.. attraverso un constraint Pose.. visibile nell'explorer.. nella tua scena non riesco a capire che tipo di constraint hai utilizzato..

2 - L'oggetto lamina generato dalla booleana... come hai fatto a nasconderlo? se esco il piano fuori dall'oggetto.. l'oggetto intersecato scompare.. nella mia scena invece si vede... ovunque :-).. umm..

3 - contano le dimensioni del Grid? e dell'oggetto intersecato?

Caspita Satan mi stai chiarendo diversi dubbi sai? biiii..

Aspetto una tua risp..

ah.. guarda la casetta in area wip..

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Ti rispondo in ordine...

1 - Ho semplicemente trascinato l'intersezione dentro il plane, nella finestra Explorer. In questo modo l'oggetto di cap rimane linkato. Nessun constraint, solo link, parentela :)

2 - L'ho selezionato e premuto il tasto H (Hide) :)

3 - Direi di no

Son contento di esserti utile, per quanto ancora son novellino anch'io con XSI.

La casetta l'ho vista, ho postato da poco ;)

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.

×