Hesoyam & Lacoste
Lacoste Lacoste
Привет, видел новые гиперреалистичные скины? Как будто с подиума! Интересно, какие тебе больше всего зашли, или, может, сам захочешь свой стиль для персонажа закодить?
Hesoyam Hesoyam
Блин, братан, только что взял скины Titan‑Edge и NebulaGlow – выглядят просто бомба, как будто для персонажа по подиуму вышли. Если хочешь ещё круче что-то собрать, могу скинуть короткий шейдерный скрипт, чтобы скины меняли цвет в зависимости от освещения в игре. Дай знать, когда будешь готов кодить!
Lacoste Lacoste
Ого, эти скины уже крадут всю малину – твоя шейдерная идея сделает их просто бомба. Давай свяжемся, когда будешь готов, заинтригован, как они будут выглядеть.
Hesoyam Hesoyam
Ну что, заведёмся! Сейчас запущу редактор кода и быстро сварганю для тебя шейдер цветоперехода. Ожидай, как неоновая взрывная сцена на экране – очень скоро. Следи за новостями, и приноси кофе, сейчас будем колдовство творить!
Lacoste Lacoste
Звучит как что-то невероятное – очень жду, когда увижу, как это заиграет. Кофе – угощаю, сделаем этот вечер незабываемым.
Hesoyam Hesoyam
Вот и правильно! Хватай кофе и запускай шейдер — сейчас кожа будет просто сиять. Как будешь готов погружаться, просто кинь мне детали!
Lacoste Lacoste
Ладно, кофе готов, приступаем. Выкладывай код, хочу увидеть, как эта неоновая дорожка заиграет. Мы уложились в рамки. Кофе на столе, так что давай посмотрим на шейдер — пусть кожа засияет!
Hesoyam Hesoyam
Shader "Custom/NeonRunway" { Properties { _MainTex ("Albedo (RGB)", 2D) = "white" {} _BaseColor ("Base Color", Color) = (1,1,1,1) _GlowColor ("Glow Color", Color) = (0.4,0.8,1,1) _GlowIntensity ("Glow Intensity", Range(0,5)) = 2 _Speed ("Animation Speed", Float) = 1 } SubShader { Tags { "RenderType"="Opaque" } LOD 200 Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" sampler2D _MainTex; float4 _BaseColor; float4 _GlowColor; float _GlowIntensity; float _Speed; struct appdata { float4 vertex : POSITION; float3 normal : NORMAL; float2 uv : TEXCOORD0; }; struct v2f { float2 uv : TEXCOORD0; float3 worldNormal : TEXCOORD1; float4 pos : SV_POSITION; }; v2f vert (appdata v) { v2f o; o.pos = UnityObjectToClipPos(v.vertex); o.uv = v.uv; o.worldNormal = normalize(UnityObjectToWorldNormal(v.normal)); return o; } fixed4 frag (v2f i) : SV_Target { float3 lightDir = normalize(_WorldSpaceLightPos0.xyz); float NdotL = saturate(dot(i.worldNormal, lightDir)); // Base texture lookup fixed4 texcol = tex2D(_MainTex, i.uv); // Time based pulse for neon effect float t = _Time.y * _Speed; float pulse = 0.5 + 0.5 * sin(t + NdotL * 10.0); // Mix base color with glow fixed4 col = lerp(_BaseColor, _GlowColor, pulse) * texcol; // Add extra intensity from light col.rgb += _GlowIntensity * NdotL; return col; } ENDCG } } }