By | 3 décembre 2014

Importation de modèle 3d dans un monde Minecraft.

Distribution de travail : Ubuntu 12.04 LTS
Répertoire de travail : ~/MINECRAFT

I) Télécharger l’objet : Firefly Serenity

Lien : http://www.blendswap.com/blends/view/67560

[~/Téléchargements] ➔ unzip 67560_serenity_unfinished.zip 
Archive:  67560_serenity_unfinished.zip
  inflating: BLENDSWAP_LICENSE.txt   
  inflating: Serenity READ ME CAREFULLY!!.txt  
  inflating: Serenity Unfinished.blend  
[~/Téléchargements] ➔ ls -l Serenity\ Unfinished.blend 
-rw-rw-r-- 1 util01 util01 98139400 avril 10  2013 Serenity Unfinished.blend
[~/Téléchargements] ➔ cp Serenity\ Unfinished.blend ~/MINECRAFT/
[~/Téléchargements] ➔ cd ..

II) Installation du modeleur 3d : Blender

1) Installation :

[~] ➔ cd MINECRAFT/
[~/MINECRAFT] ➔ wget http://ftp.halifax.rwth-aachen.de/blender/release/Blender2.72/blender-2.72b-linux-glibc211-i686.tar.bz2
[~/MINECRAFT] ➔ tar xvfz blender-2.72b-linux-glibc211-i686.tar.bz2
[~/MINECRAFT] ➔ cd blender-2.72b-linux-glibc211-i686/
[~/MINECRAFT/blender-2.72b-linux-glibc211-i686] ➔ 
[~/MINECRAFT/blender-2.72b-linux-glibc211-i686] ➔ ./blender

2) Chargement d’un objet .obj :

Supprimer l’objet cube : [Suppr] -> [Entrée]
Ouvrir l’objet .blend : [File] -> [Open…]
Sélectionner : Serenity Unfinished.blend
Puis : [Open Blender File]

capture001

3) Faire une rotation et/ou déplacement de l’objet :

[r] : Rotation
[g] : Déplacement

capture002

Cette manipulation permet de ne pas faire de rotation sous McEdit.

4) Sauvegarder : [File] -> [Save]

5) Exporter en .obj : [File] -> [Export] -> [Wavefront (obj)]
Nom : Serenity.obj
[Export OBJ]

6) Quitter : [File] -> [Quit]

7) Vérification des fichiers :

[~/MINECRAFT/blender-2.72b-linux-glibc211-i686] ➔ cd ..
[~/MINECRAFT] ➔ ls -ltrh Sere*
-rw-rw-r-- 1 util01 util01  94M déc.   3 00:23 Serenity Unfinished.blend1
-rw-rw-r-- 1 util01 util01  94M déc.   3 00:31 Serenity Unfinished.blend
-rw-rw-r-- 1 util01 util01 136M déc.   3 00:33 Serenity.obj
-rw-rw-r-- 1 util01 util01 3,7K déc.   3 00:33 Serenity.mtl

III) Conversion .obj vers .schematic:

1) Télécharger les binaires : http://minecraft.gamepedia.com/Programs_and_editors/Binvox#Download

[~/MINECRAFT] ➔ chmod +x ./binvox
[~/MINECRAFT] ➔ chmod +x ./viewvox

2) Conversion :

[~/MINECRAFT] ➔ ./binvox -d 128 Serenity.obj -t schematic

La fenêtre « Binvox » apparaît et indique le déroulement de la mise en voxel de l’objet 3d :

capture004

Vérification :

[~/MINECRAFT] ➔ ls -ltr Serenity.schematic 
-rw-rw-r-- 1 util01 util01 1867 déc.   3 00:36 Serenity.schematic

3) Liens :

http://www.cs.princeton.edu/~min/binvox/
http://minecraft.gamepedia.com/Programs_and_editors/Binvox

IV) Sous Minecraft en client classique, en mode solo, créer un monde par défaut, puis voyager dans le monde pour créer les blocs.

V) Installation de McEdit :

1) Téléchargement du code source :

– pymclevel :

[~/MINECRAFT] ➔ git clone https://github.com/mcedit/pymclevel.git
[~/MINECRAFT] ➔ cd pymclevel/
[~/MINECRAFT/pymclevel (master)] ➔ cd ..

– mcedit :

[~/MINECRAFT] ➔ git clone https://github.com/mcedit/mcedit.git
[~/MINECRAFT] ➔ cd mcedit

2) Compilation :

[~/MINECRAFT/mcedit (master)] ➔ easy_install virtualenv
[~/MINECRAFT/mcedit (master)] ➔ sudo easy_install virtualenv
[~/MINECRAFT/mcedit (master)] ➔ virtualenv ENV
[~/MINECRAFT/mcedit (master)] ➔ . ENV/bin/activate
[~/MINECRAFT/mcedit (master)] ➔ easy_install PyOpenGL
[~/MINECRAFT/mcedit (master)] ➔ easy_install numpy
[~/MINECRAFT/mcedit (master)] ➔ easy_install pyyaml
[~/MINECRAFT/mcedit (master)] ➔ easy_install pygame

– Erreur :

src/camera.h:42:32: fatal error: linux/videodev.h: Aucun fichier ou dossier de ce type

Solution :

[~/MINECRAFT/mcedit (master)] ➔ sudo apt-get install libv4l-dev
[~/MINECRAFT/mcedit (master)] ➔ cd /usr/include/linux
[/usr/include/linux] ➔ sudo ln -s ../libv4l1-videodev.h videodev.h
[/usr/include/linux] ➔ cd -
/home/util01/MINECRAFT/mcedit
[~/MINECRAFT/mcedit (master)] ➔ easy_install pygame

3) Post-installation :

[~/MINECRAFT/mcedit (master)] ➔ rm pymclevel/ -rf
[~/MINECRAFT/mcedit (master)⚡] ➔ ln -s ../pymclevel/

4) Lancement de l’éditeur :

[~/MINECRAFT/mcedit (master)] ➔ python ./mcedit.py 

Charger un monde : [Load World…]
Sélectionner le monde : monde (monde–) puis [Load]

5) Importation de l’objet .schematic :

Importer l’objet .schematic : icône [Grue]
Déplacer l’objet avec la souris
Fixer l’objet : [Entrée]

capture003

Pour placer précisément l’objet :
– Cliquer et maintenir le bouton [Nudge] puis
– Déplacer l’objet avec les touches de déplacement :
* sur la plan horizontal : [w], [a], [s] et [d]
* sur le plan vertical : [q] et [z]

6) Sauvegarder le monde : [Ctrl]+[s]

7) Liens :

http://www.designerdojo.ie/#!minecraft-resources/c52k
https://www.youtube.com/watch?v=3HTOOENlz2U

VI) Visualiser l’objet dans Minecraft :

mc_serenity

VII) Exemple du modèle 3d « Serenity » en voxel avec différent détail :

./binvox -d 16 Serenity.obj -t schematic

./binvox -d 100 Serenity.obj -t schematic