2017-05-01 3 views
3

J'ai créé une visionneuse photosphère dans l'unité et utilisé un shader sur mesure selon https://stackoverflow.com/a/37123903/2676299Unité photosphère - il y a une ligne de 1px apearing

Tout semble parfait, sauf qu'il ya un droit de ligne de 1px à où la fin d'image & début joindre.

(Ses pas de l'definitly image)

Toutes les idées?

Mise à jour: Il semble provenir de la sphère elle-même, et non la cartographie. J'ai changé le code du shader pour déplacer les coordonnées.

float2 sphereCoords = float2(lon, lat) * (1.0/PI); 
float2 sphereCoords = float2(lon**+0.2**, lat) * (1.0/PI); 

Ce fait tourner la projection de l'image un peu et sépare les cannelures de la sphère dès le début/fin d'image. Maintenant, je peux voir les extrémités de l'image se rencontrer parfaitement et l'artefact est toujours là, mais pas à l'endroit où l'image commence à la fin. Cela isole le problème de la sphère elle-même (je suppose). J'utilise la sphère Unity intégrée avec ses paramètres par défaut non modifiés.

Il est comme si une cannelure demi-cercle allant du bas jusqu'au sommet de la sphère est visible à la caméra.

enter image description here

+0

pourquoi voulez-vous utiliser un shader personnalisé par intérêt? – lockstock

+0

C'est la seule façon que j'ai pu trouver pour mapper une image équirectangulaire à l'intérieur d'une sphère. Connaissez-vous une meilleure façon de le retirer? J'essaye juste de créer un simple visionneur de VR ... – user2676299

+0

Avez-vous essayé d'employer un matériel de skybox au lieu d'une sphère? – lockstock

Répondre

1

Cela peut se produire lorsque vous avez la texture set 'Mode Wrap' à répéter au lieu de Clamp. Répéter répétera les textures exactement comme elles sont, Clamp essayera d'aligner les pixels de bord aux textures voisines afin qu'il y ait une transition douce, ce qui est presque certainement ce que vous voulez pour une photo-sphère.

+0

Je l'ai essayé, non. Merci quand même. J'ai édité/ajouté de nouvelles informations à la question. – user2676299