Echecs Shader & Comment les résoudre

Vos forums pour toutes les discussions sur le modding.
User avatar
x Lethian x
Former GIANTS employee
Posts: 2190
Joined: Thu Mar 02, 2017 12:39 pm

Echecs Shader & Comment les résoudre

Post by x Lethian x »

Bonjour les gars et les filles, c'est Lethian.

Aujourd’hui, nous voulons vous présenter une brève mise à jour sur la façon de résoudre tout échec du shader vous pourriez obtenir de nos test sur le ModHub.

Certains d'entre vous se demandent peut-être: quels sont les échecs du shader? Eh bien, nous avons un petit script intelligent de notre côté que nous utilisons pour tester le mod afin de voir quels problèmes un mod pourrait avoir sur les consoles. Il nous dit quel matérial et quel shader sont à l’origine du problème, ainsi que les éléments qui pourraient être faux ou qui manquent afin d’afficher correctement le mod en jeu. Ces échecs pourraient ressembler à ceci (si ce n’est pas pris en charge) en jeu:

Image

Le nombre d'échecs sur un outil ou sur un véhicule peut être faible, mais sur les cartes, il peut y en avoir beaucoup, car ils utilisent souvent de nombreux objets et modifications personnalisés. Le rapport que vous recevrez de notre équipe ModHub après les tests ressemblera à ceci:
------------------------------------------------------------------------------------------------------------------------------

Custom shader: data/shaders/treeBillboardShader.xml
Material attributes 3E3EABBA-00002615
- MASK_ALPHA_BLENDING
- MASK_ALBEDOMAP
- NORMAL_MAP_FORMAT 3CHANNEL
- MASK_ALLOW_FOG
- MASK_LIGHTING
- MASK_USED
- Custom material id 3E3EABBA
LightEnvShape attributes 00000000-B0000000
- use shadow map: no
- GPU perf class 2
- Large shadow map filter
- Non-MSAA

Nearest hash 3E3EABBA.00002616-00000000.B0000000.
Material attributes 3E3EABBA-00002616
- MASK_ALPHA_TESTING
- MASK_ALBEDOMAP
- NORMAL_MAP_FORMAT 3CHANNEL
- MASK_ALLOW_FOG
- MASK_LIGHTING
- MASK_USED
- Custom material id 3E3EABBA
LightEnvShape attributes 00000000-B0000000
- use shadow map: no
- GPU perf class 2
- Large shadow map filter
- Non-MSAA

FAIL (Material maple5LOD_mat, Hash 3E3EABBA.00002615-00000000.B0000000)

------------------------------------------------------------------------------------------------------------------------------
L'exemple ci-dessus montre les entrées pour UN shader échoue uniquement, respectivement par matérial. Certains mods arrivent avec quelques-uns, d'autres avec des centaines. Pour communiquer ces échecs, nous n'enverrons qu'une grande partie s'il y en a trop. Si vous souhaitez recevoir la liste complète des échecs, n'hésitez pas à ouvrir un ticket dans notre ModHub Messenger à tout moment et fournissez votre adresse e-mail. Nous pourrons ensuite vous envoyer un fichier .txt incluant tous les shader / matérial défaillants.

Maintenant, pour résoudre ces échecs, consultez les codes de couleur ci-dessous - un rapport d'échec du shader est divisé en deux parties, la première énumérant le matérial et tous ses éléments actuels et la seconde partie indiquant les éléments qu’il aurait dû attribuer pour qu’il fonctionne correctement sur la console. Vous devez repérer la différence entre les deux pour déterminer le problème:


------------------------------------------------------------------------------------------------------------------------------

Custom shader: data/shaders/treeBillboardShader.xml <- Le shader spécifique ayant le problème, le matérial utilisé nécessite parfois un autre shader.
Material attributes 3E3EABBA-00002615
- MASK_ALPHA_BLENDING <- Les éléments incorrects et non présents dans la liste ci-dessous sont probablement à l'origine de l'échec.
- MASK_ALBEDOMAP
- NORMAL_MAP_FORMAT 3CHANNEL
- MASK_ALLOW_FOG
- MASK_LIGHTING
- MASK_USED
- Custom material id 3E3EABBA
LightEnvShape attributes 00000000-B0000000
- use shadow map: no
- GPU perf class 2
- Large shadow map filter
- Non-MSAA

Nearest hash 3E3EABBA.00002616-00000000.B0000000.
Material attributes 3E3EABBA-00002616
- MASK_ALPHA_TESTING <- Éléments qui manquent dans la liste ci-dessus et qui doivent être inclus / échangés avec ceux qui sont défectueux pour éliminer l'échec.
- MASK_ALBEDOMAP
- NORMAL_MAP_FORMAT 3CHANNEL
- MASK_ALLOW_FOG
- MASK_LIGHTING
- MASK_USED
- Custom material id 3E3EABBA
LightEnvShape attributes 00000000-B0000000
- use shadow map: no
- GPU perf class 2
- Large shadow map filter
- Non-MSAA

FAIL (Material maple5LOD_mat, Hash 3E3EABBA.00002615-00000000.B0000000) <- C’est le nom du matérial que vous devez rechercher dans votre fichier .i3d - assurez-vous que les éléments appropriés lui sont attribués pour supprimer le shader.

Ainsi, les éléments corrects dans ce cas ressembleraient à ceci:

Custom shader: data/shaders/treeBillboardShader.xml
Material attributes 3E3EABBA-00002615
- MASK_ALPHA_TESTING
- MASK_ALBEDOMAP
- NORMAL_MAP_FORMAT 3CHANNEL
- MASK_ALLOW_FOG
- MASK_LIGHTING
- MASK_USED
- Custom material id 3E3EABBA
LightEnvShape attributes 00000000-B0000000
- use shadow map: no
- GPU perf class 2
- Large shadow map filter
- Non-MSAA


------------------------------------------------------------------------------------------------------------------------------

Une fois que les modifications ont été apportées au matérial et à ses éléments causant l'échec du shader [/b], vous devez soumettre à nouveau le mod et nous vérifierons si le problème a été résolu.

Espérons que cela clarifiera certaines choses pour vous moddeurs et vous facilitera la vie lorsque vous enverrez votre mod pour les consoles! :wink3:

Edit : Sujet copié du forum anglais et traduit par (Topic copied from english forum and translated by) Farmer1602, french moderator.
How to report a BUG | How to post a log file | How to upload images
User avatar
Rahkiin
Former GIANTS employee
Posts: 753
Joined: Tue Jan 17, 2017 12:45 pm

Re: Echecs Shader & Comment les résoudre

Post by Rahkiin »

Quelques détails de base sur la raison pour laquelle tout cela est un problème sur les consoles et non sur PC:

Les shaders sont des logiciels qui s'exécutent sur votre carte graphique. La plupart des jeux fonctionnant sur PC fournissent simplement le code source (les fichiers shader.xml dans notre cas), puis ils sont compilés (transformés en programmes) au démarrage du jeu ou lorsque le shader est nécessaire. L'importation ici est que le shader doit être construit pour chaque variation. Les variantes sont à la fois des configurations de shader (customShaderVariation) mais également les textures que vous utilisez et le format dans lequel elles sont. Par exemple, une maison ayant une texture DXT5 et une autre maison ayant une texture DXT1 correspondent à 2 compilations différentes en raison du canal alpha. (C’est aussi pourquoi vous devez utiliser le bon format!)

Maintenant, ce n'est pas un problème sur PC. Sur console, nous n’avons pas le droit de compiler des shaders (ni même des scripts. N'importe quoi, vraiment). Nous les construisons donc lorsque nous publions le jeu, puis mettons les programmes dans le jeu. Cela signifie cependant que toute configuration non utilisée dans le jeu ne peut pas non plus être utilisée par un mod. parce que ce n'est tout simplement pas disponible. S'il n'est pas disponible, il ne sera pas rendu et vous aurez ces gros écarts dans votre mod ou votre carte, comme vous le voyez dans l'article ci-dessus.Notre vérificateur de shader examine les combinaisons utilisées dans votre mod, les compare aux combinaisons utilisées dans le jeu, et s'il le trouve: OK. Si ce n'est pas le cas: Shader Fail.

Veillez donc à utiliser un format connu. Par exemple, vous ne pouvez pas ajouter de carte émissive aux drapeaux que nous avons utilisés dans la carte des États-Unis, car cette combinaison (flagShader, carte normale, albédo et émissif) n'existe pas. Pour ajouter un drapeau, examinez-le sur la carte des États-Unis ou de l'UE, ainsi que son format de matériau (une texture, une carte normale et un glossmap, dans ce cas).

J'espère que cela vous aidera à prévenir ces échecs et vous aidera également à comprendre pourquoi cela se produit.

Edit : traduit par ( translated by) Farmer1602, french moderator.
User avatar
Farmer1602
Moderator
Posts: 5202
Joined: Wed Oct 01, 2014 9:01 am
Location: Picardie (02)

Re: Echecs Shader & Comment les résoudre

Post by Farmer1602 »

Bonjour les moddeurs/mappeurs,

Ce sujet poté par x Lethian x et complété par Rahkiin (tous les deux du staff Giants) s'adresse à ceux qui auraient envie de proposer leurs mods ou leurs maps sur le modhub officiel.
Je l'ai trouvé en annonce sur le forum de modding anglais, et j'ai pris la liberté de le copier dans la partie Modding et Médias du forum francophone, et de le traduire.

Outre le fait qu'il s'adresse en premier lieu aux moddeurs, il n'est pas inintéressant pour les joueurs, en particuliers les joueurs consoles, qui comprendrons peut-être mieux les difficultés rencontrés pour qu'un mod passe les tests avec succès et se retrouvent sur consoles.

Je vous en souhaite une bonne lecture.

Cordialement
Farmer1602
Farmer1602 joueur sur PC
"Ce n'est pas parce qu'on vieillit qu'on arrête de jouer, mais c'est parce qu'on arrête de jouer qu'on vieillit."
Site Officiel
Consignes Pour publier son fichier LOG
Consignes Pour publier vos images sur le forum, lien du serveur gratuit de GIANTS
Guide pratique du Bugtracker Giants pour vos les Feedback.
Locked