Vai al contenuto

Problema con il "Array Modifier"


Luc

Recommended Posts

Salve ragazzi

 

Eccomi di nuovo con un problemino. Dovrei sottrarre 6 cilindretti dall' oggetto principale (vedi immagine allegata). Ho utilizzato il "Array Modifier" per la creazione dei cilindri seguendo anche un tutorial specifico, nulla da fare. Non so dove sbaglio.

 

Allego il file Blender, se qualcuno fosse così gentile da dargli un' occhiata gliene sarei grato!

 

https://www.dropbox.com/t/5AgNaI0lqexXYxHe

 

 

2021-08-29 16_35_58-Window.jpg

Link al commento
Condividi su altri siti

bn-top

Allora fai cosi;

 

Cancella l'empty che hai e mettine uno nuovo (Arrows nel mio caso) al cursore.

Seleziona il cilindro e applica le sue trasformazioni (scala e rotazione).

Applica il modificatore Array al cilindro con 6 cloni > spunta la voce "Relatiove offset" > spunta la voce "Object offset" > empty arrow come offset

 

Ora l'empty arrow controlla la posizione dei cloni per la rotazione. Selezionalo e ruota l'asse X a -60 mentre il resto lascialo a zero.

 

1.png.798abfef104763c8f1c48d68f13f3034.png

2.png.9f3a5b11c0191762e4aa383decbe93cc.png

Fondamentalmente la parte importante per l'array è avere tutte le trasformazioni fissate e resettate. Quindi se hai dubbi durante le operazioni, ti consiglio di fare delle copie degli oggetti da trasformare.

 

P.S: non so che problema aveva il tuo oggetto empty, ma non andava proprio... quindi l'ho sostituito e ha funzionato tutto...

Link al commento
Condividi su altri siti

Ciao Michele

 

Ti ringrazio molto per la celere risposta.

 

Quando dici: "Seleziona il cilindro e applica le sue trasformazioni (scala e rotazione)" cosa intendi esattamente?

Quando spunto "Relative offset" azzero il factor X?

Il "constant offest" lo ignoro, non azzero i parametri?

 

Ho fatto una prova (in uffico) veloce....niente ancora. Proverò questa sera con  calma.

 

Un saluto

Mirko

Link al commento
Condividi su altri siti

2 ore fa, Luc ha scritto:

Quando dici: "Seleziona il cilindro e applica le sue trasformazioni (scala e rotazione)" cosa intendi esattamente?

Quando spunto "Relative offset" azzero il factor X?

Il "constant offest" lo ignoro, non azzero i parametri?

- Applicare le trasformazioni significa fare un "X-reset" (nel buon vecchio 3dsmax) o "Apply > Rotation > Scale". In questo modo il tuo oggetto reimposta tale parametri nello snap attuale in cui si trova (le coordinate di trasformazione dell'oggetto vengono trasferite ai dati dell'oggetto). Ciò significa che la rotazione ritorna in 0,0,0 e la scala in 1,1,1 mentendo però la posizione attuale. Tutto questo ti permette di lavorare con i modificatori in modo più semplice e preciso, altre ad non avere brutte sorprese come a te avvenuto di rotazione ecc. Dall'help di Blender:

"L'applicazione dei valori di trasformazione ripristina essenzialmente i valori della posizione, della rotazione o della scala dell'oggetto, mantenendo visivamente i dati dell'oggetto in posizione. Il punto di origine dell'oggetto viene spostato sull'origine globale, la rotazione viene annullata e i valori di scala vengono impostati su 1."

 

- Spuntando il relative offset essenzialmente eviti una traslazione uguale al bounding box dell'oggetto lungo ciascun asse, moltiplicato per un fattore di scala. In sostanza non usi questo parametro ma l'oggetto empty arrows come traslazione! 

 

- Il constant Offset aggiunge un componente di traslazione costante all'offset dell'oggetto duplicato. Dato che come sopra usiamo un empty object per traslare il cilindro non ne abbiamo bisogno!!

 

 

 

 

 

 

Modificato da Michele71
Link al commento
Condividi su altri siti

Le booleane sono un casino francamente e io le odio!!!! 

La prima cosa da vedere è se le normali delle due mesh siano sistemate per benino, ovvero che siano poste nel verso giusto sulla faccia della mesh. Effettivamente questo era (nel tuo caso) il problema... Quindi opera in questo modo:

 

- Dopo l'operazione di array applica il modificatore per rendere i 6 cilindri un unica mesh

- Con i 6 cilindri selezionati entra in Edit mode > Select All (a) > Mesh > Normals (alt + n) > Recalculate Outside ( Shift + n)

- Seleziona la mesh rim.001 applica il modificatore boolean > Difference e in Object seleziona l'oggetto di taglio (i 6 cilindri)

 

Ora come noterai i cilindri rimangono li belli belli, ma se li selezioni e li nascondi (H) noterai che in rim.001 la booleana è riconosciuta ed effettuata. Applica il modificatore booleano e cancella i 6 cilindri.

Ora non dirmi il perché di questa cosa (francamente non la voglio neanche sapere) ma ora funziona bene

 

P.s: ho provato con l'add-on presente in Blender (ma non attivo) chiamato "Bool Tool". Con questo strumento l'operazione booleana cancella l'oggetto di taglio... mah...

 

Quindi ricordarsi di controllare alcune cose prima dell'operazione booleana:

 

- Avere un numero sufficiente di poligoni tra le due mesh (ne pochi, ne molti)

- Controllare le direzioni delle normali che devono essere esterne

- Controllare ed eventualmente rimuovere i doppi vertici ecc. con Merge > by Distance

- N-gon di grandi dimensioni non funzionano, quindi, convertirli in tris o quad

 

 

Link al commento
Condividi su altri siti

Accedi per commentare

Sarai in grado di lasciare un commento dopo l'accesso



Accedi ora
  • Navigazione recente   0 utenti

    Non ci sono utenti registrati da visualizzare in questa pagina.

×
×
  • Crea nuovo...