TSM. Retrouver les PART concernées par une texture

Vous avez un problème avec un autre utilitaire, venez l'exposer ici.

Modérateur : Modérateurs

StationWhere
Messages : 1390
Enregistré le : 23 oct. 2010 16:28
Localisation : lot (46)

TSM. Retrouver les PART concernées par une texture

Messagepar StationWhere » 07 janv. 2016 15:07

Bonjour.
Existe t il une commande sous TSM qui premette de retrouver les PART concernées par une texture?
Merci de votre attention
Dell XPS 8300 W10 Mais je rève encore...

Avatar du membre
XylonAkau
Messages : 1936
Enregistré le : 24 juil. 2010 8:49
Localisation : Taputapuatea (ISLV)
Contact :

Re: TSM. Retrouver les PART concernées par une texture

Messagepar XylonAkau » 07 janv. 2016 23:42

___Ia ora na.
___À ma connaissance, non.
___On a seulement
a} la liste des textures utilisées dans le projet (menu [Part|Display Texture list...],
b} la fenêtre des textures utilisées dans l'élément PART sélectionné ([F4]).
___La première liste n'a aucun intérêt pour ce que tu recherches ; la suite est plus utile, mais son emploi se révèle fastidieux.
___Cependant, on peut retrouver dans le fichier .dst (qui est un fichier compilé, composé en partie de données binaires et en partie de zones de texte) les textures utilisées pour chaque élément PART ; le plus délicat est d'isoler ces éléments PART ; ensuite, il suffit de remplir, élaguer puis croiser les listes des textures qui y sont insérées.
___Maintenant, s'il s'agit d'une texture précise dans un cas particulier, tu peux ouvrir le fichier .dst (dans un éditeur hexadécimal, c'est plus clair ; mais le bloc-notes ferait l'affaire) et chercher le nom de ta texture ; il faut ensuite remonter le « texte » jusqu'au nom de l'élément PART.
___Pour aller au-delà, il faudrait connaître la structure des fichiers .dst, au moins quant au marquage des éléments PART.
___Bon courage pour la suite.

Avatar du membre
Jimidi
Expert
Messages : 1920
Enregistré le : 02 nov. 2008 14:32
Localisation : Ille sur Têt (66)
Contact :

Re: TSM. Retrouver les PART concernées par une texture

Messagepar Jimidi » 08 janv. 2016 8:20

Bonjour,

Un très bon moyen de connaitre les parties d'application des textures est d'user de la fonction dédiée dans ShapeViewer : "Model Hierarchy" (Ctrl+I)
Lorsque l'on sélectionne une partie dans l'arborescence affichée on a une présentation de la partie en orange et le nom de la texture est affichée dans l'arborescence.

On peut aussi se servir de la commande "Textures" (Ctrl+T) en complément ou pour lister les textures réellement utilisées par le modèle. Ici, en décochant une texture, la partie concernée s'affichera en blanc.

Cordialement, Jean-Michel
"T'occup' nin des signaux garchon, mets du carbon !"
Image
facebook Jimidi

Avatar du membre
XylonAkau
Messages : 1936
Enregistré le : 24 juil. 2010 8:49
Localisation : Taputapuatea (ISLV)
Contact :

Messagepar XylonAkau » 08 janv. 2016 18:19

___Ia ora na, Jean-Michel.
___L'emploi de ShapeViewer offre en effet une alternative intéressante ; son inconvenient majeur (sauf erreur de ma part sur le point-de-vue particulier) est de partir du fichier .s, qui ne contient pas (ou plus) le nom des éléments PART de TSM, à l'exception de ceux qui doivent être isolés pour une animation ou autrement. Par exemple, l'objet ci-dessous apparaît dans SV comme composé d'une seule partie Tube (à gauche), alors que pour TSM, il est formé d'une quinzaine d'éléments PART différents (liste de droite) :
Image
___Quant à la commande Ctrl+T, elle permet bien de voir où se situe la texture, mais (pour la même raison que précédemment) sans pouvoir indiquer de quel(s) élément(s) PART il s'agit.
___Si j'ai bien compris le problème, StationWhere souhaitait
a} en choisissant l'une des textures de l'objet (par exemple à partir d'une liste de toutes les textures, telle qu'on l'obtient dans TSM par PART|Display Texture List... ou dans SV par Ctrl+T ou encore telle qu'on peut l'extraire facilement du fichier .dst)
b} voir s'afficher le nom des éléments PART l'utilisant.
___Mais en tout état de cause, même en partant du fichier .dst, on ne travaillera pas en mémoire sur l'objet en cours de modification. Alors, peut-être un ressort caché... Ou bien en parler à Jeffrey Kraus-Yao, qui a repris le projet (ou, du moins, en a racheté les droits).
___Bonne soirée à vous et à tou[te]s, en attendant.

StationWhere
Messages : 1390
Enregistré le : 23 oct. 2010 16:28
Localisation : lot (46)

Re: TSM. Retrouver les PART concernées par une texture

Messagepar StationWhere » 11 janv. 2016 10:48

Bonjour.
Les fètes de famille autour des galettes des rois m'ont obligé à quitter mon poste de travail quelques jours.
Désolé de ne pas avoir réagi plus tot et déja... merci pour votre attention.
Je regarde ça aujourd'hui.
Amitiès
Dell XPS 8300 W10 Mais je rève encore...

StationWhere
Messages : 1390
Enregistré le : 23 oct. 2010 16:28
Localisation : lot (46)

Re: TSM. Retrouver les PART concernées par une texture

Messagepar StationWhere » 11 janv. 2016 14:42

Bonjour.
Donc.. Merci pour votre attention.
Oui.... Suite à quelques échanges ici, j'ai, comme dit plus haut je crois, décidé de me faire une petite Decauville 030 voie de 0.60. (ramenée à 0.75 pour profiter des seules voies existantes sous XTRACK). Ce n'est pas évident pour moi et je tatonne.
je vous livre cidessous l'état du projet. J'en suis à l'animation des roues avant de poser et d'animer les bielles et je suis coincé pour l'instant. Mais c'est un autre sujet. J'essaye encore, sinon je demanderai de l'aide.
Image
Image
Concernant ma question
Jimidi a écrit :Un très bon moyen de connaitre les parties d'application des textures est d'user de la fonction dédiée dans ShapeViewer : "Model Hierarchy" (Ctrl+I)
Effectivement, cette fonction de ShapeViewer me suffit ici. Sinon, j'étais prèt à aller chercher la texture pour remplacer le nom comme me le proposait XylonAkau. Dans le cas présent, il s'agit de retrouver une texture qui fait double emploi avec une autre sans 'zonage' de la dans la dite texture.
Merci à vous deux
Amitiès
Dell XPS 8300 W10 Mais je rève encore...

Avatar du membre
XylonAkau
Messages : 1936
Enregistré le : 24 juil. 2010 8:49
Localisation : Taputapuatea (ISLV)
Contact :

Re: TSM. Retrouver les PART concernées par une texture

Messagepar XylonAkau » 11 janv. 2016 19:49

___Ia ora na 'a.
___Visiblement, le projet avance et se précise. Bon courage pour la suite des travaux.

StationWhere
Messages : 1390
Enregistré le : 23 oct. 2010 16:28
Localisation : lot (46)

Re: TSM. Retrouver les PART concernées par une texture

Messagepar StationWhere » 12 janv. 2016 14:43

Bonjour.
Merci pour cet encouragement. Il a ici, beaucoup de valeur.
Heu...
XylonAkau a écrit :Par exemple, l'objet ci-dessous apparaît dans SV comme composé d'une seule partie Tube (à gauche), alors que pour TSM, il est formé d'une quinzaine d'éléments PART différents (liste de droite)
Mais si tu introduis une hierarchie PARENT/ENFANT, tu retrouve les diverses parties.
Cordialement
Dell XPS 8300 W10 Mais je rève encore...

Avatar du membre
XylonAkau
Messages : 1936
Enregistré le : 24 juil. 2010 8:49
Localisation : Taputapuatea (ISLV)
Contact :

Re: TSM. Retrouver les PART concernées par une texture

Messagepar XylonAkau » 13 janv. 2016 0:03

___Ia ora na fa'ahou.
StationWhere a écrit :si tu introduis une hierarchie PARENT/ENFANT, tu retrouve les diverses parties.
___Tu as certainement raison ; cependant, pour faire les choses un peu mieux, j'ai repris mon ULM (qui est d'ailleurs un parapente) en remplaçant les Tube et Box par Corps, Jambe ou Voile et en hiérarchisant le tout au passage
Image
sans trop de casse apparemment puisque TSM a créé le fichier .s sans protester ; et malgré cela,
- il n'y a qu'une ligne Matrix dans ULM.s (Corps, alors que c'est Tête qui... ) ;
- ShapeViewer n'affiche aussi, dans [Hierarchy], qu'un objet (Corps) auquel se rattachent deux lignes :
> 1728 polys pour couleurs.ace (tout sauf...)
> 48 polys pour blank.ace (les filins). - Peut-être manque-t-il quelque chose quelque part.
___Mais l'essentiel est que tu aies obtenu les informations dont tu avais besoin pour continuer.
___Bonnes étapes suivantes.

nicober
Modérateur
Messages : 2200
Enregistré le : 21 févr. 2004 22:36
Localisation : Québec (Qc) Canada
Contact :

Re: TSM. Retrouver les PART concernées par une texture

Messagepar nicober » 13 janv. 2016 11:31

Bonjour à vous deux!

StationWhere et XylonAkau

XylonAkau a écrit :Tu as certainement raison ; cependant, pour faire les choses un peu mieux, j'ai repris mon ULM (qui est d'ailleurs un parapente) en remplaçant les Tube et Box par Corps, Jambe ou Voile et en hiérarchisant le tout au passage
Image
sans trop de casse apparemment puisque TSM a créé le fichier .s sans protester ; et malgré cela,
- il n'y a qu'une ligne Matrix dans ULM.s (Corps, alors que c'est Tête qui... ) ;
- ShapeViewer n'affiche aussi, dans [Hierarchy], qu'un objet (Corps) auquel se rattachent deux lignes


Un projet fait avec TSM peut comporter un nombre important de parties, par contre une fois converti en fichier forme ( S ) pour MSTS, vous ne retrouvez qu'un certain nombre de ces parties. C'est que par défaut, lorsque TSM converti le projet en fichier ( S ), ce dernier regroupe plusieurs parties similaires en un seul groupe ou en plusieurs et cela sans aucune intervention de notre part. Qu'elle est sa logique derrière cela, difficile à dire mais son regroupement se fait selon certains critères qui lui sont propres. Par exemple, toutes les parties similaires au niveau des matériaux seront regroupées ensembles pour chacun d'eux ( SolidNorm - TransNorm - AlphaNorm etc. ) et il est obligé de conserver intacte toutes les parties qui sont mobiles ( Animation ). Donc peut importe votre hiérarchie il regroupera à sa manière vos parties d'un projet. Ceci, je le pense, afin de maximiser la diminution des "Drawcall" le plus possible. Longtemps on a cru que le nombre de polygones étaient les uniques responsables de la diminution de FPS à l'écran et on a longtemps négligé cet aspect. Avec la venu d'ordinateurs plus puissants et de ORTS on a compris rapidement que le nombre de polygones n'avaient plus autant d'importance, mais aussi que le nombre de "Drawcall" avait une influence significative sur le FPS dans le jeux. D'ailleurs avec ShapeViewer vous pouvez voir le nombre de "Drawcall" d'un modèle avec la fenêtre "Hierarchy", toutes les petites boites de couleur oranges vous indiquent un "Drawcall" différent pour une partie donnée. Il y a eu plusieurs explications à ce sujet sur le forum d'Elvas Tower. Attention cependant, cela ne veut pas dire non plus qu'à présent on ne se préoccupe plus du nombre de polygones dans notre projet. Un bon modeleur pensera toujours à n'utiliser que le nombre suffisant de polygones nécessaires à son projet et surtout supprimera tous les polygones qui ne seront JAMAIS VU, peut importe l'angle de vision (le dessous d'une maison par exemple). Mais ce bon modeleur apportera une attention toute particulière au nombre de "Drawcall" qui seront nécessaires pour le rendu de son projet dans un jeux.

L'une des meilleures manières d'empêcher TSM de faire ses regroupements de parties dans un projet, est d'assigner. à chaque partie que l'on veut conserver, une fausse animation à zéro. De façon à ce que TSM considère cette partie comme animée, la conserve intacte ainsi que son nom. Mais cette partie ne bougera pas du tout, puisque vous avez réglé l'animation à zéro ou nulle si vous préférez.
C'est ce que l'on fait régulièrement Vincent et moi pour créer du LOD pour certaines parties avec Polymaster qui lui aussi peut vous indiquer toutes les parties de votre projet dans un tableau .

XylonAkau a écrit :> 1728 polys pour couleurs.ace (tout sauf...)
> 48 polys pour blank.ace (les filins). - Peut-être manque-t-il quelque chose quelque part.


Vu que MSTS n'accepte pas du tout un modèle auquel une texture est manquante, TSM crée automatiquement une texture ( blank.ace ) et recouvre tous polygones non-texturés avec cette texture ajoutée. Pour MSTS c'est primordiale si l'on veut éviter un plantage, alors qu'avec ORTS, c'est le programme lui-même qui se charge de retexturer tous polygones sans textures en gris. Dans ce cas présenté ici, il y aurait 48 polygones de non-texturés. La meilleure manière de trouver ces polygones sans textures dans notre projet, est d'aller à l'onglet "Polygon" et tout en bas du menu déroulant cliquer sur "Find Untextured Polygons". TSM vous affichera un message vous indiquant ce qu'il en est et vous affichera aux écrans votre modèle en sélectionnant toutes les parties comportant des polygones non-texturés (fil de fer en couleur jaune ). Bien sûr cela complique un peu les choses surtout si TSM vous indique que vous n'avez qu'un seul polygone non-texturé et qu'en plus ce dernier se retrouve sur une des parties que vous avez regroupées. Mais moi, je me fais un point d'honneur à ne pas avoir de polygones de cette nature dans mes projets. Parfois il m'est arrivé de devoir recommencer l'assignation de plusieurs textures à cause de cela, car en regroupant, vous perdez la manière dont vous avez texturé votre partie. Donc dans ce cas vaut mieux tout recommencer et refaire cela proprement dans les règles de l'art. Enfin à chacun sa façon de travailler et de voir les choses. Mais moi je n'accepte pas d'avoir un fichier ( blank.ace ) dans mes projets.

Voilà! .+

Bon courage pour vos projets. (.
Nicober

«La Terre n’appartient pas à l’Homme, c’est l’Homme qui appartient à la Terre.»
[ Sitting Bull ]

nicober
Modérateur
Messages : 2200
Enregistré le : 21 févr. 2004 22:36
Localisation : Québec (Qc) Canada
Contact :

Re: TSM. Retrouver les PART concernées par une texture

Messagepar nicober » 13 janv. 2016 12:41

Bonjour

Voici un projet que je modélise sous TSM - Camions Isuzu

Le projet dans TSM comporte
15 Parties
1639 Vertices
1896 Polygones

J'utilise deux textures différentes, une pour le camion et une autre pour le grillage seulement.
Deux matériaux, soit SolidNorm pour le camion et TransNorm pour le grillage.

Une fois le projet converti de TSM vers un fichier forme ( S ) sans aucun regroupement de ma part.
Voici ce que j'obtiens en le visionnant avec ShapeViewer

Image

On constate que TSM a tout regroupé en deux parties soit:
1ère partie pour le camion entier avec 1892 polygones - TexDiff Normal - Texture: Isuzu-Truck.ace
2e partie pour le grillage avec seulement 4 polygones - BlendATexDiff Normal - Texture: Grid_B.ace
Vous n'avez qu'à cliquer sur la petite boite orange pour voir la partie concernée qui sera coloré d'un jaune. Pourtant toutes mes parties sont hiérarchisées à la partie appelée MAIN. Et malgré cela on ne voit que le nom Platform d'inscrit qui est effectivement le nom d'une de mes parties du projet.

A+
Nicober

«La Terre n’appartient pas à l’Homme, c’est l’Homme qui appartient à la Terre.»
[ Sitting Bull ]

StationWhere
Messages : 1390
Enregistré le : 23 oct. 2010 16:28
Localisation : lot (46)

Re: TSM. Retrouver les PART concernées par une texture

Messagepar StationWhere » 13 janv. 2016 15:23

Bonjour.
Ca y est, l'animation Roues/Bielles... Ca marche!
J'ai enlevé routes les pièces de ma loco (elles sont sauvegardées) et je n'ai conservé que les PART en cours de modif pour animation et ....
nicober a écrit :On constate que TSM a tout regroupé en deux parties soit:
Je te joins copie de l'écran de hiérarchy ShapeView.
Decauville_Asw4.JPG

Tu constateras que toutes les PARTS sont là et qu'il n'a pas regroupé. C'était pareil quand ma Decauville était complète et que je commençais l'animation.
La différence que je note c'est que ton camion est un SCENERY with ANIMATION et non un ENGINE.
Cordialement
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Dell XPS 8300 W10 Mais je rève encore...

nicober
Modérateur
Messages : 2200
Enregistré le : 21 févr. 2004 22:36
Localisation : Québec (Qc) Canada
Contact :

Re: TSM. Retrouver les PART concernées par une texture

Messagepar nicober » 13 janv. 2016 19:47

Bonjour

StationWhere a écrit :La différence que je note c'est que ton camion est un SCENERY with ANIMATION et non un ENGINE.


Mon camion dans l'image ci-haut n'a aucune animation et à Project Properties - à Target Type seul Static Scenery est coché. Mon projet comportait une erreur, car une des parties n'était pas hiérarchisée à la partie MAIN, mais TSM l'a converti quand même sans rechigner. Il faut dire qu'un Projet Static Scenery n'a pas besoin de hiérarchie dans MSTS et c'est probablement la raison
qu'il l'a passé FREE, mais a choisis Platform comme Nom au lieu de MAIN comme il aurait dû le faire.

Dans cette deuxième étape j'ai corrigé cette erreur et j'ai ajouté une fausse animation aux miroirs afin de conserver cette partie là intacte. Lors de la conversion c'est bien ce qu'il a fait, la partie Miroirs est restée intacte mais aussi il a conservé les roues Wheels intactes. Possiblement qu'il ne les a pas regroupées à cause du nom protégé dans MSTS ( Wheels ). Cette fois-ci il a tout hiérarchisé à MAIN comme il se devait. Pour obtenir cela j'ai tout d'abord créé ma fausse animation à la partie Miroirs avec 2 frames animés à zéro ( 0 ). Ensuite à Project Properties j'ai coché Anim Scenery et ajouté un petit 2 à la case Animation Frames. Cette fois-ci l'erreur n'était plus permise et un oubli de ma part aurait entrainé un message d'erreur au moment de la conversion.

Image
Ici on voit bien en cliquant sur la boite orange Wheels les parties concernées.
Par contre en procédant ainsi on constate que j'ai doublé le nombre de "Drawcall".

Ce n'est pas parce que c'est un engin que TSM ne se permettra pas de regrouper certaines parties d'un projet. Comme je l'ai mentionné plus haut, je ne connais pas toute la logique qui se cache derrière sa façon de regrouper les parties d'un objet. Je ne savais même pas qu'en animant un modèle et en utilisant un des noms protégés, ce dernier ne la regrouperait pas avec une autre partie. Seule la partie Parente de tout le projet ( souvent appelé MAIN ), et qui est à Parent: NONE, n'a pas besoin et ne doit surtout pas être animée. Même après plus de dix années d'utilisation on en apprend encore. Il faut dire que tout cela se passe au moment de la conversion en fichier S et que l'on ne voit rien de ce qui se passe. Dans certain projet cela peu fonctionner sans avoir à intervenir de quelque façon que ce soit mais d'en d'autres, ça ne marche pas. Il ne faut surtout pas généralisé. Une chose est certaine la fausse animation fonctionne à tout coup, car TSM ne peut regrouper une partie animée sans casser l'animation.

A+
Nicober

«La Terre n’appartient pas à l’Homme, c’est l’Homme qui appartient à la Terre.»
[ Sitting Bull ]


Retourner vers « MSTS: Autres utilitaires »