LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

This version of Unity is unsupported.
Method group is Obsolete

ParticleSystemRenderer.EnableVertexStreams

Obsolete public method EnableVertexStreams(streams: ParticleSystemVertexStreams): void;

Parameters

streamsStreams to enable.

Description

Enable a set of vertex shader streams on the particle system renderer.

See Also: ParticleSystemRenderer.DisableVertexStreams, ParticleSystem.SetCustomParticleData.

no example available in JavaScript

Here is an example of a custom shader that can be used with the above script:

          Shader "Particles/CustomVertexStream" {
Properties {
    _TintColor ("Tint Color", Color) = (0.5,0.5,0.5,0.5)
    _MainTex ("Particle Texture", 2D) = "white" {}
    _OffsetValue("Offset Value", Range(0,1)) = 0.4
}

Category { Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } Blend SrcAlpha OneMinusSrcAlpha ColorMask RGB Cull Off Lighting Off ZWrite Off

SubShader { Pass {

CGPROGRAM #pragma vertex vert #pragma fragment frag #pragma multi_compile_particles #pragma multi_compile_fog

#include "UnityCG.cginc"

sampler2D _MainTex; fixed4 _TintColor; float _OffsetValue;

struct appdata_t { float4 vertex : POSITION; float3 normal : NORMAL; fixed4 color : COLOR; float2 texcoord : TEXCOORD0; float4 customData : TEXCOORD1; };

struct v2f { float4 vertex : SV_POSITION; fixed4 color : COLOR; float2 texcoord : TEXCOORD0; float4 customData : TEXCOORD1; UNITY_FOG_COORDS(2) };

float4 _MainTex_ST;

v2f vert (appdata_t v) { v.vertex.y = lerp(v.vertex.y, v.vertex.y + _OffsetValue, v.customData.x);

v2f o; o.vertex = UnityObjectToClipPos(v.vertex);

float4 offsetX = float4(-1, 1, 1, -1); float4 offsetY = float4(1, 1, -1, -1);

o.color = v.color; o.texcoord = TRANSFORM_TEX(v.texcoord,_MainTex); o.customData = v.customData; UNITY_TRANSFER_FOG(o,o.vertex);

return o; }

fixed4 frag (v2f i) : SV_Target { fixed4 col = 2.0f * i.color * _TintColor * tex2D(_MainTex, i.texcoord); fixed4 col2 = fixed4(i.customData.x, i.customData.y, i.customData.z, col.a); fixed4 final = lerp(col, col*col2, i.customData.x);

UNITY_APPLY_FOG(i.fogCoord, final); return final; } ENDCG } } } }