Самописный шейдер - виснет Unity

Шейдеры и все-все-все.

Самописный шейдер - виснет Unity

Сообщение GSerge 11 июн 2018, 12:14

Здравствуйте! Помогите разобраться с самописным шейдером. Работает относительно нормально, но при выборе объекта с этим шейдером - Unity зависает..
Вот (http://rgho.st/6h7bBdmNw) пустой проект с этим шейдером. Объект "Cube", при его выборе зависает Unity.

Вот сам шейдер. Может тут есть какие-нибудь подозрительные моменты, которые могут "пакостить"?
Синтаксис:
Используется csharp
Shader "Shtamp/lsSkySphereSky"

{
        Properties{
                _Color("Main Color", Color) = (1,1,1,1)
                _MainTex("Base (RGB) Trans (A)", 2D) = "white" {}
        }

        Category{

                //ZWrite Off
                Alphatest Greater 0
                Tags{ "Queue" = "Transparent"  "RenderType" = "Transparent" }

                SubShader{
               
                        ColorMaterial AmbientAndDiffuse
                        Lighting On
                        Blend SrcAlpha OneMinusSrcAlpha
               
                        Pass{
                                FOG {Mode off}
                                ColorMask RGBA

                                SetTexture[_MainTex]{
                                Combine texture, texture * primary
                                // * primary
                                }

                                SetTexture[_MainTex]{
                                ConstantColor[_Color]
                                Combine constant * previous
                                }
                        }
                }
        }
                // Fallback to Alpha Vertex Lit
                Fallback "Transparent/VertexLit"
}
 
GSerge
UNец
 
Сообщения: 5
Зарегистрирован: 10 сен 2017, 07:56

Re: Самописный шейдер - виснет Unity

Сообщение jetyb 13 июн 2018, 07:45

Подозрительно только, что шейдер написан в устаревшем синтаксисе, который вроде как не должен поддерживаться новыми версиями unity.
jetyb
Адепт
 
Сообщения: 1327
Зарегистрирован: 31 окт 2011, 17:21

Re: Самописный шейдер - виснет Unity

Сообщение alt3d 13 июн 2018, 09:07

Первый раз слышу чтобы шейдер мог привести к зависанию программы.
Может дело таки не в нем, в самом объекте?
alt3d
Старожил
 
Сообщения: 671
Зарегистрирован: 04 сен 2011, 21:19
  • Сайт
  • ICQ

Re: Самописный шейдер - виснет Unity

Сообщение GSerge 13 июн 2018, 10:22

alt3d писал(а):Первый раз слышу чтобы шейдер мог привести к зависанию программы.
Может дело таки не в нем, в самом объекте?


Попробуйте, скачайте проект по ссылке выше. Создайте новый объект и добавьте на него этот шейдер. Или же просто создайте свой пустой проект и скачайте шейдер из моего.. и добавьте текстуру. Я тоже не понимаю почему виснет.. но это так((
GSerge
UNец
 
Сообщения: 5
Зарегистрирован: 10 сен 2017, 07:56

Re: Самописный шейдер - виснет Unity

Сообщение GSerge 13 июн 2018, 10:26

jetyb писал(а):Подозрительно только, что шейдер написан в устаревшем синтаксисе, который вроде как не должен поддерживаться новыми версиями unity.


Писал его по документации на сайте Unity.. Честно скажу - в шейдерах не бум бум(
Не могли бы вы переписать его в новом синтаксисе?
GSerge
UNец
 
Сообщения: 5
Зарегистрирован: 10 сен 2017, 07:56

Re: Самописный шейдер - виснет Unity

Сообщение alt3d 13 июн 2018, 11:02

GSerge писал(а):Попробуйте, скачайте проект по ссылке выше. Создайте новый объект и добавьте на него этот шейдер. Или же просто создайте свой пустой проект и скачайте шейдер из моего.. и добавьте текстуру. Я тоже не понимаю почему виснет.. но это так((


Лол, действительно падает из-за шейдера.
Проблема видимо во втором блоке SetTexture, если его закомментировать - все нормально работает.
Больше подсказать не могу, т.к. в этом ShaderLab вообще не разбираюсь
alt3d
Старожил
 
Сообщения: 671
Зарегистрирован: 04 сен 2011, 21:19
  • Сайт
  • ICQ


Вернуться в Shader Lab

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 3