stocker dans dossier ressource ou variables

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Avatar de l’utilisateur
yoyoyaya
Messages : 1656
Inscription : 30 Mai 2011 13:14
Localisation : PAAAAARTOUUUU
Contact :

stocker dans dossier ressource ou variables

Message par yoyoyaya » 24 Juil 2013 07:32

Salut les gens. Par ce début de belle journée bien brulante, je viens en paix quérir des réponses :lol: .

Voilà, pour mes personnalisation de personnages, je fusionne plusieurs skinned meshs dont chacun possède un material avec une texture. Ces textures sont aussi fusionnées en un atlas et appliqué au skinned mesh fusionné.

Le truc, c'est que j'envisage de proposer au moins deux variantes d'une même texture (taille 1 et taille 0.5) en cas de pc aux perfs limitées.
J'envisage aussi de faire plusieurs textures par meshs pour varier les styles bref, il y aura de la texture.

Je me demande donc, devrais-je stocker mes textures dans un dossier ressources (ce que je n'ai jamais utilisé) et appeler celles que je veux au besoin ou alors devrais-je plutôt les stocker à la main dans un tableau dans un script et me servir des variables ?
Quel est le mieux à faire niveau performances ? Je pense que le dossier ressources serait plus avantageux car les textures ne seraient pas listées dans un script (mémoire toussa si je ne me trompe) mais de son coté, l'appel dans le dossier n'est-il pas plus lourd (recherche par nom etc) ?

Bref, si vous aviez des réponses à m'apporter, favoriser le dossier ressources ou lister le tout dès le départ dans des variables ?

Merci d'avance
yoyo.
ImageImage

Avatar de l’utilisateur
axel
Messages : 1924
Inscription : 26 Avr 2012 09:10
Localisation : Lille - Dunkerque
Contact :

Re: stocker dans dossier ressource ou variables

Message par axel » 24 Juil 2013 08:55

Et tu ne peux pas faire 2 préfabs dans unity, un léger en poly avec une texture plus petite, et l'autre normal ?
Ensuite dans ton code tu importes le préfab que tu veux.

Avatar de l’utilisateur
yoyoyaya
Messages : 1656
Inscription : 30 Mai 2011 13:14
Localisation : PAAAAARTOUUUU
Contact :

Re: stocker dans dossier ressource ou variables

Message par yoyoyaya » 24 Juil 2013 16:31

J'ai due mal préciser ce que je cherche à savoir ^^.

Pour faire "simple", j'ai mon perso, il a en premier enfant un objet vide qui contient les os, en second enfant, un objet vide qui contient les skinned meshs du perso en Lod0 et en troisième enfant, un objet vide qui contient les mêmes skinned meshs mais en Lod1.

Lors de la fusion de mes skinned meshs et de mes textures, les divers meshs lod0 se fusionne en un mesh final lod0, il en va de même pour le lod1 (tout ça, pour réduire les drawcalls). Avant la fusion, dans deux list de gameObject (lod0 et lod1), les meshs lod1 sont agencés comme dans la list de lod0 pour que les uv soient positionnés à l'identique de lod0 et ainsi, ça colle avec la texture fusionnée/atlas.

Bref, ça, c'est pour expliquer, ça marche, et ça n'est pas vraiment important à la question que je me pose.

En fait, avant que je fusionne les meshs et les textures, le joueur pourra choisir la texture de chaque skinned meshs (gants, jambes etc) et chacune de ces textures existe en deux versions. La version optimale, et la version réduite pour les petites machines.

J'aimerais donc savoir comment stocker de façon optimal toutes ces textures. Histoire de ne pas dépenser de ressources inutiles pour des textures non utilisées.
Toutes les lister dans un script et me servir des variables au besoin ou alors les stocker dans un dossier ressource et aller les chercher à la demande ?

J'espère être un peu moins vague (merci quand même axel pour le post ;) )
yoyo.
ImageImage

sephitoth
Messages : 495
Inscription : 06 Avr 2012 13:47
Localisation : toulouse

Re: stocker dans dossier ressource ou variables

Message par sephitoth » 24 Juil 2013 16:48

Si je ne dit pas de betise,
le dossier ressource est chargée en mémoire donc de toutes manières les textures seront chargées en mémoire.
J'étais athée jusqu’à ce que je découvre que j'étais dieu !

Avatar de l’utilisateur
Titan
Messages : 582
Inscription : 12 Sep 2011 13:54
Contact :

Re: stocker dans dossier ressource ou variables

Message par Titan » 24 Juil 2013 18:32

Le dossier Resources est inclus à la compilation mais rien n'est chargé avant d'être appelé.

En général on dit que la première règle des optimisation c'est de "ne pas le faire", et d'attendre que tout explose pour profiler.
D’après ça je te dirais bien de pas te faire chier et de tout mettre dans un tableau, mais j'ai toujours été profondément exaspérer par cette réflexion et c'est pas plus long de charger juste la texture dont tu a besoin dans le Start() donc autant le faire si tu en a beaucoup.
____________________________________________
Hop Boy

Avatar de l’utilisateur
yoyoyaya
Messages : 1656
Inscription : 30 Mai 2011 13:14
Localisation : PAAAAARTOUUUU
Contact :

Re: stocker dans dossier ressource ou variables

Message par yoyoyaya » 24 Juil 2013 19:17

Titan a écrit :En général on dit que la première règle des optimisation c'est de "ne pas le faire", et d'attendre que tout explose pour profiler.
Mouais. Je ne suis pas codeur mais je trouve cette phrase un peu stupide. Je pense qu'un code optimisé dès le départ est quand même le mieux à faire. Si il faut tout coder "normalement" et ensuite, devoir reprendre un tas de choses pour gagner en perfs, c'est non seulement de la perte de temps mais en plus, on risque de devoir se casser le neurone sur des problèmes qui pourraient survenir à la suite des changements effectués.
Titan a écrit :Le dossier Resources est inclus à la compilation mais rien n'est chargé avant d'être appelé ... ... c'est pas plus long de charger juste la texture dont tu a besoin dans le Start() donc autant le faire si tu en a beaucoup.
J'en aurais pas mal des textures en effet. Je vais donc voir pour opter pour le dossier ressources. Merci à vous ;)
ImageImage

Avatar de l’utilisateur
Titan
Messages : 582
Inscription : 12 Sep 2011 13:54
Contact :

Re: stocker dans dossier ressource ou variables

Message par Titan » 24 Juil 2013 21:49

j'ai retrouvé les citations sur wikipedia qui ressortent sur tout les forums dés que tu pose une question en rapport avec les opti:
Michael A. Jackson a écrit :The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.
Donald Knuth a écrit :We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%. A good programmer will not be lulled into complacency by such reasoning, he will be wise to look carefully at the critical code; but only after that code has been identified
Je suis globalement contre mais pour être déjà tombé dans l'excès inverse, j'ai compris qu'il faut autant faire attention à la maintenabilité qu'a l'optimisation, par exemple pour un concours d'IA je me suis acharné sur chaque ligne, finalement j'ai cassé le code et j'ai jamais réussi à le refaire fonctionner.
____________________________________________
Hop Boy

Avatar de l’utilisateur
yoyoyaya
Messages : 1656
Inscription : 30 Mai 2011 13:14
Localisation : PAAAAARTOUUUU
Contact :

Re: stocker dans dossier ressource ou variables

Message par yoyoyaya » 25 Juil 2013 00:11

N'étant pas codeur, je pense que mon "cas" se rapporte plus à faire un code "propre" qu'à l'optimisation à proprement parler.
D'où le fait que les citations ont leurs sens aux yeux des codeurs et que j'ai dans une certaine mesure du mal à les cerner.
ImageImage

Répondre

Revenir vers « Unity le logiciel »