Pages vues depuis 25/07/2007 : 25 357 133
Index du forum »» Création-Développement »» Dungeon Crawler (Odyssey) Os4
Hello
Déjà regarde là
http://tf3dm.com/3d-models/characters
Ensuite le mieux serait d'avoir un logiciel pro qui ait une option de réduction de poly
Sinon dans mon Microbe3D Demo-view Menu/Object/Weld
cela fusionne les points proches puis enléve les tris dont les 3 sommets sont identiques
avec gridweld c'est idem mais les points ont avant été mis sur une grille (cad la résolution en x y z a été dimininuée)
Ca enlève pas beaucoup de tris mais beaucoup de vertex (qui bouffe du cpu aussi)
extrait de doc Microbe3D
void U3D_Weld(APTR Objet, float WeldV, float WeldN, float WeldUV);
élimine (weld=souder) des sommets qui sont plus proches que la distance WeldV
Cela simplifie un objet par la suppression de sommets inutiles
Cela peut se faire avec les sommets et/ou les normales et/ou les valeurs UV
Principe: Pour chaque sommet si un sommet est plus proche que la distance WeldV à
partir d'un autre sommet alors garde le premier sommet et retire le deuxième sommet
Idem pour les normales de sommets avec WeldN
Idem pour les valeurs de texture UV avec WeldUV
void U3D_GridWeld(APTR Objet, float GridV, float AngleN, float GridUV);
Identique à U3D_Weld, mais aligne d'abord les points existants sur une grille puis appele U3D_Weld()
GridV et GridUV sont les pas de la grille pour les valeurs des sommets et les valeurs de texture UV
AngleN est la résolution angulaire(degré) voulue pour les normales
AngleN génère un GridN = la distance minimale nécessaire pour représenter cet AngleN
(GridN = sin (AngleN* Pi/180.0);)
Typiquement pour enlever les points doubles qui ne sont pas visibles à l'écran on fera:
Scene = U3D_EasyOpenScene ("Mon premier programme Microbe3D", 320,240);
float PixelResolution = 1.0/(float) 320;
MyObject = U3D_Read (Scene, "myobject.obj"); /* chargé en mémoire* /
U3D_GridWeld (MyObject,PixelResolution.0.0.0.0);