Спрайты пакета ресурсов Unity3D / проблема с шейдером по умолчанию - PullRequest
0 голосов
/ 12 сентября 2018

Я обновил свое единство с 5.5.2f1 до 5.5.5p2, после сборки моей первой сборки все ресурсы, содержащие средства визуализации спрайтов, где шейдер «спрайты / по умолчанию», загружены из облака (которые отлично работали насборки из более ранней версии) выглядят странно, как черт - они либо размазаны, продублированы, прозрачны и более странные аномалии, которые я, честно говоря, не могу объяснить ... Я сузил их до проблемы только с ресурсами, загруженными из пакетов (какте, что поставляются с базовым приложением, работают отлично) и только на Android и Amazon (IOS вроде бы в порядке).Я попытался создать все пакеты с нуля с помощью новой версии Unity, предполагая, что это может быть своего рода несоответствие между версией сборки и версией, в которую были встроены пакеты, но это не помогло ... добавление некоторых изображений для показапроблема:

при загрузке из комплекта (загружается фон, который по какой-то причине теперь красный, и загружается прозрачный оверлейный экран) when downloaded from bundle (the background which is now red for some reason is downloaded, and the transparent overlay screen is downloaded)

какна самом деле он должен выглядеть, и как он выглядит, если не загружен из пакета.how it should actually look, and how it looks when not downloaded from bundle.

Я также добавлю, что искаженные изображения являются изображениями с использованием спрайтов по умолчанию / шейдера по умолчанию, кроме того, символы на доске вместе с зеленым дракономГоловки на самом деле хорошо отображаются, хотя они и загружаются, но используют другой пользовательский шейдер.Это происходит на каждом устройстве Android / Amazon, на котором я его тестировал с тех пор, как обновил Unity.Кто-нибудь знает, что может вызвать такое странное поведение?

1 Ответ

0 голосов
/ 13 сентября 2018

Так что этот ответ не является надежным, но он действительно решил мою проблему, поскольку я не мог на всю жизнь понять, что вызвало это.Чтобы это исправить, я обновил Unity до версии 5.6.4p3 и перегрузил все пакеты в облако.Единственное автоматическое изменение, которое было внесено в мой проект после обновления, заключалось в том, что все шейдеры изменили одну из строк:
эта строка:
o.pos = mul (UNITY_MATRIX_MVP, v.vertex);
изменилось в этой строке:
o.pos = UnityObjectToClipPos (v.vertex);

по какой-то причине, которая сделала трюк, и я, честно говоря, почти нулевые знанияв шейдерах, что дает мне возможность ответить на вопрос, что послужило причиной этого несуществующего.

...