Vai al contenuto
Smjert

Un paio di dubbi riguardo allo scaling e non-manifold

Recommended Posts

Salve a tutti, il dubbio sullo scaling riguarda il dover ridurre il diametro di un anello/ciambella/cilindro bucato evitando, attraverso lo scaling lockato solo su due assi, di ridurre la distanza tra parete esterna e parete interna.

Perchè appunto quello che mi capita è che se l'anello è posato sul piano orizzontale e scalo bloccando Z, mi riduce sì il diamentro ma anche lo spessore (lungo x e y).

Ho provato a cercare su google ma non ho trovato nulla, ho chiesto su IRC nel canale Blender ma mi hanno proposto modi di ricreare da 0 l'anello (o meglio gli anelli) in maniera che andassero bene per il modello che volevo fare, ma il punto è che volevo trovare il modo di farlo partendo da un anello di riferimento e riducendo il diametro di quello (e mi sembra parecchio strano che non sia possibile farlo).

Altri su IRC mi hanno suggerito di utilizzare solidify ma allo stesso modo non sono riuscito ad ottenere quello che volevo.

Qualche idea?

Riguardo invece la questione del non-manifold, ho creato un modello di una conchiglia (quelle a spirale tipo questa), partendo da un cerchio, usando poi l'Array modifier con un empty traslato e ruotato.

Ora il problema è che la mesh non ha spessore, e chiaramente chi guarda dal buco della conchiglia lo nota, un modo potrebbe essere quello di utilizzare Solidify, solo che dovrei tenere il numero di poligoni basso.

Quindi ho pensato di separarla in due oggetti selezionando un edgeloop giusto un po' oltre quello visibile dalla cavità della conchiglia e di applicare il Solidify solo al pezzo davanti, quello che comprende appunto la cavità, dopodichè ho rijoinato i due oggetti e mergiato i due edgeloop venutisi a formare dove precedentemente avevo separato.

Ora il problema però è che quell'edgeloop me lo segna come non-manifold e prima di tutto mi chiedevo se poteva essere un problema.

E se sì.. mi chiedo che altro modo potrei usare per mostrare spessore ma solo fino ad un certo punto (non nelle parti nascoste), per evitare di alzare troppo il numero dei poligoni.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Non so se funziona la scalatura con alt+S, in questo caso, Comunque fra i vari addon, c'è il comando torus, che crea appunto un toro la forma geometrica che stai cercando,

Secondo me con solidify ottieni gli stessi poligoni, fai una prova. Direi che, vado a naso, hai vertici sovvrapposti, controlla con remove double.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Non so se funziona la scalatura con alt+S, in questo caso, Comunque fra i vari addon, c'è il comando torus, che crea appunto un toro la forma geometrica che stai cercando,

Secondo me con solidify ottieni gli stessi poligoni, fai una prova. Direi che, vado a naso, hai vertici sovvrapposti, controlla con remove double.

Grazie intanto per aver risposto.

Alt+S non va bene, anche mettendo su On Even Thickness, specialmente perchè non posso lockarmi su un piano.

Per il torus intendi quello che c'è già in Add->Mesh->Torus?

Il problema è che ho parlato di anello etc per farmi capire ma non ho bisogno di quella forma geometrica precisa lì e per altro sto cercando una maniera che funzioni in qualunque caso.

Comunque più precisamente la forma era quella di una rondella (non mi veniva in mente prima :P).

Riguardo alla conchiglia, ho già usato solidify appunto per dare spessore alla porzione davanti, quando l'avevo divisa, e comunque no non ci sono doubles.

http://imgur.com/H0ntB1z

Per capirci quello selezionato è l'edge loop non manifold, sono all'interno della conchiglia e andando avanti, seguendo poi quella curva a destra si arriva all'entrata della conchiglia.

Come vedi lì c'è spessore mentre da dove ho selezionato verso il dietro della telecamera e quindi il resto della conchiglia è come se fosse un piano, senza spessore.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Cioè, una scalatura dell'anello interno mantenendo l'anello esterno immobile è praticamente impossibile se non selezioni gli edge, vertex ecc. interessati. Se esegui una scala su l'intero oggetto (global, loca, view ecc..) viene modificato tutto l'oggetto. Ora, ( ma è una mia teoria non applicata :D ) se è possibile fare un falloff con scala cosi da escludere l'area interessata, è probabile che ciò accada, anche se ho dei dubbi...

Per la conchiglia, se crei fin dall'inizio due cerchi concentrici e alla fine della giostra/modellazione non li unisci con un "bridge"?? E' possibile?

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Cioè, una scalatura dell'anello interno mantenendo l'anello esterno immobile è praticamente impossibile se non selezioni gli edge, vertex ecc. interessati. Se esegui una scala su l'intero oggetto (global, loca, view ecc..) viene modificato tutto l'oggetto. Ora, ( ma è una mia teoria non applicata :D ) se è possibile fare un falloff con scala cosi da escludere l'area interessata, è probabile che ciò accada, anche se ho dei dubbi...

Per la conchiglia, se crei fin dall'inizio due cerchi concentrici e alla fine della giostra/modellazione non li unisci con un "bridge"?? E' possibile?

No il cerchio esterno deve muoversi, deve scalare, ma quello che non deve modificarsi è la distanza tra i due cerchi, mi sono spiegato?

Per la conchiglia.. non capisco.. così come proponi darebbe spessore a tutta la conchiglia, anche la parte nascosta ed è quello che non mi interessa, perchè voglio tenere i poligoni bassi.

Se intendevi invece comunque di utilizzare quel metodo fino al punto che mi interessava per poi chiudere l'interno.. beh l'avevo già fatto, ma la faccia che tappava il buco che nell'immagine si vede l'avevo cancellata per rendere più capibile cosa stavo "fotografando".

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

No il cerchio esterno deve muoversi, deve scalare, ma quello che non deve modificarsi è la distanza tra i due cerchi, mi sono spiegato?

Ora si...

Per la conchiglia.. non capisco.. così come proponi darebbe spessore a tutta la conchiglia, anche la parte nascosta ed è quello che non mi interessa, perchè voglio tenere i poligoni bassi.

Se intendevi invece comunque di utilizzare quel metodo fino al punto che mi interessava per poi chiudere l'interno.. beh l'avevo già fatto, ma la faccia che tappava il buco che nell'immagine si vede l'avevo cancellata per rendere più capibile cosa stavo "fotografando".

Ecco intendevo la seconda cosa che hai detto :D

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Aggiungo un'immagine per far capire meglio (spero) la situazione della conchiglia:

http://imgur.com/98eOktj

In pratica la parte con spessore rappresenta l'ingresso della conchiglia, il piano che c'è sopra è collegato all'ingresso, chiaramente nella conchiglia ci sono piani tutt'attorno che fanno proseguire il "tubo", ma senza spessore, e l'edge selezionato (nel caso reale della conchiglia l'edge loop) è quello che mi segna come non-manifold.


Modificato da Smjert

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

E' strano... forse ti sei portato un errore di modellazione fin dal principio e ora da quel problema. Come sai l'unico modo per non avere il "non-manifold" è avere facce interne o edge non aperte, quindi li (nello specifico nell'edge della conchiglia) c'è qualche errore di modellazione. Sono tutti saldati i vertici?? Prova a cancellare le facce e ricostruirle in quel punto....

Per la scala ho provato, ma non riesco a mantenere inalterata la distanza... bhò....


Modificato da Michele71

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

E' strano... forse ti sei portato un errore di modellazione fin dal principio e ora da quel problema. Come sai l'unico modo per non avere il "non-manifold" è avere facce interne o edge non aperte, quindi li (nello specifico nell'edge della conchiglia) c'è qualche errore di modellazione. Sono tutti saldati i vertici?? Prova a cancellare le facce e ricostruirle in quel punto....

Per la scala ho provato, ma non riesco a mantenere inalterata la distanza... bhò....

Però non capisco quale:

http://imgur.com/wzuAScY

Qui è la stessa immagine di prima ma ho aggiunto le facce rimanenti e chiuso anche "davanti" e poi fatto "select non-manifold" e come nel caso della conchiglia mi seleziona l'edge loop che separa la parte con spessore dalla parte senza.

Non è che considera le facce frontali (quelle che sono adesso racchiuse dai piani che ho aggiunto) della parte con spessore come all'interno e quindi dà problemi?


Modificato da Smjert

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Secondo me considera la faccia come se fosse un edge estruso (quello che è infine) cioè, da uno spessore crei un piano e quindi non più valutabile come faccia chiusa (4 facce) ma singolo piano (1 faccia). Prova a dare spessore almeno alla base dell'edge stesso (a formare una piramide diciamo) e vedere cosa succede, o estrudi una coppia di edge ricavata da li...

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Secondo me considera la faccia come se fosse un edge estruso (quello che è infine) cioè, da uno spessore crei un piano e quindi non più valutabile come faccia chiusa (4 facce) ma singolo piano (1 faccia). Prova a dare spessore almeno alla base dell'edge stesso (a formare una piramide diciamo) e vedere cosa succede, o estrudi una coppia di edge ricavata da li...

Ma intendi una cosa così?

http://i.imgur.com/j5ko4FZ.png

Lì ho estruso anche l'altro edge e cancellato la faccia interna che si formava alla base... poi ho richiuso attorno come nell'immagine del post prima. Ora l'edge che fa parte della base non viene più segnato come non-manifold.. ma il problema si è solo spostato, e mi segna l'edge sulla punta della piramide, probabilmente perchè la faccia, quella che sale in diagonale dalla base della piramide, è interna... mmm :\.

PS: Grazie per il supporto fin'ora... cercherò domani di googlare ancora... che ora è un po' tardi ;).

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Stai attento che quando colleghi le porzioni di mesh, non ti deve restare una faccia interna. Guarda in wireframe, in edit mode con la selezione face, in tutta la mesh.

Comunque per la rondella, ci sono mille modi per fare quello che ti serve, solo che non avendo immagini non si capisce dove stia la difficoltà.

Se vuoi metti il file su pasteall.org che ci diamo un'occhiata.


Modificato da peperepe77

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Ho fatto che mettere entrambi i blend, il primo è della prova per il non manifold il secondo è quello delle rondelle:

1) http://www.pasteall.org/blend/32876

Forse è più facile pensare in termini di un tubo, quello che voglio riuscire ad ottenere è che solo un tratto del tubo abbia spessore, ovvero quello dell'ingresso e fin dove, dall'esterno, si può vedere, e poi invece tornare ad avere la mesh senza spessore, come se il tubo fosse stato estruso da un circle.

2) http://www.pasteall.org/blend/32878

Qui ci sono due rondelle, quella di sinistra sarebbe il mio punto di partenza, quella di destra il desiderato punto di arrivo.

Quella di destra adesso l'ho ottenuta selezionando prima le facce interne, scalandole bloccando Z, spostando poi la rondella sulla prima, in maniera da avere un riferimento, e poi scalando le facce esterne, sempre bloccando Z, fino a che la distanza tra facce interne ed esterne fosse la stessa della rondella più grande. Forse è la stessa cosa dire che voglio mantenere uguale la differenza tra i diametri del cerchio interno ed esterno.

Detto questo mi chiedevo se c'è un modo più rapido e preciso di farlo oltre quello che ho descritto sopra.

Grazie ;).


Modificato da Smjert

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Bisognerebbe capire se ti servono queste mesh così come sono, oppure per un progetto più ampio, con altre cose da modellare ecc...sapere insomma la finalità del tuo lavoro:

1)Così rappresenta il caso campione del sì/no manifold, estrudi un edge che divide delle facce. Diciamo che in natura non esiste nulla con spessore 0, quindi questa parte di mesh dagli uno spessore impercettibile, ma reale. Estrudi quindi delle facce molto piccole ricavate da quelle di partenza.

2)Direi che qui mantenere la stessa misura della differenza tra raggio maggiore e r minore della corona circolare, che chiamerò differenza per comodità più avanti,ai primi tentativi non è proprio semplicissimo:

Metodo A: attiva la visualizzazione della lunghezza degli edge e visualizza la lunghezza del segmento che rappresenta la differenza, dove leggerai chessò...5 (ipotizzo); ora spostati sull'altra mesh e crea la rondella della dimensione voluta, entri in edit mode, selezioni il diametro di loop interno, attivi la visualizzazione della misure degli edge e scali a mano piano piano fino a 5;

Metodo B: se sei abile con il comando spin, usa crea plane grande quanto la differenza, elimina tutti gli edge ma tienine uno che ti servira per la duplicazione. A questo punto giocando sulla distanza tra pivot e edge ti crei le tue rondelle tutte con la differenza uguale. Spero abbia capito qualcosa...mi frigge la testa pure a me con questa spiegazione maccheronica :wacko:

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Alcune immagini:

1) Uso dello spin, per buon utilizzo metti il pivot al centro della scena, e poi sposta l'edge sull'asse x, sono più spin della stessa "differenza":

2)Scalatura con edge lenght attivo;

3)Estrusione piccole facce;

post-53520-0-10066100-1416056438_thumb.p

post-53520-0-94208700-1416056461_thumb.p

post-53520-0-68939200-1416056475_thumb.p


Modificato da peperepe77

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Alcune immagini:

1) Uso dello spin, per buon utilizzo metti il pivot al centro della scena, e poi sposta l'edge sull'asse x, sono più spin della stessa "differenza":

2)Scalatura con edge lenght attivo;

3)Estrusione piccole facce;

Adesso provo riaguardo agli spin etc, ma mi sa che mi scriverò un addon in python, a meno che ce ne sia già uno, perchè il mio scopo è farlo con meno passaggi possibile. Cioè concettualmente, a mio modo di vedere ,dovrebbe essere possibile farlo con 1 tasto, visto che vorrebbe "semplicemente" dire tenere fisso il rapporto di scaling tra quelle due corone, probabilmente però serve qualcosa a cui va detto chi sono le porzioni di mesh che hanno bisogno di avere questo rapporto fisso.

Riguardo invece il non manifold quelo è solo un esempio, ma è la stessa situazione in cui mi ritrovo con la conchiglia.

Uso però l'esempio e lo rendo più "reale": immagina che quello sia un condotto di aerazione che si estende per un bel po' (e poi in fondo si chiude), questo condotto è visibile esternamente.

Se io parto da un quadrato ed estrudo varie volte per dargli una certa forma ottengo una mesh con spessore 0. Il problema sta all'imboccatura, chi guarda da lì vede che è una mesh con spessore 0, chiaramente non va bene.

La cosa più semplice e ovvia che uno dice è "beh gli do spessore con Solidify", il problema è che io voglio ridurre il più possibile i poligoni, quindi avere poligoni all'interno nascosti (cioè non visibili dall'imboccatura) che danno spessore al resto del condotto, non mi interessano, quindi volevo riuscire in qualche maniera a dare spessore solo alla parte visibile.

Ora ti ho fatto l'esempio del condotto, ma è la stessa situazione che ho appunto con quella conchiglia a spirale.. voglio avere spessore solo alla sua imboccatura (specialmente poi su una conchiglia che avendo tutte quelle curve, per non renderla spigolosa ha bisogno di parecchi vertici, quindi averne altri all'interno, nascosti, per creare spessore non va bene).

Poi magari è proprio impossibile e ci devo convivere.. :P.


Modificato da Smjert

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Dovresti impostare lo script in modo che agisca sulla selezione di edge interessati, non modificandoli come dimensione...di python ne sono poco o nulla...

Per la conchiglia vedi tu, se ti serve per un'animazione o game-engine ecc...devi trovare il compromesso

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Dovresti impostare lo script in modo che agisca sulla selezione di edge interessati, non modificandoli come dimensione...di python ne sono poco o nulla...

Per la conchiglia vedi tu, se ti serve per un'animazione o game-engine ecc...devi trovare il compromesso

Devo dire che lo spin è comunque una soluzione abbastanza rapida ;).

Per la conchiglia.. sì serviva per un game engine, però appunto non sono ancora arrivato ad una soluzione (e a questo punto non so se c'è il modo di farlo).

Mi sembra di aver capito quindi che o è manifold e quindi non posso usare questi trucchetti per creare una mesh "metà" a spessore 0 e metà con spessore, oppure me lo tengo non manifold con tutti i problemi del caso.. hum..


Modificato da Smjert

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Senti scusa ma per la faccenda del non-manifold non capisco dove sia il problema. Le mesh non manifold sono quelle che hanno egdes collegati a più di due facce. Non è consigliato usarle perchè i software non sanno come impostare le normali, non riuscendo a capire quale sia "interno" ed "esterno" della mesh.

http://www.pasteall.org/blend/32884

Qui c'è il file corretto per non incappare in questo errore. In pratica fai tutto bene, basta che cancelli l'edge-ring di collegamento interno.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Senti scusa ma per la faccenda del non-manifold non capisco dove sia il problema. Le mesh non manifold sono quelle che hanno egdes collegati a più di due facce. Non è consigliato usarle perchè i software non sanno come impostare le normali, non riuscendo a capire quale sia "interno" ed "esterno" della mesh.

http://www.pasteall.org/blend/32884

Qui c'è il file corretto per non incappare in questo errore. In pratica fai tutto bene, basta che cancelli l'edge-ring di collegamento interno.

Che scemo che sono!

No è che mi ero bloccato sulla definizione di non-manifold come "mesh aperta", oppure "hai una faccia interna" e non ho pensato anche a quel caso... inoltre saltando il lato tecnico è come fare un "risvolto" all'interno della mesh.

Grazie mille, ammetto che tra le varie risposte che ho dato ho testato solo il discorso dello spin e ho fatto brevi prove per il discorso della conchiglia, quindi non ci sarei arrivato per ora :P.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

oups doppio post.

Rispondo al tuo ultimo: anche su IRC mi hanno appunto consigliato di usare solidify ma.. partendo da cosa?

Ho fatto delle prove ma partendo dalla rondella da ridimensionare solidify mi aumenta anche l'altezza della rondella, cosa che non voglio.

Se parto da una rondella piana, senza spessore, anche lì solidify agisce in due direzioni..

Ho anche provato a mettere il modifier senza toccare altro e ho provato a scalare, perchè magari mantenteva già da solo "in qualche modo" lo spessore che appunto mi interessava, ma non ha funzionato.

Più tardi comunque riprovo.


Modificato da Smjert

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

perchè magari mantenteva già da solo "in qualche modo" lo spessore che appunto mi interessava

Il punto è proprio che il modificatore mantiene lo spessore qualsiasi modifica fai alla mesh.

Diciamo che uno strumento di edit della mesh che riconosca delle sezioni e la mantenga non c'è (almeno che io sappia).

Allora però mi sa che dipende dal caso specifico...perchè se devi scalare un semplice cilindro bucato (come il file da te linkato) basta che ti tieni solo le facce interne o esterne e poi il modificatore da lo spessore e lo mantiene.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

E anche questa è andata, anche qui bastava vedere il problema da "un'altra posizione", e infatti usando le facce interne e solidIfy fa quello che volevo.

Ancora grazie ad elvios, peperepe77 per le soluzioni alternative, e gli altri che sono intervenuti ;).


Modificato da Smjert

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.

×