एकता में वीएचएस टेप फ़िल्टर प्रभाव बनाना
खेल विकास के क्षेत्र में, रेट्रो दृश्यों के उदासीन सार को पकड़ना एक लोकप्रिय चलन बन गया है। एक प्रतिष्ठित दृश्य शैली जो दर्शकों को आकर्षित करती रहती है वह है वीएचएस टेप फ़िल्टर प्रभाव। यह प्रभाव पुराने वीएचएस टेपों की एनालॉग खामियों का अनुकरण करता है, जो उन लोगों के लिए पुरानी यादों की भावना पैदा करता है जो वीसीआर और वीडियो कैसेट के युग में बड़े हुए हैं। इस प्रभाव को Unity में लागू करने से आपके गेम में विसर्जन की एक अतिरिक्त परत जुड़ सकती है, जो अतीत की याद दिलाती है।
Unity में वीएचएस टेप फ़िल्टर प्रभाव प्राप्त करने के लिए, हम दृश्यों में हेरफेर करने के लिए शेडर्स का उपयोग करेंगे। शेडर्स जीपीयू पर ग्राफिक्स के वास्तविक समय में हेरफेर की अनुमति देते हैं, जिससे वे वीएचएस विरूपण और गड़बड़ी जैसे प्रभाव पैदा करने के लिए आदर्श बन जाते हैं। नीचे, मैं आपके Unity प्रोजेक्ट में इस प्रभाव को लागू करने के चरणों के बारे में आपका मार्गदर्शन करूंगा।
1. परियोजना की स्थापना
कोड में जाने से पहले, सुनिश्चित करें कि आपके पास Unity प्रोजेक्ट सेट अप है। एक नया प्रोजेक्ट बनाएं या मौजूदा प्रोजेक्ट खोलें जहां आप वीएचएस टेप फ़िल्टर प्रभाव लागू करना चाहते हैं।
2. शेडर बनाना
सबसे पहले, हम वीएचएस प्रभाव को संभालने के लिए एक नया शेडर बनाएंगे। अपनी प्रोजेक्ट विंडो में राइट-क्लिक करें, और 'Create -> Shader -> Unlit Shader' पर नेविगेट करें। शेडर को VHStapeEffect जैसा कुछ नाम दें।
नव निर्मित शेडर फ़ाइल खोलें। हम वीएचएस टेप प्रभाव प्राप्त करने के लिए दृश्यों में हेरफेर करने के लिए कोड जोड़ेंगे। नीचे एक शेडर का एक मूल उदाहरण है जो वीएचएस टेप प्रभाव को अनुकरण करने के लिए विरूपण, पिक्सेलेशन, शोर और ओवरले जोड़ता है:
Shader "Custom/VHSTapeEffect"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_DistortionStrength ("Distortion Strength", Range(0, 1)) = 0.1
_NoiseStrength ("Noise Strength", Range(0, 1)) = 0.2
}
SubShader
{
Tags { "Queue"="Overlay" "RenderType"="Opaque" }
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
float _DistortionStrength;
float _NoiseStrength;
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv;
return o;
}
fixed4 frag (v2f i) : SV_Target
{
float2 uv = i.uv;
uv += sin(uv * 500) * _DistortionStrength;
uv += (frac(sin(dot(uv, float2(12.9898, 78.233))) * 43758.5453) - 0.5) * _NoiseStrength;
fixed4 col = tex2D(_MainTex, uv);
return col;
}
ENDCG
}
}
}
3. शेडर लगाना
किसी सामग्री पर शेडर लगाने के लिए, नई सामग्री बनाने के लिए, या मौजूदा सामग्री का उपयोग करने के लिए। "VHSTapeEffect" शेडर को सामग्री के शेडर स्लॉट पर खींचें।
4. कैमरे पर छवि प्रभाव लागू करें
एक नया खाली गेम ऑब्जेक्ट बनाएं और उसमें एक स्क्रिप्ट संलग्न करें। स्क्रिप्ट में, निम्नलिखित कोड जोड़ें:
using UnityEngine;
[RequireComponent(typeof(Camera))]
public class VHSTapeEffectController : MonoBehaviour
{
public Material VHSMaterial;
void OnRenderImage(RenderTexture source, RenderTexture destination)
{
Graphics.Blit(source, destination, VHSMaterial);
}
}
- इस स्क्रिप्ट को खाली गेम ऑब्जेक्ट में संलग्न करें, और आपके द्वारा बनाई गई सामग्री को स्क्रिप्ट इंस्पेक्टर में "VHSMaterial" फ़ील्ड में असाइन करें।
5. अपने दृश्य का परीक्षण करें
अंत में, Unity में प्ले दबाएं और कैमरे के माध्यम से अपने दृश्य पर लागू वीएचएस टेप प्रभाव का निरीक्षण करें।
निष्कर्ष
इन चरणों के साथ, आपने Unity में वीएचएस टेप फ़िल्टर प्रभाव को सफलतापूर्वक लागू कर दिया है। अपने गेम के पुराने ज़माने के माहौल को और बेहतर बनाने के लिए विभिन्न सेटिंग्स और अतिरिक्त सुविधाओं के साथ प्रयोग करें।