Шейдер на отключенном объекте? - PullRequest
1 голос
/ 05 февраля 2020

enter image description here

Привет, народы единства Я обнаружил этот эффект (отключен серым), когда искал что-то на панели иерархии, мне это нравится! - Как можно добавить такой эффект к игровым объектам в игре? Есть ли какие-либо простые в реализации решения.

можно ли использовать то, что единство здесь делает в игре? например - на заблокированном элементе?

Я даже не уверен, что искать. Если это шейдер, или как это будет работать.

void OnItemEnabled()
{
?
}

Некоторые эксперименты до сих пор При использовании освещенного шейдера он, однако, теряет детали и, кажется, нуждается в способе вытягивания цветов из текущего шейдеры, чтобы поддерживать все детали A lit shader

Как бы я хотел, чтобы обезьяна выглядела в заблокированном состоянии

enter image description here

Я сделал шейдер оттенков серого ... но он немного темный. Не уверен, как его осветлить, чтобы он выглядел как "единство"

enter image description here

Мое окончательное решение здесь: шейдерный код здесь с ползунком для регулировки яркости:

enter image description here

Shader "Custom/GreyScale"
{
Properties
{
[PerRendererData] _MainTex("Base (RGB)", 2D) = "white" {}
_EffectAmount("Effect Amount", Range(0, 10)) = 1.0
}

SubShader{
Tags { "RenderType" = "Opaque" }
LOD 200

CGPROGRAM
#pragma surface surf Lambert

uniform float _EffectAmount;
sampler2D _MainTex;
struct Input {
float2 uv_MainTex;
};

void surf(Input IN, inout SurfaceOutput o) {
half4 c = tex2D(_MainTex, IN.uv_MainTex);
o.Albedo = (c.r + c.g + c.b) / 3 * _EffectAmount;
o.Alpha = c.a;
}
ENDCG
}
FallBack "Diffuse"
//Fallback "Transparent/VertexLit"
}

Мое решение здесь - код выше.

My solution here

Обмен материалов при разблокировке

Также я нашел это решение я решил только половину проблемы, я планировал поменять шейдеры (но нашел, что это нет-нет), так что мое решение для этого здесь Создание разблокируемого игрового актива, написание простого кл задница

с благодарностью N

...