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 :

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

https://www.youtube.com/watch?v=WdHwB-f_9yY

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

https://www.youtube.com/watch?v=qoj2NTV6uys