Blender Italia forums Supporto Utenti Supporto Modellazione, modificatori e strumenti Fotogrammetria – scala reale e allinemento

Status della richiesta: Non è una richiesta di supporto
  • Questo topic ha 20 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 1 mese fa da perepepe77.
Stai visualizzando 21 post - dal 1 a 21 (di 21 totali)
  • Autore
    Post
  • frasco
    Partecipante
    • Blenderista
    • Post sul Forum 56
    @frasco
    #839382

    Ciao a tutti, è una vita che non tornavo sul forum.

    Sto facendo i miei primi esperimenti con blender su una mesh provveniente da meshroom e l’occasione mi ha riportato a galla due o 3 problemi voglie o esigenze represse che con Blender mi trascino dietro da un po’..

     

    Problema 1: questione scalatura a dimensioni relai di una mesh: so come farlo nel modo classico (proporzioni e calcolatrice) ma mi chidedevo se nel 2021 in Blender non ci fosse un sistema più automatico e immediato per farlo, nello specifico selezionando sulla mesh due vertici di cui si conosce la distanza nel mondo reale e avviando una qualche sorta di strumento che ridimensioni poi proporzionalmente l’intero oggetto di coseguenza. Esiste una cosa del genere? Vedo addons ovunque per cose molto più sciocche di questa..

     

    Problema 2: c’è la possibilità in Blender di allineare automaticamente una mesh complessa, senza modificarne in nessun modo la struttura, facendo sì che una selezione di suoi vertici, più o meno complanari che siano, vada a sistemarsi con la migliore media matematica possibile sul piano xy globale o pavimento della scena? E’ una funzione presente in molti programmi di fotogrammetria o photomatching. (tranne Meshroom a quanto vedo) Se ci fosse qualcosa del genere in Blender ne sarei oltremodo felice.

     

    Problema 3: Qui da spiegare è un dramma… Il casino è dato dal fatto che alla fine della fiera devo ricavarne un oggetto costruito a mano quindi tutto deve essere costruttivamente realistico e fattibile nella realtà… Ho la necessità di poggiare una semplice mesh planare a 4 vertici – diciamo un quadrato – sulla mesh che deriva dalla fotogrammetria. Per “poggiare su” non intendo un “poggiare” circa… a occhio… O un poggiare virtuale medio che intenda anche un po’ di intersezione di una mesh dentro l’altra. Intendo un poggiare effettivo. Reale. Geomemtrico e volumetrico. Come se le due superfici fossero reali. Pensate ad una lastra perfettamente piana di metallo appoggiata su un suolo roccioso. La lastra si andrebbe a poggiare sui 3 punti più prossimi, e non solo, precisamente sui 3 punti più prossimi in base al proprio baricentro. Ecco questo casino madornale è quello che ho bisoogno di ricreare in blender. Devo appoggiare un piano in modo che la sua posizione e inclinazone si adatti automaticamente alle caratteristiche della mesh sottostante. In modo che le mesh si tocchino ma senza che il piano “entri” mai nella mesh sottostante nè viceversa Non sono un esperto di blender ma di quel poco che so ho provato di tutto: snap, un addon di nome dropit, il modificatore Shrinkwrap… nulla. Come si vede nell’immagine qui sotto ho perfino provato usando le collisioni e i modificatori sold body ma, anche se il risultato è il più vivino a quello che chiedo, le mesh continuano comunque a intersecarsi, cosa che a me manda a monte l’intera progettazione – proprio perchè io devo essere sicuro di progettare su un piano perfettamente tangente e pefettamente allineato a quella determinata zona di mesh, se lo oltrepassa sto ottenendo un piano di lavoro irreale nella realtà.

    Inoltre il fatto di essere legato ad un’animazione m’incasina moltissimo il lavoro. Avrei tipo bisogno di queste caratteristiche di collisione ma per spostamenti da non lasciare fare all’animazione ma da fare io a mano muovendo il piano sulla superficie.

    Lo so ho scritto un papiro… me la cavo malissimo a spiegare cose del genere per iscritto. Spero che qualcuno mi possa aiutare… sopratutto sul mortale e abominevole punto 3.. perchè è una settimana che guardo ovunque ma non ìtrovo un sinoglo caso in giro che mi sia d’aiuto. Sempre e solo palline fatte attaccare/allineare a superfici perfettamente piane o sferiche. E no… qui si parla di superficie irregolare. Intanto grazie a chi abbia letto fin qui..

    perepepe77
    Partecipante
    @perepepe77
    #839389

    Ciao, io non ho una grande esperienza ma alla domanda 1  direi che una volta aperta la mesh in blender, ricavi il lato conosciuto visulizzando ” edge lenght”, da lì ricavi il tuo fattore di scala (proporzione come giustamente hai detto anche tu), questo numero lo andrai ad usare al momento di immettere il valore al comando scale.

    Alla domanda 2 mi vien da pensare questo metodo, selezioni la porzione di mesh desiderata, in edit mode shift+s cursor to selected e lui si posizionerà nella media matematica dei punti, in object mode tasto destro e assegni l’origine al 3d cursor, poi da lì con lo snap qualcosa si può combinare.

    La domanda 3 è un bel dilemma, mi vien da pensare al cloth (intendevi  quello per collisioni?) con un piano molto suddiviso e rigido, comunque ci sarebbe la gravità o forse settando bene…boh

    Belle domande comunque seguo volentieri

    frasco
    Partecipante
    • Blenderista
    • Post sul Forum 56
    @frasco
    #839431

    Ciao perepepe77, intanto grazie per il soccorso.

    Per il problema 1, ecco sì anche per te l’unico sistema per ora è ottenere la distanza tra i due vertici con lo strumento misura o con l’edge lenght poi andare di proporzioni. Peccato davvero che non ci sia una specie di “scala oggetto definendo la distanza di due suoi vertici“. Nel mondo della sola modellazione per fini grafici o di animazione non servirebbe a granchè, nella modellazione di oggetti reali invece serve come l’aria… Purtroppo sono nato con un cervello che non mi permette l’avvicinamento al mondo della programmazione… Altrimenti mi farei deggli addon dalla mattina alla sera.

    La soluzione al problema 2 che proponi purtroppo non mi risolve la questione, forse solo per mia incapacità. Venendo da Cinema 4D non riesco a capire cosa me ne faccia di un 3d cursor che mi aiuta solo a definire il centro dell’origine ma senza dargli un orientamento. E come faccio poi io a dargli un orientamento con gli snap ecc. a questa origine quando parliamo di una media di vertici selezionati. Sarebbe stato logico – e utile – se al muovere un “3d cursor to selected” corrispondesse anche un’opzione per indicare quale piano o asse del 3d cursor si vuole allineare a quella media di punti. Della serie: okj ti muovo il 3d curso al centro di quella massa o su quel vertice o su quello spigolo… ma come te lo oriento? Darebbe un senso a questo strumento maledetto.. (perdonatemi dai è solo frustrazione, Blender è e resta forse il software libero di più alto livello al mondo). Di base comunque sarebbe tutto fattibile senza 3d cursor.. selezioni un punto, o selezioni più elementi… e poi definisci cosa vuoi fare direttamente… Senza un passaggio in più… ma lasciamo stare… so che è un argomento che è meglio evitare. Comuqnue.. Per ora su questo punto mi ha aiutato parecchio quello che propongono qua https://blender.stackexchange.com/questions/14232/align-an-object-to-a-specific-face

    Problema 3 … e lo so, è una brutta storia… Avevo trovato questo addon qua https://blog.michelanders.nl/2017/12/planefit-blender-add-on-to-fit-plane.html ma non me ne faccio nulla vista che si occupa di creare un piano allineato alla media di orientamento di certi vertici selezionati. In realtà mi torna più utile per il problema 2 che per il 3

     

    perepepe77
    Partecipante
    @perepepe77
    #839488

    Al problema 2 in effetti ho buttato là più un’idea che una soluzione, in  effetti si riuscirebbe solo ad ancorarsi con lo snap forse in modalità face, però il piano di appoggio deve essere una mesh reale, non tanti punti da cui calcolare una media, Hai citato cinema 4d. ha una funzione simile da provare a replicare in blender?

    frasco
    Partecipante
    • Blenderista
    • Post sul Forum 56
    @frasco
    #839490

    Sì su quello Cinema 4D te la semplifica davvero alla stragrande. Ha un pannello apposta per l’orientamento del pivot/origine di qualunque cosa.. e lo si può vincolare a qualunque cosa, non solo di snap ma parametricamente, come ad esempio ad un insieme a caso di vertici selezionati, facce ecc…

     

     

    Per il Problema 2 sarei stato a posto: mi allineavo col pivot della mesh ad una serie di vertici selezionati e fine.. Dopo avrei potuto usare quel pivot per all’inearmi all’asse per me più comodo… Tempo di sbattimento 6 secondi………

    Io confido ancora che prima o poi qualcuno di voi mi salti sù dicendo: “Ma valà!!!! Ma certo che ce l’ha anche Blender!!! E’ semplicissimo!!!!! Basta fare CTRL+SHIFT+ somma delle prime 3 cifre della serie di Fibonacci + ALT + palmo della mano a schiacciare contemporaneamente F1,F2,F3 e viene fuori il pannello Nautilus, lì devi aprire la quarta voce a tendina, vedi quel puntino che non si capisce se è un grano di polvere sul monitor o altro? Ecco cliccaci e tadaaaaaam! Ti apre un pannello come quello di Cinema 4D! Facilissimo. Comunque se ti eri letto tutto il manuale in inglese della build 2.54a era spiegato, in quello nuovo no…..”

    Gusa
    Partecipante
    @gusa
    #839495

    Ciao Frasco, per il punto 3 questa soluzione farebbe a caso tuo? https://youtu.be/YjwBIkxdnEg

    perepepe77
    Partecipante
    @perepepe77
    #839497

    Attenzione, il pivot point è il centro di rotazione e trasformazioni varie di una mesh, gli assi cartesiani del gizmo sono un’altra cosa. A te serve orientare una mesh in base all’inclinazione di 3 punti di un’altra mesh o di questi 3 punti avere un gizmo che ti faccia costruire perpendicolare a quei punti.

    Nella prima parte di questo video, magari in un modo un po’ macchinoso, costruisce un piano su un cubo inclinato a caso, lo spunto mi sembra buono:

    Ti aggiungo anche questo di globante, ci dovrebbe essere una discussione qui sul forum anche:

    frasco
    Partecipante
    • Blenderista
    • Post sul Forum 56
    @frasco
    #839498

    Ciao Gusa, penso sia più o meno quello che avevo scritto di aver provato nel primo post. Diciamo che il video da un’idea almeno del “principio” di quello che devo ottenere senza però animazioni, rimbalzi, scivolamenti.

    Nel mio caso, ma ripeto non sono un esperto di rigid body, collisioni ecc… non ero però riuscito ad ottenere due mesh che evitassero intersezioni” come si vede appunto nell’immagine del primo post.

    E’ molto importante capire che quel che mi serve fare è trovare un piano che sia realmente vincolato per inclinazione, posizione, baricentro, tutto, a ciò su cui poggia la sua faccia inferiore.. se per esempio lo devo spostare di 1 cm in una qualunque direzione sul piano ideale xy globale lui deve cambiare inclinazione sequendo la superficie di quel che ha sotto di lui. Il problema rispetto a tutti gli altri tutorial che ho trovato è che non lo devo fare su una superficie semplice ma su una irregolare come quella nell’esempio che sto facendo a voi.

     

    Il motivo della questione “baricentro” ed equilibrio poi è dovuto al fatto che, per il progetto che sto cercando di fare, è molto importante per me identificare un vero piano che nel realtà si appoggerebbe davvero in quel modo a  quella certa zona della mesh su cui decido di metterlo… perchè quando poi alla fine della fiera creerò questo oggetto e ce lo fisserò contro nella realtà – ricordiamoci che la mesh sottostante del mio esempio rappresenta una superficie reale ottenuta in fotogrammetria alla quale dovrò appunto fissare il mio oggetto con un tassello – lui dovrà davvero, trovare in quella posizione una situazione di stabilità

    Gusa
    Partecipante
    @gusa
    #839501

    Con il sistema che vedi nel mio video non ci sono intersezioni, puoi spostare il piano in qualsiasi punto vicino alla superficie della mesh e facendo partire l’animazione lo stesso piano trova l’equilibrio su almeno tre punti della superficie sottostante.

    frasco
    Partecipante
    • Blenderista
    • Post sul Forum 56
    @frasco
    #839503

    Ah bé ma allora certo lo provo alla grande. É che pensavo fosse la stessa cosa provata da me. Te dimmi cosa devo fare che io eseguiró

    perepepe77
    Partecipante
    @perepepe77
    #839505

    Penso che sia fondamentale suddividere per bene il plane che va a collidere

    Gusa
    Partecipante
    @gusa
    #839511

    Il piano in realtà è il cubo di default scalato sull’asse Z in edit mode al quale si associa un Rigid Body con questi parametri:

    Per la mesh risultante dalla fotogrammetria i parametri del Rigid Body sono gli stessi tranne Dynamic al quale devi togliere il segno di spunta.

    Poi posizioni il piano in prossimità dell’area che ti interessa e clicchi su Play Animation. Attenzione a non creare intersezioni al termine del posizionamento manuale tra la mesh il piano altrimenti quest’ultimo verrà proiettato verso l’alto :D.

    Se vuoi spostare il piano in un’altra area della mesh porta l’animazione a zero, riposizionalo e fai ripartire con Play.

    Spero che il tutto possa esserti utile.

    Guido

     

    frasco
    Partecipante
    • Blenderista
    • Post sul Forum 56
    @frasco
    #839535

    Rieccomi. Gusa certo che mi torna utile. 2 cose le ho capite. Di fatto è l’esperimento che avevo fatto anch’io con due modifiche essenziali che nel tuo caso rendono correttamente impenetrabili le due mesh: primo: hai messo un parallelepipedo al posto di un piano (ho provato anche la tua soluzione perepepe77  e usare un piano con molte sudivisioni ma non c’è stato verso, anzi si comportava in modo ancora più strano), secondo: alla voce Collision > Shape > hai messo “Mesh” mentre io avevo lasciato Convex Hull. Come dicevo ora anche a me il parallelepipedo, quando si ferma, non s’interseca con “il terreno” sottostante. Risolto un problema ce nè però un altro altrettanto fatale: non posso concedere alla mia mesh di rimbalzare o scivolare. Ho provato varie cose a caso ma non riesco ad avitare che lo faccia. Al massimo alzando la “Friction” di entrambi i corpi vedo che l’oggetto scivola un po’ meno. Il fatto è che se l’oggetto sopra rimbalza o scivola si sposta in punti in cui le condizioni d’appoggio sono diverse dal punto in cui io la volevo calare. Questo il motivo per cui a me la strada dell’animazione proprio non torna. Io ho bisogno di una sorta di funzione che sistemi il mio oggetto nel punto finale di equilibrio e appoggio esattamente sotto a dove lo sistemo io in partenza. Non deve scivolare. Non deve rimbalzare. Deve solo cercare il suo punto di stabilità superficiale. Come dicevo l’oggetto che ne ricaverò nel mondo reale ce lo inbullonerò contro facendoci un buco col trapano. La sua stabilità laterale quindi gliela fornisco io. A me serve che in questa simulazione / progettazione Blender mi dia l’orientamento corretto con cui si “bloccherà” sulla faccia sottostante. E’ evidente che la questione la sto spigando da cane. E’ un casino. Voi dovete far finta che questo piano che io devo posare sia fatto di colla….. Lui deve solo trovare il piano che la sua faccia non può oltrepassare per colpa dei vertici,spigoli, facce della superficie sottostante…

     

    perepepe77 grazie per quei video, sì col Problema 2 effettivamente mi aiutano, insieme al procedimento e all’addon nel link che ti  avevo messo mi permettono di archittettare una soluzione alternativa a quella che speravo. Quindi è già gran cosa. Di base mi sto riguardando tutto per capire meglio la filosofia di blender con origini e orientamento….. e anche quel maledetto 3d cursor….  Sto cercando di farci la pace ma è dura. E’ come se per accendere la luce dovessi accendere un’interruttore che non accende direttamente la luce ma serve solo per attivare un altro interruttore che poi dovrò accendere per accendere la luce :rage: …..

     

    Per riepilogare: Problema 1: no soluzioni alternative o più comode del solito sistema, amen; Problema 2: risolvibile con una serie notevole di passaggi un po’ assurdi ma comunque risolvibile. Prego ogni notte per una addon con un solo comando: “allinea orientamento locale mesh a selezione“…. Problema 3: alto mare.

    frasco
    Partecipante
    • Blenderista
    • Post sul Forum 56
    @frasco
    #839674

    Visto l’assenza di proposte ho dato fondo ad ogni possibile studio, esperimento e riecerca.. E alla fine sono arrivato a quella che sembra una soluzione. Certo assurda, sì perchè ripeto dover passare da un’animazione per risolvere un’esigenza che è invece è solo di costruzione e modellazione mi pare un po’ ridicolo… Ma si fa quel che si può. Questo è quello che ho aggiunto alle dritte datemi per far sì che l’oggetto – nel mio caso il piano – si vada a posizionare sulla mesh sottostante senza spostarsi sul piano XY e nemmeno ruotando sull’asse Z: ho bloccato la sua posizione ai valori iniziali X e Y e uguale ho fatto con la rotazione sull’asse Z.

     

     

    Ecco io sarei oltremodo felice se ci fosse un modo un po’ più “normale di arrivare a questp risultato”… Perchè ora devo fare il bake dei fotogrammi e tenermi l’ultimo come situazione a cui volevo arrivare. Se qualcuno ha delle proposte mi faccia sapere che di tanto in tanto torno qui a vedere se ci sono novità

    frasco
    Partecipante
    • Blenderista
    • Post sul Forum 56
    @frasco
    #839675

    No niente da fare scusate… mi sono accorto solo dopo aver postato che in realtà il mio piano non poggia stabilmente su almeno 3 punti come succede nella realtà… ma si è solo fermato in equilibrio appoggiato su 2….

    perepepe77
    Partecipante
    @perepepe77
    #839726

    Secondo me ti stai complicando la vita, provo una soluzione semplice ma di preciso non so se risponda a tutte le tue necessità.

    Nella vista top vai a posizionare un plane o il basamento piano della mesh che vuoi appoggiare nel punto che ti sembra più conveniente sopra l’oggetto scansionato; entri in edit mode della mesh scansionata e delinei un’area di selezione che sia la proiezione della costruzione da appoggiare (sempre vista top), di questa area ti serviranno i 3 punti con valore z più alto, individuabili a occhio se ti metti in una vista laterale ortogonale, su questi 3 punti costruisci un piano che rappresenta la superfice di appoggio, a questo punto la mesh da fissare la posizioni con lo snap sul piano generato. Se decidi di cambiare posizione di appoggio, devi rifare la procedura, inoltre non penso sia verificabile una condizione di equilibrio al ribaltamento, ma qui andiamo nel campo di software specifici (penso ai FEM).

    frasco
    Partecipante
    • Blenderista
    • Post sul Forum 56
    @frasco
    #839758

    E arigrazie sempre per la pazienza. Il casino in cui ho gettato non solo me stesso ma anche voi, è che quella che ho postato come Problema 3 è in realtà una situazione semplificata del mio caso, qualcosa col solo fine di aiutarmi a spiegare la questione. Di fatto la superficie su cui devo trovare svariati piani di appoggio e lavoro è molto ma molto più irregolare, triangolata e bastarda di quella nell’esempio.  E’ impossibile definirvi 3 punti di appoggio di un piano ideale “a occhio”. I punti sono troppi e si differenziano in altezza di troppo poco per essere identificabili. Non è possibile nemmeno con qualche script che mi dica quali sono i 3 vertici più prossimi perchè non è poi detto che sia su quei 3 che il piano potrebbe trovare l’equilibrio.  Insomma quello che cercavo mi sa davvero che non si può ancora fare in blender ma solo coi programmi FEM che dici tu. Magari guarderò su Freecad perchè so che dovrebbe avere quel tipo di funzione

    frasco
    Partecipante
    • Blenderista
    • Post sul Forum 56
    @frasco
    #839808

    Domanda: in un’animazione fisica esiste un modo di saltare subito alla situazione “finale” in cui gli oggetti abbiano trovato una stabilità e una posizione conclusiva rispetto alle forze in gioco? Non intendo il saltare all’ultimo frame dell’animazione con “jump to endpoint” perchè molte volte noto che l’animazione si ferma quando l’oggetto sta acora ondeggiando… Perfino se ho settato 1000 foogrammi nella cache del rigid body world.  Dimostrazione del fatto che l’ultimo frame disponibile in timeline non rappresenta per forza il punto di stabilità finale. Certo lo so.. potrei settare una cache da 10000 fotogrammi e allora avrei più probabilità che ultimo frame e situazione di stabilità coincidano… ma metti mai che per una volta ci sia un passaggio più veloce e meno dispersivo…

    perepepe77
    Partecipante
    @perepepe77
    #839811

    Forse barando sulla gravità, mettendola sotto a 1, col risultato di avere meno forza che spinge giù, trova l’equilibrio prima. Cose da provare di test e trucchetti vari.

    frasco
    Partecipante
    • Blenderista
    • Post sul Forum 56
    @frasco
    #839909

    Ho provato a spegnere la gravità del tutto ed usare il Force Field sulla mesh “di appoggio”. Così non ero costretto ad una situazione solo verticale., di fatto io devo lavorare su un ipotetico piano “circa” XZ e non XY. Ad ogni modo, anche se la strada è potenzialmente utile a quello che voglio fare, la supercomplessità e trangolazione fittissima dell’oggetto d’appoggio (provvenendo dalla fotogrammetria era scontato) fanno sì che il calcolo delle forze fisiche e l’animazione vadano in bomba totale… E non esiste che semplifichi la mesh perchè ho fatto tutto proprio per studiare con precisione il piano d’appoggio sulle carratteristiche più precise possibili di quella superficie. Se la vado a semplificare, inevitabilmente, anche se di poco, ne cambio la struttura. Credo di essere finalmente giunto al punto che si auguravano tutti e cioè quello in cui capisco che è l’idea alla base del progetto ad essere un suicidio senza senso. Farò così: userò la realtà al posto del virtuale ;). Applicherò a mano, con del biadesivo, una qualche sorta di lastrina perfettamente piatta sulla superficie reale nel punto d’interesse e poi rifarò foto e processo fotogrammetrico da capo. In questo modo levo dalle variabili quella del trovare l’orientamento di “tangenza” o “appoggio” alla superficie superincasanata in blender.  Col programma dovrò solo ottonere la migliore approsimazione perfettamente complanare del casino abominevole di vertici e facce con cui mi si ripresenterà la lastrina fotogrammetrica.  Cosa comunque ben più fattibile…

     

    Spero di non aver rotto troppo le balle col mio esperimento folle… Se poi qualcuno scopre lo stesso come farlo senza animazione fatemi un fischio eh! E’ una cosa che m’interessa comunque. Tutti i tutorial parlano sempre di come appoggiare oggetti a facce supersemplici o di come appoggiarli su una superficie complessa permettendo comunque che la intersechino. Non ho mai trovato qualcosa che parli di appoggio vero, come nel mondo reale, senza alcuna intersezione, su una superficie irregolare con molti vertici e poligoni… e mi parrebbe interessante anche per altri. Non so, per esempio nel caso uno voglia trovare i 50 mq più pianeggianti di un rilievo fotogrammetrico fatto col drone per farci un parcheggio…. L’ho sparata lì eh, ci saranno 8000 esempi migliori…

    perepepe77
    Partecipante
    @perepepe77
    #839911

    Probabilmente il rilievo da drone nel caso di terreno parte dal rilievo, elaborazione nel software di fotogrammetria e poi in un software topografico, quest’ultimo sicuramente gestisce le quote, io ho presenziato a qualche corso dove introducevano il workflow, però non è proprio il mio lavoro. Sul web trovi qualche software gratis per elaborati catastali, sarebbe da provare usando la tua mesh come una collina molto gugliata e vedere se da fotogrammetria, ti esce il rilievo con le coordinate che ti interessano.

Stai visualizzando 21 post - dal 1 a 21 (di 21 totali)
  • Devi essere connesso per rispondere a questo topic.