# Milkshape 3D

Milkshape 3D (MS3D) è un programma shareware di computer grafica 3D per la modellazione tridimensionale low poly creato da Mete Ciragan. Viene principalmente usato dalle persone che lavorano alla compilazione di modelli 3D per videogiochi come Half-Life, Blockland, The Sims 2, The Sims 3 e di altri videogiochi di tipo sandbox. Grazie agli sforzi del suo creatore e della comunità che si è andata a creare intorno ad esso, la capacità di esportazione di Milkshape 3D è stata notevolmente aumentata e oggi può quindi essere usato per molti giochi, tanto che è stato reso disponibile un esportatore per il formato richiesto.

## Storia

Milkshape 3D è stato creato da chUmbaLum sOft, una piccola software house di Zurigo, in Svizzera, fondata nell'autunno 1996. chUmbaLum sOft sviluppa strumenti 3D per videogiochi e altre applicazioni ed in origine era stato creato da Mete Ciragan come programma di modellazione low poly per il motore grafico di Half-Life. Col passare del tempo, sono state aggiunte molte funzioni, come anche molti formati di esportazione. Nonostante non sia avanzato come i programmi di modellazione 3D più conosciuti, è una buona scelta per gli utenti perché è semplice e conveniente.

## Caratteristiche

Milkshape 3D permette tutte le operazioni base dei programmi di questo tipo come select (seleziona), move (muovi), scale (scala), extrude (estrudi), turn edge (ruota bordo), subdivide (suddividi oggetto), ecc. e inoltre permette la modifica "di basso livello" con gli strumenti vertex (vertice) e face (faccia). Sono disponibili anche solidi primitivi come sfere, box e cilindri e Milkshape 3D può esportare i modelli in file con più di 70 formati diversi.
Milkshape 3D è anche uno strumento per le animazioni scheletriche, e quindi permette di esportare animazioni morfiche come quelle di Quake o di esportare animazioni scheletriche come quelle di Half-Life, Unreal, ecc.
La grande quantità di formati di file che il programma è in grado di supportare sono quelli caratteristici di tutti i più importanti motori di gioco 3D come Source engine, Unreal engine, Id Tech (anche Id Tech 2 e Id Tech 3) e Lithtech ed è quindi diventato molto utile come convertitore tra i vari formati.

## Controversie

Le vecchie versioni precedenti alla 1.8.1 beta 1 (Maggio 2007) avrebbero contenuto porzioni di codice in grado di arrestare il software nel caso sia stato rilevato nel pc il funzionamento di alcuni programmi come Registry Monitor. Le versioni precedenti alla 1.6.5 (Aprile 2007), addirittura arrestavano questi programmi e impedivano la loro nuova esecuzione finché Milkshape 3D era in esecuzione: probabilmente questo sistema era in funzione in modo da non far capire agli utenti in che modo avrebbero dovuto modificare le chiavi di registro del sistema per craccare Milkshape 3D senza bisogno di pagare la licenza. Questo sistema è stato comunque disattivato dopo che gli utenti l'hanno fatto notare. E a ogni modo le versioni precedenti alla 1.8.1 non avevano una End User License Agreement (accordo di licenza con l'utente finale) che autorizzasse il programma a farlo. Numerose persone hanno accusato Milkshape 3D di essere sostanzialmente uno spyware ed è stato boicottato da molti utenti. Per le versioni più vecchie, era usato un metodo molto semplice per poter usare la versione Trial anche dopo la scadenza del termine previsto: bastava modificare la data di sistema in modo che il programma non funzionasse in modalità trial. Tutti i problemi segnalati sono stati risolti dalla versione 1.8.1 beta 2 (Maggio 2007).

## Formato di file di Milkshape 3D

Il formato di file nativo di Milkshape 3D per i suoi modelli è il formato *.ms3d, il quale è strutturato in questo modo:
* Intestazione
** "MS3D000000" seguito dal numero di versione (ver. 3 o 4)
* Dati dei vertici
** Coordinate dei vertici
* Dati dei triangoli
** Puntatori a vertici, come le normali delle superfici
* Dati dei gruppi (oggetti, mesh)
** Nomi dei gruppi e puntatori ai triangoli
* Dati dei materiali
** Dettaglio dei colori
* Dati delle ossa
** Dati delle animazioni