【发布时间】:2017-05-01 15:42:38
【问题描述】:
我在 Unity 中创建了一个 photosphere 查看器并使用了自定义着色器 https://stackoverflow.com/a/37123903/2676299
一切看起来都很完美,除了在图像结束和开始连接的地方有一条 1px 的线。
(绝对不是图片)
有什么想法吗?
更新: 它似乎来自球体本身,而不是映射。我更改了着色器代码以移动坐标。
float2 sphereCoords = float2(lon, lat) * (1.0 / PI);
float2 sphereCoords = float2(lon**+0.2**, lat) * (1.0 / PI);
这会稍微旋转图像的投影,并将球体样条线与图像的开始/结束分开。现在我可以看到图像完美地结束了,工件仍然存在,但不在图像开始与结束的位置。这将问题隔离到球体本身(我猜)。我使用的是内置 Unity 球体,其默认设置未修改。
就好像相机可以看到从球体底部一直到顶部的半圆样条线。
【问题讨论】:
-
出于兴趣为什么要使用自定义着色器?
-
这是我能找到的将 equirectangular 图像映射到球体内部的唯一方法。你知道一个更好的方法来把它拉下来吗?我只是想创建一个简单的 VR 查看器...
-
您是否尝试过使用天空盒材质而不是球体?
-
Skybox 没有这个问题...工作正常。我在某处读到天空盒会限制您可以实现的保真度。我是 Unity 新手,但我的编码直觉告诉我,用球体完成这项工作更易于管理/模块化。不过谢谢!我又看了一眼天空盒,并将继续使用它...
标签: unity3d shader photosphere